This changes the logic in deploy_daemon_units() to add either `chown` calls
for simple (ceph-disk style) OSDs, or to add `ceph-volume lvm activate` calls
for LVM OSDs, rather than always adding both. When I was working on
https://github.com/ceph/ceph/pull/34703, I'd originally added an "osd_simple"
flag to figure out what type of OSD was being adopted/deployed, but passing
that around was kinda ugly, so was removed from that PR. This time around
I'm checking if /etc/ceph/osd/$OSD_ID-$OSD_FSID.json.adopted-by-cephadm
exists, which seems pretty safe IMO. My only concern with this method is:
what happens if someone adopts a simple OSD, then later wants to migrate it
to LVM. Presumably that's a destroy and recreate, keeping the same OSD ID?
If that's true, then the JSON file probably still exists, so the subsequent
create will do the wrong thing, i.e. will add `chown` calls, not `ceph-volume
lvm activate` calls. Any/all feedback appreciated...
Fixes: https://tracker.ceph.com/issues/46833
Signed-off-by: Tim Serong <tserong@suse.com>
python-common: don't assert when building rados url
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
common/HeartbeatMap: use std::atomic<time_point> for timeout
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Intents to fix the crushmap viewer tree children getting compressed vertically when more osd's are added.
Fixes: https://tracker.ceph.com/issues/46826
Signed-off-by: Nizamudeen A <nia@redhat.com>
My resons are:
* This increase mypy coverage
* Makes the code more discoverable.
* Allowes us to have intelligent UpgradeState properties
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
before this change, we were using
local_conf().get_val<std::string>(var);
for reading a setting when serving a "config get" command even if the
setting being queried is a non-string. so without this change, a failure
is returned complaining "unrecognized option..."
in this change:
* use get_val(string,string*) for querying the string representation
of the queried setting
* drop the check for existence of "var" parameter, validate_cmd()
always take care of this.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Fixes the following error when exporting a pool that contains objects
with a locator key set:
error getting xattr set [object name]: (2) No such file or directory
error from export: (2) No such file or directory
Fixes: https://tracker.ceph.com/issues/46824
Signed-off-by: Iain Buclaw <iain.buclaw@dunnhumby.com>
use memory_order_relaxed instead of memory_order_seq_cst, as the
ordering of storing of `timeout` and `suicide_timeout` does not matter,
and we don't need to synchorinize the cache for the consistent memory
view of local core. what we need is but the atomic read/write operation
of these individual variables.
Signed-off-by: Kefu Chai <kchai@redhat.com>
The API call is a task and the response status is determined by whether
the call is completed within a pre-defined duration (2 seconds) or not.
We should also allow the status when the call takes longer.
Fixes: https://tracker.ceph.com/issues/46812
Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
when applying a placement of '1' for mon, mgr, rbd-mirror, crash, alertmanager, grafana, node-exporter, prometheus, or mds a dry-run was activated
Fixes: https://tracker.ceph.com/issues/46819
Signed-off-by: Daniel-Pivonka <dpivonka@redhat.com>