fix nxos_igmp_snooping issues (#38566)
* fix nxos_igmp_snooping issue * shippable error fix
This commit is contained in:
parent
0d79268a6d
commit
ed42331105
3 changed files with 48 additions and 25 deletions
|
@ -53,6 +53,7 @@ options:
|
|||
report_supp:
|
||||
description:
|
||||
- Global IGMPv1/IGMPv2 Report Suppression.
|
||||
type: bool
|
||||
v3_report_supp:
|
||||
description:
|
||||
- Global IGMPv3 Report Suppression and Proxy Reporting.
|
||||
|
@ -127,17 +128,6 @@ def get_group_timeout(config):
|
|||
return value
|
||||
|
||||
|
||||
def get_snooping(config):
|
||||
REGEX = re.compile(r'{0}$'.format('no ip igmp snooping'), re.M)
|
||||
value = False
|
||||
try:
|
||||
if REGEX.search(config):
|
||||
value = False
|
||||
except TypeError:
|
||||
value = True
|
||||
return value
|
||||
|
||||
|
||||
def get_igmp_snooping(module):
|
||||
command = 'show ip igmp snooping'
|
||||
existing = {}
|
||||
|
@ -196,6 +186,9 @@ def config_igmp_snooping(delta, existing, default=False):
|
|||
if default and key == 'group_timeout':
|
||||
if existing.get(key):
|
||||
command = 'no ' + CMDS.get(key).format(existing.get(key))
|
||||
elif value == 'default' and key == 'group_timeout':
|
||||
if existing.get(key):
|
||||
command = 'no ' + CMDS.get(key).format(existing.get(key))
|
||||
else:
|
||||
command = CMDS.get(key).format(value)
|
||||
else:
|
||||
|
|
|
@ -3,14 +3,24 @@
|
|||
- debug: msg="Using provider={{ connection.transport }}"
|
||||
when: ansible_connection == "local"
|
||||
|
||||
- set_fact: gt_run="false"
|
||||
- set_fact: gt_run="true"
|
||||
when: not (platform is match("N5K")) and not (platform is match("N35"))
|
||||
|
||||
- set_fact: group_timeout="never"
|
||||
when: not (platform is match("N5K")) and not (platform is match("N35"))
|
||||
|
||||
- set_fact: def_group_timeout="default"
|
||||
when: not (platform is match("N5K")) and not (platform is match("N35"))
|
||||
|
||||
- block:
|
||||
|
||||
- name: Configure igmp snooping with non-default values
|
||||
nxos_igmp_snooping: &non-default
|
||||
snooping: true
|
||||
group_timeout: never
|
||||
link_local_grp_supp: true
|
||||
report_supp: true
|
||||
snooping: false
|
||||
group_timeout: "{{group_timeout|default(omit)}}"
|
||||
link_local_grp_supp: false
|
||||
report_supp: false
|
||||
v3_report_supp: true
|
||||
state: present
|
||||
provider: "{{ connection }}"
|
||||
|
@ -19,7 +29,7 @@
|
|||
- assert: &true
|
||||
that:
|
||||
- "result.changed == true"
|
||||
|
||||
- block:
|
||||
- name: "Check Idempotence - Configure igmp snooping with non-default values"
|
||||
nxos_igmp_snooping: *non-default
|
||||
register: result
|
||||
|
@ -27,6 +37,25 @@
|
|||
- assert: &false
|
||||
that:
|
||||
- "result.changed == false"
|
||||
when: (imagetag and (imagetag is version_compare('D1', 'ne')))
|
||||
|
||||
- name: Configure igmp snooping with default group timeout
|
||||
nxos_igmp_snooping: &defgt
|
||||
group_timeout: "{{def_group_timeout|default(omit)}}"
|
||||
state: present
|
||||
provider: "{{ connection }}"
|
||||
register: result
|
||||
|
||||
- assert: *true
|
||||
when: gt_run
|
||||
|
||||
- block:
|
||||
- name: "Check Idempotence"
|
||||
nxos_igmp_snooping: *defgt
|
||||
register: result
|
||||
|
||||
- assert: *false
|
||||
when: gt_run or (imagetag and (imagetag is version_compare('D1', 'ne')))
|
||||
|
||||
- name: Configure igmp snooping with default values
|
||||
nxos_igmp_snooping: &default
|
||||
|
@ -36,11 +65,13 @@
|
|||
|
||||
- assert: *true
|
||||
|
||||
- block:
|
||||
- name: "Check Idempotence - Configure igmp snooping with default values"
|
||||
nxos_igmp_snooping: *default
|
||||
register: result
|
||||
|
||||
- assert: *false
|
||||
when: (imagetag and (imagetag is version_compare('D1', 'ne')))
|
||||
|
||||
always:
|
||||
- name: Configure igmp snooping with default values
|
||||
|
|
|
@ -1344,7 +1344,6 @@ lib/ansible/modules/network/nxos/nxos_evpn_global.py E326
|
|||
lib/ansible/modules/network/nxos/nxos_file_copy.py E324
|
||||
lib/ansible/modules/network/nxos/nxos_gir.py E326
|
||||
lib/ansible/modules/network/nxos/nxos_igmp_interface.py E326
|
||||
lib/ansible/modules/network/nxos/nxos_igmp_snooping.py E325
|
||||
lib/ansible/modules/network/nxos/nxos_interface.py E324
|
||||
lib/ansible/modules/network/nxos/nxos_lldp.py E326
|
||||
lib/ansible/modules/network/nxos/nxos_logging.py E325
|
||||
|
|
Loading…
Reference in a new issue