--- - 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"