fix: idempotency check for services without 'service_id' #12
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixed idempotency check for services that do not require the 'service_id' key in the specification and the 'host' service type.
Description
I discovered issues with the
ceph_orch_applymodule when attempting to apply specifications for services that do not require theservice_idkey in the specification. According to the documentation, some services fall into this category. However, the module currently requires this key to be specified, which breaks idempotency in the role sinceceph orch lsdoes not return this key in the YAML specification.Additionally, the 'host' service type was not supported, because the
ceph orchcommand uses slightly different syntax for listing hosts. Although hosts are not technically services, users can create them by applying specifications (with an optional 'location' key to define the host's placement in the CRUSH hierarchy).