Bug #47358
Updated by Nathan Cutler over 3 years ago
The following service_spec.yml works fine for "ceph orch apply", apply osd", but produces an error with "ceph orch apply osd" osd --dry-run" <pre> master: ++ cat /root/service_spec_core.yml master: --- master: service_type: mon master: placement: master: hosts: master: - 'node1' master: - 'node2' master: - 'node3' master: --- master: service_type: mgr master: placement: master: hosts: master: - 'node1' master: - 'node2' master: - 'node3' master: --- master: service_type: osd master: service_id: sesdev_osd_deployment master: placement: master: hosts: master: - 'node1' master: - 'node2' master: - 'node3' master: data_devices: master: all: true master: ++ ceph orch apply osd -i /root/service_spec_core.yml --dry-run master: Error EINVAL: Failed to validate Drive Group: Didn't find Drivegroup specs </pre> The error is: <pre> master: ++ ceph orch apply osd -i /root/service_spec_core.yml --dry-run master: Error EINVAL: Failed to validate Drive Group: Didn't find Drivegroup specs </pre> A couple things: First, it seems like the error message could be improved? A better wording might be: "Your spec file includes services other than 'osd', but 'ceph orch apply osd' only works with service_type: osd" Second, it seems that, by issuing "ceph orch apply osd", the user is explicitly stating that they want OSDs only to be deployed. In that case, the non-osd service stanzas could simply be ignored? Then the user would get an OSD deployment, as requested, instead of an error message.