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.
ansible/test/integration/targets/nxos_vpc/tests/common/sanity.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"