2017-08-01 20:27:12 +00:00
|
|
|
---
|
2018-01-05 17:39:04 +00:00
|
|
|
- debug: msg="START connection={{ ansible_connection }} nxos_vlan sanity test"
|
|
|
|
- debug: msg="Using provider={{ connection.transport }}"
|
|
|
|
when: ansible_connection == "local"
|
2017-08-01 20:27:12 +00:00
|
|
|
|
|
|
|
- block:
|
|
|
|
- name: "Enable feature vn segment"
|
|
|
|
nxos_config:
|
|
|
|
commands:
|
|
|
|
- feature vn-segment-vlan-based
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
match: none
|
2017-11-27 22:58:08 +00:00
|
|
|
when: platform is search('N9K')
|
2017-08-01 20:27:12 +00:00
|
|
|
|
|
|
|
- name: Ensure a range of VLANs are present on the switch
|
|
|
|
nxos_vlan: &conf_vlan
|
|
|
|
vlan_range: "2-10,20,50,55-60,100-150"
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: &true
|
|
|
|
that:
|
|
|
|
- "result.changed == true"
|
|
|
|
|
|
|
|
- name: "Vlan Idempotence"
|
|
|
|
nxos_vlan: *conf_vlan
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: &false
|
|
|
|
that:
|
|
|
|
- "result.changed == false"
|
|
|
|
|
|
|
|
- name: Ensure VLAN 50 exists with the name WEB and is in the shutdown state
|
|
|
|
nxos_vlan: &web1
|
|
|
|
vlan_id: 50
|
|
|
|
vlan_state: suspend
|
|
|
|
admin_state: down
|
|
|
|
name: WEB
|
|
|
|
mapped_vni: 5555
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
register: result
|
2017-11-27 22:58:08 +00:00
|
|
|
when: platform is search('N9K')
|
2017-08-01 20:27:12 +00:00
|
|
|
|
|
|
|
- assert: *true
|
2017-11-27 22:58:08 +00:00
|
|
|
when: platform is search('N9K')
|
2017-08-01 20:27:12 +00:00
|
|
|
|
|
|
|
- name: "web Idempotence"
|
|
|
|
nxos_vlan: *web1
|
|
|
|
register: result
|
2017-11-27 22:58:08 +00:00
|
|
|
when: platform is search('N9K')
|
2017-08-01 20:27:12 +00:00
|
|
|
|
|
|
|
- assert: *false
|
2017-11-27 22:58:08 +00:00
|
|
|
when: platform is search('N9K')
|
2017-08-01 20:27:12 +00:00
|
|
|
|
|
|
|
- name: Ensure VLAN 50 exists with the name WEB and is in the shutdown state
|
|
|
|
nxos_vlan: &web2
|
|
|
|
vlan_id: 50
|
|
|
|
vlan_state: suspend
|
|
|
|
admin_state: down
|
|
|
|
name: WEB
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
register: result
|
2017-11-27 22:58:08 +00:00
|
|
|
when: platform is search('N3K|N7K')
|
2017-08-01 20:27:12 +00:00
|
|
|
|
|
|
|
- assert: *true
|
2017-11-27 22:58:08 +00:00
|
|
|
when: platform is search('N3K|N7K')
|
2017-08-01 20:27:12 +00:00
|
|
|
|
|
|
|
- name: "web Idempotence"
|
|
|
|
nxos_vlan: *web2
|
|
|
|
register: result
|
2017-11-27 22:58:08 +00:00
|
|
|
when: platform is search('N3K|N7K')
|
2017-08-01 20:27:12 +00:00
|
|
|
|
|
|
|
- assert: *false
|
2017-11-27 22:58:08 +00:00
|
|
|
when: platform is search('N3K|N7K')
|
2017-08-01 20:27:12 +00:00
|
|
|
|
|
|
|
- name: Ensure VLAN is NOT on the device
|
|
|
|
nxos_vlan: &no_vlan
|
|
|
|
vlan_id: 50
|
|
|
|
state: absent
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *true
|
|
|
|
|
|
|
|
- name: "no vlan Idempotence"
|
|
|
|
nxos_vlan: *no_vlan
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
always:
|
|
|
|
- name: remove vlans
|
|
|
|
nxos_vlan:
|
|
|
|
vlan_range: "2-10,20,50,55-60,100-150"
|
|
|
|
state: absent
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
ignore_errors: yes
|
|
|
|
|
|
|
|
- name: "Disable feature vn segement"
|
|
|
|
nxos_feature:
|
|
|
|
feature: vn-segment-vlan-based
|
|
|
|
state: disabled
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
ignore_errors: yes
|
2017-11-27 22:58:08 +00:00
|
|
|
when: platform is search('N9K')
|
2017-08-01 20:27:12 +00:00
|
|
|
|
2018-01-05 17:39:04 +00:00
|
|
|
- debug: msg="END connection={{ ansible_connection }} nxos_vlan sanity test"
|