for picking an addr from an entity_addrvec_t by given protocol type.
so:
- v2 => v2, any
- v1 => v1, any
- any => any, v1, v2
and add a helper of `addr_of_type()` to avoid repeatings.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Having an in-memeory list doesn't work properly: Especially
when loading the mgr module, we didn't knwo if we should
deploy confs or not.
Now we only distribute ceph.confs, if there is a new mon_map.
We also store that info now in the config store
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
True RADOS objects have a uint64_t objver associated, increasing upon each write.
This commit adds the same for librados_test_stub objects.
Signed-off-by: Or Ozeri <oro@il.ibm.com>
Currently when we deploy ceph-iscsi via cephadm it doesn't include a
running tcmu-runner. Which means initiators will be able to login but
you wont see the LUNS on the initiator.
This patch deploys an additional tcmu-runner container along side the
ceph-iscsi container that just runs the tcmu-runner service.
Fixes: https://tracker.ceph.com/issues/46540
Signed-off-by: Matthew Oliver <moliver@suse.com>
Recent RocksDB version use slightly different parameter names for
the LZ4 include/lib dirs, we'll have to pass the right ones.
We'll also have to fix the "CMAKE_TOOLCHAIN_FILE" parameter,
which isn't passed properly.
Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
Octopus has been out for awhile. I suppose this should have been done
earlier, but "better late than never".
Signed-off-by: Nathan Cutler <ncutler@suse.com>
There was a potential race condition with utilizing the AsioEngine
to deliver asynchronous image open and close callbacks. This left
the potential for the io_context thread to attempt to destroy itself.
This commit changes the behavior of the image open and close callbacks
to always delete the ImageCtx (now matches the synchronous API behavior)
and it always invokes the callback in Finisher thread whose lifetime is
tied to the CephContext.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
O_CLOEXEC is not available on Windows. Subprocesses do not inherit
handles unless explicitly requested when creating the handle.
That being considered, we'll avoid setting this flag on Windows.
The zfs check will also be skipped for now.
Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
O_NOFOLLOW and O_DIRECTORY are not available on Windows.
We'll just skip those flags for now when converting flags.
Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
2f5c10c12c introduced a bug:
`ceph-volume lvm zap` command fails under certain conditions.
when passing `--osd-id` or `--osd-fsid` to `ceph-volume lvm zap` command
it tries to zap additionnal devices that have nothing to do with the osd
being zapped.
When calling `api.get_lvs()` in `ensure_associated_lvs()` we have to
pass the osd-id/osd-fsid information so only related devices are
returned by `get_lvs()` method
Closes: https://tracker.ceph.com/issues/46627
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
alienstore should not be stateful in this perspective, it should proxy
all acccess of fsid to bluestore.
there are couple issues in existing implementation:
* when mkfs, bluestore tries to generate a new osd_fsid if the specified
one is empty. but we explicitly pass the given uuid down to
AlienStore::mkfs() so the bluestore can use it. so we should pass it
down instad of storing it locally.
* when persisting superblock in OSD::mkfs(), superblock.osd_fsid() is
read from store->get_fsid(), if user specifies an empty uuid, we
should persist the generated uuid in the superblock.
in this change, all access to fsid is proxied to the underlying
bluestore.
Signed-off-by: Kefu Chai <kchai@redhat.com>
osd sends a MOSDMarkMeDown message to monitor and waits for its ack
before timeout, so if we can stop osd before stopping mon, stop.sh can
return sooner without waiting until the timeout.
Signed-off-by: Kefu Chai <kchai@redhat.com>
to avoid the attempts to connect an OSD which is bound to a v2
address to a v1 address of a mgr.
in general, osd is bound to both v1 and v2 addresses, but crimson
msgr does not support multiple bound address at the time of writing, so
to avoid the failures when trying to connect to incompatible addresses,
let's filter out them when connecting to monitor. this change
silence warnings like:
peer_addr_for_me v1:172.21.15.106:60008/0 type doesn't match myaddr
v2:0.0.0.0:6802/26710
Signed-off-by: Kefu Chai <kchai@redhat.com>
to avoid the attempts to connect an OSD which is bound to a v2 address
to a v1 addrss of a monitor.
in general, osd is bound to both v1 and v2 addresses, but crimson msgr
does not support multiple bound address at the time of writing, so to
avoid the failures when trying to connect to incompatible addresses,
let's filter out them when connecting to monitor. this change silence
warnings like:
peer_addr_for_me v1:172.21.15.106:60008/0 type doesn't match myaddr
v2:0.0.0.0:6802/26710
Signed-off-by: Kefu Chai <kchai@redhat.com>
by leveraging FrameAssembler, it's much simpler. and it also pave the
road to a better messenger v2.0 and v2.1 protocol support.
Signed-off-by: Kefu Chai <kchai@redhat.com>