Skip to content

Commit

Permalink
issue :392: fixed idempotency issue
Browse files Browse the repository at this point in the history
Signed-off-by: Sumanth Lingappa <[email protected]>
  • Loading branch information
sumanth-lingappa committed Jan 8, 2024
1 parent 20d72aa commit deee981
Showing 1 changed file with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion plugins/module_utils/module_executor.py
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,13 @@ def get_existing_resource(self):
if attr in self.resource_module_params:
get_args[attr] = self.resource_module_params[attr]

# FIXME: NITRO-BUG: in `sslprofile_sslcipher_binding`, the NITRO is not returning the `ciphername` attribute. It's a bug in NITRO.
# Below is a hack to fix it.
if self.resource_name == "sslprofile_sslcipher_binding":
if "ciphername" in get_args:
get_args["cipheraliasname"] = get_args["ciphername"]
del get_args["ciphername"]

# binding resources require `filter` instead of `args` to uniquely identify a resource
existing_resource = get_resource(
self.client,
Expand All @@ -219,7 +226,7 @@ def get_existing_resource(self):
self.return_failure(msg)

self.existing_resource = existing_resource[0] if existing_resource else {}
# FIXME: in lbmonitor, for `interval=60`, the `units3` will wrongly be set to `MIN` by the NetScaler.
# FIXME: NITRO-BUG: in lbmonitor, for `interval=60`, the `units3` will wrongly be set to `MIN` by the NetScaler.
# Hence, we will set it to `SEC` to make it idempotent
# Refer Issue: #324 (https://github.com/netscaler/ansible-collection-netscaleradc/issues/324)
if self.resource_name == "lbmonitor":
Expand All @@ -237,6 +244,17 @@ def get_existing_resource(self):
)
self.existing_resource["units3"] = "SEC"

# FIXME:NITRO-BUG: in `sslprofile_sslcipher_binding`, the NITRO is not returning the `ciphername` attribute. It's a bug in NITRO.
# Below is a hack to fix it.
elif self.resource_name == "sslprofile_sslcipher_binding":
if (
"ciphername" not in self.existing_resource
and "cipheraliasname" in self.existing_resource
):
self.existing_resource["ciphername"] = self.existing_resource[
"cipheraliasname"
]

return self.existing_resource

@trace
Expand Down

0 comments on commit deee981

Please sign in to comment.