fix nxos_igmp_snooping issues (#38566)

* fix nxos_igmp_snooping issue

* shippable error fix
This commit is contained in:
saichint 2018-04-11 07:14:27 -07:00 committed by Trishna Guha
parent 0d79268a6d
commit ed42331105
3 changed files with 48 additions and 25 deletions

View file

@ -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:

View file

@ -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

View file

@ -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