ansible/test/integration/targets/nxos_igmp_snooping/tests/common/sanity.yaml
Chris Van Heuveln 8c33ba3ecd nxos_igmp_snooping: group-timeout fails when igmp snooping disabled (#53079)
* nxos_igmp_snooping: group-timeout fails when igmp snooping disabled

group-timeout config will be rejected by the device if `ip igmp snooping` is disabled.

  * raise a failure for this condition

  * reorder the command list so that group-timeout is always last

* SA fixes

* SA fixes

* only call gt_dependency if gt
2019-03-08 15:33:24 +05:30

113 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"
- 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: 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
provider: "{{ connection }}"
state: 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"