mirror of https://github.com/ansible/ansible.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
194 lines
4.3 KiB
YAML
194 lines
4.3 KiB
YAML
---
|
|
- debug: msg="START connection={{ ansible_connection }} nxos_vpc sanity test"
|
|
- debug: msg="Using provider={{ connection.transport }}"
|
|
when: ansible_connection == "local"
|
|
|
|
- block:
|
|
- set_fact: delay_restore_orphan_port=25
|
|
- set_fact: def_delay_restore_orphan_port=default
|
|
when: platform is not search("N35|N5K|N6K")
|
|
|
|
- block:
|
|
- name: disable vpc for initial vpc config cleanup
|
|
nxos_feature:
|
|
feature: vpc
|
|
provider: "{{ connection }}"
|
|
state: disabled
|
|
|
|
- name: enable feature vpc
|
|
nxos_feature:
|
|
feature: vpc
|
|
provider: "{{ connection }}"
|
|
state: enabled
|
|
|
|
- name: Ensure ntc VRF exists on switch
|
|
nxos_vrf:
|
|
vrf: ntc
|
|
provider: "{{ connection }}"
|
|
|
|
- name: Configure vpc
|
|
nxos_vpc: &conf_vpc
|
|
provider: "{{ connection }}"
|
|
state: present
|
|
domain: 100
|
|
pkl_dest: 192.168.100.4
|
|
pkl_src: 10.1.100.20
|
|
pkl_vrf: ntc
|
|
register: result
|
|
|
|
- assert: &true
|
|
that:
|
|
- "result.changed == true"
|
|
|
|
- name: "Conf Idempotence"
|
|
nxos_vpc: *conf_vpc
|
|
register: result
|
|
|
|
- assert: &false
|
|
that:
|
|
- "result.changed == false"
|
|
|
|
- name: Configure vpc1
|
|
nxos_vpc: &conf_vpc1
|
|
provider: "{{ connection }}"
|
|
state: present
|
|
domain: 100
|
|
role_priority: 500
|
|
system_priority: 2000
|
|
peer_gw: True
|
|
delay_restore: 5
|
|
delay_restore_interface_vlan: 15
|
|
delay_restore_orphan_port: "{{ delay_restore_orphan_port|default(omit) }}"
|
|
register: result
|
|
|
|
- assert: *true
|
|
|
|
- name: "Conf Idempotence"
|
|
nxos_vpc: *conf_vpc1
|
|
register: result
|
|
|
|
- assert: *false
|
|
|
|
- block:
|
|
# This block is only useful on platforms that nvgen 'no auto-recovery'.
|
|
# Note: auto_recovery is mutually_exclusive with auto_recovery_reload_delay.
|
|
- set_fact: def_auto_recovery=False
|
|
- set_fact: def_auto_recovery=True
|
|
when: platform is search("N7K")
|
|
|
|
- name: auto-recovery from default to non-default
|
|
nxos_vpc: &auto_recovery_1
|
|
provider: "{{ connection }}"
|
|
domain: 100
|
|
auto_recovery: "{{ not def_auto_recovery }}"
|
|
register: result
|
|
|
|
- assert: *true
|
|
|
|
- name: "Conf Idempotence auto-recovery def-to-non-def"
|
|
nxos_vpc: *auto_recovery_1
|
|
register: result
|
|
|
|
- assert: *false
|
|
|
|
- name: auto-recovery from non-default to default
|
|
nxos_vpc: &auto_recovery_2
|
|
provider: "{{ connection }}"
|
|
domain: 100
|
|
auto_recovery: "{{ def_auto_recovery }}"
|
|
register: result
|
|
|
|
- assert: *true
|
|
|
|
- name: "Conf Idempotence auto-recovery non-def-to-def"
|
|
nxos_vpc: *auto_recovery_2
|
|
register: result
|
|
|
|
- assert: *false
|
|
|
|
when: platform is search("N35|N7K|N3K-F|N9K-F")
|
|
|
|
- name: Configure auto-recovery reload-delay
|
|
nxos_vpc: &auto_reload
|
|
provider: "{{ connection }}"
|
|
domain: 100
|
|
auto_recovery_reload_delay: 242
|
|
register: result
|
|
|
|
- assert: *true
|
|
|
|
- name: "Conf Idempotence auto-recovery reload-delay"
|
|
nxos_vpc: *auto_reload
|
|
register: result
|
|
|
|
- assert: *false
|
|
|
|
- name: Configure vpc2
|
|
nxos_vpc: &conf_vpc2
|
|
provider: "{{ connection }}"
|
|
state: present
|
|
domain: 100
|
|
role_priority: default
|
|
system_priority: default
|
|
peer_gw: True
|
|
delay_restore: default
|
|
delay_restore_interface_vlan: default
|
|
delay_restore_orphan_port: "{{ def_delay_restore_orphan_port|default(omit) }}"
|
|
register: result
|
|
|
|
- assert: *true
|
|
|
|
- name: "Conf Idempotence"
|
|
nxos_vpc: *conf_vpc2
|
|
register: result
|
|
|
|
- assert: *false
|
|
|
|
- name: Configure vpc3
|
|
nxos_vpc: &conf_vpc3
|
|
provider: "{{ connection }}"
|
|
state: present
|
|
domain: 100
|
|
peer_gw: False
|
|
register: result
|
|
|
|
- assert: *true
|
|
|
|
- name: "Conf Idempotence"
|
|
nxos_vpc: *conf_vpc3
|
|
register: result
|
|
|
|
- assert: *false
|
|
|
|
- name: remove vpc
|
|
nxos_vpc: &rem_vpc
|
|
provider: "{{ connection }}"
|
|
state: absent
|
|
domain: 100
|
|
register: result
|
|
|
|
- assert: *true
|
|
|
|
- name: "Remove Idempotence"
|
|
nxos_vpc: *rem_vpc
|
|
register: result
|
|
|
|
- assert: *false
|
|
|
|
always:
|
|
- name: remove vrf
|
|
nxos_vrf:
|
|
vrf: ntc
|
|
provider: "{{ connection }}"
|
|
state: absent
|
|
ignore_errors: yes
|
|
|
|
- name: disable feature vpc
|
|
nxos_feature:
|
|
feature: vpc
|
|
provider: "{{ connection }}"
|
|
state: disabled
|
|
ignore_errors: yes
|
|
|
|
- debug: msg="END connection={{ ansible_connection }} nxos_vpc sanity test"
|