summaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* rgw: remove unnecessary #include "rgw_rados.h"Kaleb S. KEITHLEY2020-08-1032-32/+2
| | | | | | | | rgw_rados.h not needed for compile see https://tracker.ceph.com/issues/46880 Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
* Merge pull request #36492 from ↵Sebastian Wagner2020-08-071-0/+9
|\ | | | | | | | | | | ricardoasmarques/prevent-unnecessary-ssh-reconfiguration mgr/cephadm: Prevent unnecessary SSH reconfiguration
| * mgr/cephadm: Prevent unnecessary SSH reconfigurationRicardo Marques2020-08-061-0/+9
| | | | | | | | | | | | | | When 'set-user', 'set-pub-key' or 'set-priv-key' are called two times with the same value, we can ignore the second call. Signed-off-by: Ricardo Marques <rimarques@suse.com>
* | Merge pull request #36481 from tchaikov/wip-remove-BatchWorkQueueKefu Chai2020-08-071-79/+0
|\ \ | | | | | | | | | | | | common/WorkQueue: remove unused BatchWorkQueue Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
| * | common/WorkQueue: remove unused BatchWorkQueueKefu Chai2020-08-051-79/+0
| | | | | | | | | | | | | | | | | | | | | we are using ShardedWQ for handling peering events. and PeeringWQ was the only user of BatchWorkQueue. so let's remove the latter. Signed-off-by: Kefu Chai <kchai@redhat.com>
* | | Merge pull request #36488 from lxbsz/libradosJason Dillaman2020-08-071-0/+1
|\ \ \ | | | | | | | | | | | | | | | | librados: add LIBRADOS_SUPPORTS_GETADDRS support Reviewed-by: Jason Dillaman <dillaman@redhat.com>
| * | | librados: add LIBRADOS_SUPPORTS_GETADDRS supportXiubo Li2020-08-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will be very helpful when release ceph package(like RPM) with backporting rados_getaddrs() api to previous version. In tcmu-runner we need to check whether the rados_getaddrs() is support or not. Fixes: https://tracker.ceph.com/issues/46842 Signed-off-by: Xiubo Li <xiubli@redhat.com>
* | | | Merge pull request #36480 from ↵Jason Dillaman2020-08-071-2/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | wjwithagen/wjw-fix-scope-ParentCacheObjectDispatch.cc librbd/cache: Fix scoping issue with lambda capture renaming Reviewed-by: Jason Dillaman <dillaman@redhat.com>
| * | | | librbd/cache: Fix scoping issue with lambda capture renamingWillem Jan Withagen2020-08-061-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang complains: /home/jenkins/workspace/ceph-master-compile/src/librbd/cache/ParentCacheObjectDispatch.cc:97:66: error: 'object_off' in capture list does not name a variable ([this, read_data, dispatch_result, on_dispatched, object_no, object_off, ^ /home/jenkins/workspace/ceph-master-compile/src/librbd/cache/ParentCacheObjectDispatch.cc:98:6: error: 'object_len' in capture list does not name a variable object_len, snap_id, &parent_trace](ObjectCacheRequest* ack) { ^ /home/jenkins/workspace/ceph-master-compile/src/librbd/cache/ParentCacheObjectDispatch.cc:99:41: error: reference to local binding 'object_off' declared in enclosing function 'librbd::cache::ParentCacheObjectDispatch::read' handle_read_cache(ack, object_no, object_off, object_len, snap_id, ^ /home/jenkins/workspace/ceph-master-compile/src/librbd/cache/ParentCacheObjectDispatch.cc:81:9: note: 'object_off' declared here auto [object_off, object_len] = extents.front(); ^ /home/jenkins/workspace/ceph-master-compile/src/librbd/cache/ParentCacheObjectDispatch.cc:99:53: error: reference to local binding 'object_len' declared in enclosing function 'librbd::cache::ParentCacheObjectDispatch::read' handle_read_cache(ack, object_no, object_off, object_len, snap_id, ^ /home/jenkins/workspace/ceph-master-compile/src/librbd/cache/ParentCacheObjectDispatch.cc:81:21: note: 'object_len' declared here auto [object_off, object_len] = extents.front(); ^ /home/jenkins/workspace/ceph-master-compile/src/librbd/cache/ParentCacheObjectDispatch.cc:99:41: error: reference to local binding 'object_off' declared in enclosing function 'librbd::cache::ParentCacheObjectDispatch<librbd::ImageCtx>::read' handle_read_cache(ack, object_no, object_off, object_len, snap_id, ^ /home/jenkins/workspace/ceph-master-compile/src/librbd/cache/ParentCacheObjectDispatch.cc:242:31: note: in instantiation of member function 'librbd::cache::ParentCacheObjectDispatch<librbd::ImageCtx>::read' requested here template class librbd::cache::ParentCacheObjectDispatch<librbd::ImageCtx>; ^ /home/jenkins/workspace/ceph-master-compile/src/librbd/cache/ParentCacheObjectDispatch.cc:81:9: note: 'object_off' declared here auto [object_off, object_len] = extents.front(); ^ /home/jenkins/workspace/ceph-master-compile/src/librbd/cache/ParentCacheObjectDispatch.cc:99:53: error: reference to local binding 'object_len' declared in enclosing function 'librbd::cache::ParentCacheObjectDispatch<librbd::ImageCtx>::read' handle_read_cache(ack, object_no, object_off, object_len, snap_id, ^ /home/jenkins/workspace/ceph-master-compile/src/librbd/cache/ParentCacheObjectDispatch.cc:81:21: note: 'object_len' declared here auto [object_off, object_len] = extents.front(); ^ 6 errors generated. fixes: https://github.com/ceph/ceph/pull/36145 Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
* | | | | Merge pull request #36427 from bk201/wip-46761Lenz Grimmer2020-08-072-11/+21
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mgr/dashboard: Fix host attributes like labels are not returned Reviewed-by: Alfonso Martínez <almartin@redhat.com> Reviewed-by: Tatjana Dehler <tdehler@suse.com> Reviewed-by: Volker Theile <vtheile@suse.com>
| * | | | | mgr/dashboard: Fix host attributes like labels are not returnedKiefer Chang2020-08-032-11/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem only happens when a host is reported both from Ceph and the Orchestrator. There is an error on merging Ceph hosts with Orchestrator hosts. The unit test is refined to test this case. Fixes: https://tracker.ceph.com/issues/46761 Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
* | | | | | Merge pull request #36373 from varshar16/wip-update-orch-doc-strSebastian Wagner2020-08-071-2/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mgr/orchestrator: Update docstring of service_action method Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com> Reviewed-by: Stephan Müller <smueller@suse.com>
| * | | | | | mgr/orchestrator: Update service_action() docstringVarsha Rao2020-08-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Varsha Rao <varao@redhat.com>
* | | | | | | Merge pull request #36447 from sebastian-philipp/mgr-cephadm-kill--refreshSebastian Wagner2020-08-072-26/+43
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | mgr/cephadm: Make `ceph orch * --refresh` asynchronous Reviewed-by: Joshua Schmid <jschmid@suse.de> Reviewed-by: Michael Fritch <mfritch@suse.com>
| * | | | | | mgr/cephadm: module.py: PEP8tify `ceph orch * ls`Sebastian Wagner2020-08-051-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
| * | | | | | mgr/cephadm: Make `ceph orch * --refresh` asynchronousSebastian Wagner2020-08-052-25/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is just no way we can allow those calls to be synchornous: * All CLI commands are blocked, till the refresh completes. * ^C doesn't help at all, as it just kills the client Therefore they have to be scheduled in the bg. Fixes: https://tracker.ceph.com/issues/46813 Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
* | | | | | | Merge PR #36501 into masterPatrick Donnelly2020-08-073-1/+12
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refs/pull/36501/head: qa: add tests for mds_min_caps_working_set mds: add working set minimum for caps qa: use config_set/config_get qa: do not append file names to dirname qa: add exception for test timeouts Reviewed-by: Douglas Fuller <dfuller@redhat.com>
| * | | | | | | mds: add working set minimum for capsPatrick Donnelly2020-08-073-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A client may hold many inodes pinned in its cache for open files. That client may be unable to release those caps to respond to cache pressure from the MDS (or quiescent client cap recall). We should not complain if that number of capabilities is reasonable (< 10k by default). Fixes: https://tracker.ceph.com/issues/46830 Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
* | | | | | | | Merge PR #36504 into masterPatrick Donnelly2020-08-071-0/+62
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refs/pull/36504/head: qa: log entrance/exit into the volumes plugin qa: add debug client for volumes plugin qa Reviewed-by: Venky Shankar <vshankar@redhat.com>
| * | | | | | | | qa: log entrance/exit into the volumes pluginPatrick Donnelly2020-08-071-0/+62
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: https://tracker.ceph.com/issues/46851 Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
* | | | | | | | Merge PR #36503 into masterPatrick Donnelly2020-08-072-1/+2
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refs/pull/36503/head: client: use non-static dirent for thread-safety Reviewed-by: Venky Shankar <vshankar@redhat.com>
| * | | | | | | | client: use non-static dirent for thread-safetyPatrick Donnelly2020-08-062-1/+2
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: https://tracker.ceph.com/issues/46832 Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
* | | | | | | | Merge pull request #36361 from tchaikov/wip-common-config-refactorKefu Chai2020-08-077-110/+117
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | common/config: refactor md_config_t::parse_config_files() Reviewed-by: Josh Durgin <jdurgin@redhat.com> Reviewed-by: Neha Ojha <nojha@redhat.com>
| * | | | | | | common/config: extract check_old_style_section_names()Kefu Chai2020-08-013-22/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | extract check_old_style_section_names() out from md_config_t::parse_config_files() into ConfFile class. for two reasons: * so it can be reused * for smaller md_config_t::parse_config_files(), hence better readability Signed-off-by: Kefu Chai <kchai@redhat.com>
| * | | | | | | common/config: extract get_cluster_name()Kefu Chai2020-08-012-24/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for two reasons * to consolidate the rules for figuring out the cluster name * to reuse it in another implementation of parse_config_files(), crimson will need to restructure the existing parse_config_files(), and implement an async version of it. Signed-off-by: Kefu Chai <kchai@redhat.com>
| * | | | | | | common: let get_my_sections() return the section namesKefu Chai2020-08-015-28/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of passing the output parameter just let it return the section names. C++17 enfoces the copy elision in this case, so no need to pass the output parameter for saving the overhead of creating an temporary object and copying it. Signed-off-by: Kefu Chai <kchai@redhat.com>
| * | | | | | | common/config: extract get_conffile_paths() outKefu Chai2020-08-012-41/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | md_config_t::parse_config_files() performs blocked i/o, and it might be detected by the stall detector of seastar, and it spills out warning messages when it sees the hang. so i plan to implement an asynchronized parse_config_files() for crimson, and reuse the synchronized part from the blocking implementation of parse_config_files(). this is the first step. Signed-off-by: Kefu Chai <kchai@redhat.com>
| * | | | | | | common/config: drop unused function declarationKefu Chai2020-08-011-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Kefu Chai <kchai@redhat.com>
* | | | | | | | Merge pull request #36426 from sebastian-philipp/cephadm-redeploy-imageSebastian Wagner2020-08-067-36/+59
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mgr/cephadm, Add --image to `ceph orch redeploy <what>` Reviewed-by: Joshua Schmid <jschmid@suse.de>
| * | | | | | | | mgr/cephadm: Refactor upgrade to call _daemon_action with new imageSebastian Wagner2020-08-061-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
| * | | | | | | | mgr/cephadm, Add --image to `ceph orch daemon redeploy <what>`Sebastian Wagner2020-08-066-29/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
* | | | | | | | | Merge pull request #36445 from rhcs-dashboard/crushmap_fixLenz Grimmer2020-08-061-0/+7
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mgr/dashboard: Fix for CrushMap viewer items getting compressed vertically Reviewed-by: Alfonso Martínez <almartin@redhat.com> Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
| * | | | | | | | mgr/dashboard: Fix for CrushMap viewer items getting compressed verticallyNizamudeen A2020-08-041-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | | | | | Merge pull request #36490 from tchaikov/wip-crimson-zero-opKefu Chai2020-08-065-6/+44
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | crimson/osd: support CEPH_OSD_OP_ZERO op and cls_cxx_write_zero() Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
| * | | | | | | | crimson/osd: support cls_cxx_write_zero()Kefu Chai2020-08-061-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Kefu Chai <kchai@redhat.com>
| * | | | | | | | crimson/osd: support CEPH_OSD_OP_ZERO opKefu Chai2020-08-063-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Kefu Chai <kchai@redhat.com>
| * | | | | | | | crimson/admin: drop stale commentKefu Chai2020-08-061-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the UNIX domain socket file was removed in 71c08cb02eb6c0f8220c0cf4b82332398b25de2c Signed-off-by: Kefu Chai <kchai@redhat.com>
* | | | | | | | | Merge pull request #36455 from rzarzynski/wip-crimson-ops_executer-cleanupsKefu Chai2020-08-063-47/+56
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | crimson/osd: don't reset osd_op_params.clean_regions. Clean-up OpsExecuter Reviewed-by: Kefu Chai <kchai@redhat.com>
| * | | | | | | | crimson/osd: spawn osd_op_params in do_write_op(). Fix overriding.Radoslaw Zarzynski2020-08-062-10/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit deduplicates the `OpsExexuter::do_osd_op()` by moving `std::optional`-typed `osd_op_params` instantiation to `do_write_op()`. It also fixes an issue where `clean_regions` of `osd_op_params` were reset on every write, writefull or truncate. Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
| * | | | | | | | crimson/osd: instantiate osd_op_params for every write.Radoslaw Zarzynski2020-08-062-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This simplifies the logic of `OpsExecuter::flush_changes()` and enables for moving the instantiation code to `do_write_op()` in the future. The performance impact seems negligible as the affected ops are not the ones dominating in our expected workload (read/write, omap). Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
| * | | | | | | | crimson/osd: delegate the txn.empty() dispatch to OpsExecuter.Radoslaw Zarzynski2020-08-062-43/+54
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The benefit is no need to instantiate `osd_op_params` when only non-modifying operation had been handled. Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
* | | | | | | | Merge pull request #35947 from orozery/crypto_object_dispatch_layerJason Dillaman2020-08-058-0/+613
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | librbd: add a crypto object dispatch layer Reviewed-by: Jason Dillaman <dillaman@redhat.com>
| * | | | | | | | librbd: add a crypto object dispatch layerOr Ozeri2020-08-058-0/+613
| | |_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a new object dispatch layer to enable encryption of RBD images. Signed-off-by: Or Ozeri <oro@il.ibm.com>
* | | | | | | | Merge pull request #36474 from linuxbox2/wip-rgwlc-structvMatt Benjamin2020-08-051-3/+3
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / |/| | | | | | | rgwlc: fix conditional decode of legacy lc op structures
| * | | | | | | rgwlc: fix conditional decode of legacy lc op structuresMatt Benjamin2020-08-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the case where an upgraded radosgw operates on an unupgraded OSD, so likely these cases do not execute. Fixes: https://tracker.ceph.com/issues/46838 Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
* | | | | | | | Merge pull request #36444 from ↵Sebastian Wagner2020-08-051-56/+99
|\ \ \ \ \ \ \ \ | |_|_|_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sebastian-philipp/cephadm-upgrade-upstradestate-class mgr/cephadm: Add UpgradeState class Reviewed-by: Joshua Schmid <jschmid@suse.de> Reviewed-by: Michael Fritch <mfritch@suse.com>
| * | | | | | | mgr/cephadm: PEP8tify upgrade.pySebastian Wagner2020-08-041-11/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
| * | | | | | | mgr/cephadm: Add UpgradeState classSebastian Wagner2020-08-041-45/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | | | | Merge pull request #36463 from SUSE/wip-fix-46833Sebastian Wagner2020-08-051-19/+23
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cephadm: don't add `ceph-volume lvm activate` for adopted simple OSDs Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
| * | | | | | | | cephadm: don't add `ceph-volume lvm activate` for adopted simple OSDsTim Serong2020-08-051-19/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>