mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
aci_switch_policy_vpc_protection_group: Fix idempotency (#45091)
This commit is contained in:
parent
aeac8fe141
commit
6faf400621
3 changed files with 11 additions and 13 deletions
|
@ -808,11 +808,15 @@ class ACIModule(object):
|
||||||
proposed_config = proposed_child[key]['attributes']
|
proposed_config = proposed_child[key]['attributes']
|
||||||
existing_config = None
|
existing_config = None
|
||||||
|
|
||||||
|
# FIXME: Design causes issues for repeated child_classes
|
||||||
# get existing dictionary from the list of existing to use for comparison
|
# get existing dictionary from the list of existing to use for comparison
|
||||||
for child in existing_children:
|
for child in existing_children:
|
||||||
if child.get(child_class):
|
if child.get(child_class):
|
||||||
existing_config = child[key]['attributes']
|
existing_config = child[key]['attributes']
|
||||||
break
|
# NOTE: This is an ugly fix
|
||||||
|
# Return the one that is a subset match
|
||||||
|
if set(proposed_config.items()).issubset(set(existing_config.items())):
|
||||||
|
break
|
||||||
|
|
||||||
return child_class, proposed_config, existing_config
|
return child_class, proposed_config, existing_config
|
||||||
|
|
||||||
|
|
|
@ -255,14 +255,12 @@ def main():
|
||||||
class_config=dict(
|
class_config=dict(
|
||||||
name=protection_group,
|
name=protection_group,
|
||||||
id=protection_group_id,
|
id=protection_group_id,
|
||||||
rn='expgep-{0}'.format(protection_group),
|
|
||||||
),
|
),
|
||||||
child_configs=[
|
child_configs=[
|
||||||
dict(
|
dict(
|
||||||
fabricNodePEp=dict(
|
fabricNodePEp=dict(
|
||||||
attributes=dict(
|
attributes=dict(
|
||||||
id='{0}'.format(switch_1_id),
|
id='{0}'.format(switch_1_id),
|
||||||
rn='nodepep-{0}'.format(switch_1_id),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -270,7 +268,6 @@ def main():
|
||||||
fabricNodePEp=dict(
|
fabricNodePEp=dict(
|
||||||
attributes=dict(
|
attributes=dict(
|
||||||
id='{0}'.format(switch_2_id),
|
id='{0}'.format(switch_2_id),
|
||||||
rn='nodepep-{0}'.format(switch_2_id),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
@ -58,9 +58,8 @@
|
||||||
that:
|
that:
|
||||||
- cm_add_vpc_prot_grp is changed
|
- cm_add_vpc_prot_grp is changed
|
||||||
- nm_add_vpc_prot_grp is changed
|
- nm_add_vpc_prot_grp is changed
|
||||||
# FIXME: Not idempotent !
|
- cm_add_vpc_prot_grp_again is not changed
|
||||||
#- cm_add_vpc_prot_grp_again is not changed
|
- nm_add_vpc_prot_grp_again is not changed
|
||||||
#- nm_add_vpc_prot_grp_again is not changed
|
|
||||||
|
|
||||||
|
|
||||||
# CHANGE VPC PROTECTION GROUP
|
# CHANGE VPC PROTECTION GROUP
|
||||||
|
@ -95,9 +94,8 @@
|
||||||
that:
|
that:
|
||||||
- cm_add_vpc_prot_grp_pol is changed
|
- cm_add_vpc_prot_grp_pol is changed
|
||||||
- nm_add_vpc_prot_grp_pol is changed
|
- nm_add_vpc_prot_grp_pol is changed
|
||||||
# FIXME: Not idempotent !!
|
- cm_add_vpc_prot_grp_pol_again is not changed
|
||||||
#- cm_add_vpc_prot_grp_pol_again is not changed
|
- nm_add_vpc_prot_grp_pol_again is not changed
|
||||||
#- nm_add_vpc_prot_grp_pol_again is not changed
|
|
||||||
|
|
||||||
|
|
||||||
# ADD FABRIC NODE AGAIN
|
# ADD FABRIC NODE AGAIN
|
||||||
|
@ -113,9 +111,8 @@
|
||||||
- name: Verify add_vpc_prot_grp_again_no_pol
|
- name: Verify add_vpc_prot_grp_again_no_pol
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
# FIXME: Not idempoten !!
|
- cm_add_vpc_prot_grp_again_no_pol is not changed
|
||||||
#- cm_add_vpc_prot_grp_again_no_pol is not changed
|
- nm_add_vpc_prot_grp_again_no_pol is not changed
|
||||||
#- nm_add_vpc_prot_grp_again_no_pol is not changed
|
|
||||||
|
|
||||||
|
|
||||||
# QUERY ALL VPC PROTECTION GROUPS
|
# QUERY ALL VPC PROTECTION GROUPS
|
||||||
|
|
Loading…
Reference in a new issue