ansible/test/integration/targets/nxos_igmp_snooping/tests/common/sanity.yaml
Chris Van Heuveln 07774b4ccf nxos_igmp_snooping: more group-timeout fixes (#53553)
* Fixed another problem where `group-timeout` was processed before `ip igmp snooping` was enabled

* `sanity` playbook:
 * N6K: `show ip igmp snooping | json` succeeds on the device but doesn't return any data in body; added a skip to the sanity playbook to keep it out of CI
 * Added a setup task to do initial cleanup on the device
2019-03-20 13:08:36 +05:30

116 lines
3.1 KiB
YAML

---
- debug: msg="START connection={{ ansible_connection }} nxos_igmp_snooping sanity test"
- debug: msg="Using provider={{ connection.transport }}"
when: ansible_connection == "local"
- meta: end_host
# show ip igmp snooping | json does not work on some platforms
when: platform is search('N6K')
- set_fact: gt_run="false"
- block:
- set_fact: gt_run="true"
- set_fact: group_timeout="never"
- set_fact: def_group_timeout="default"
when: platform is not search('N35|N5K|N6K')
- name: Setup
nxos_igmp_snooping: &default
provider: "{{ connection }}"
state: default
- block:
- name: Configure igmp snooping with non-default values
nxos_igmp_snooping: &non-default
snooping: false
# group_timeout: n/a when snooping:false
link_local_grp_supp: false
report_supp: false
v3_report_supp: true
provider: "{{ connection }}"
state: present
register: result
- assert: &true
that:
- "result.changed == true"
- block:
- name: "Check Idempotence - Configure igmp snooping with non-default values"
nxos_igmp_snooping: *non-default
register: result
- assert: &false
that:
- "result.changed == false"
when: (imagetag and (imagetag is version_compare('D1', 'ne')))
- block:
- name: Negative Test config group-timeout when igmp snooping disabled
nxos_igmp_snooping:
snooping: false
group_timeout: "{{group_timeout|default(omit)}}"
provider: "{{ connection }}"
state: present
ignore_errors: yes
register: result
- assert:
that:
- "result.failed == true"
- "result.msg == 'group-timeout cannot be enabled or changed when ip igmp snooping is disabled'"
- name: Configure group-timeout non-default
nxos_igmp_snooping: &non-defgt
snooping: true
group_timeout: "{{group_timeout|default(omit)}}"
provider: "{{ connection }}"
state: present
register: result
- assert: *true
- name: "Check Idempotence"
nxos_igmp_snooping: *non-defgt
register: result
- assert: *false
when: gt_run
- name: Configure igmp snooping with default group timeout
nxos_igmp_snooping: &defgt
group_timeout: "{{def_group_timeout|default(omit)}}"
provider: "{{ connection }}"
state: present
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
register: result
- 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
nxos_igmp_snooping: *default
register: result
- debug: msg="END connection={{ ansible_connection }} nxos_igmp_snooping sanity test"