Skip to content

Commit

Permalink
ceph-orch-apply: fix idempotency
Browse files Browse the repository at this point in the history
Signed-off-by: Teoman ONAY <[email protected]>
  • Loading branch information
asm0deuz committed May 29, 2024
1 parent e71eba4 commit 2ff2256
Showing 1 changed file with 16 additions and 1 deletion.
17 changes: 16 additions & 1 deletion library/ceph_orch_apply.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,21 @@ def apply_spec(module: "AnsibleModule",
return rc, cmd, out, err


def change_required(current: Dict, expected: Dict) -> bool:
""" checks if the current config differs from what is expected """
if not current:
return True

for key, value in expected.items():
if key in current:
if current[key] != value:
return True
continue
else:
return True
return False


def run_module() -> None:

module_args = dict(
Expand Down Expand Up @@ -137,7 +152,7 @@ def run_module() -> None:
expected = parse_spec(module.params.get('spec'))
current_spec = retrieve_current_spec(module, expected)

if not current_spec or current_spec != expected:
if change_required(current_spec, expected):
rc, cmd, out, err = apply_spec(module, spec)
changed = True
else:
Expand Down

0 comments on commit 2ff2256

Please sign in to comment.