--- - debug: msg="START connection={{ ansible_connection }} nxos_hsrp sanity test" - debug: msg="Using provider={{ connection.transport }}" when: ansible_connection == "local" # Select interface for test - set_fact: intname1="{{ nxos_int1 }}" - set_fact: intname2="{{ nxos_int2 }}" - block: - name: "Enable feature hsrp" nxos_feature: feature: hsrp provider: "{{ connection }}" state: enabled - name: "change int1 mode" nxos_config: commands: - no switchport parents: - "interface {{ intname1 }}" match: none provider: "{{ connection }}" - name: "change int2 mode" nxos_config: commands: - no switchport parents: - "interface {{ intname2 }}" match: none provider: "{{ connection }}" - name: "configure nxos_hsrp" nxos_hsrp: &conf1000 group: 1000 version: 2 vip: 10.1.1.1 priority: 150 interface: "{{ intname1 }}" preempt: enabled auth_type: md5 auth_string: "7 1234" provider: "{{ connection }}" register: result - assert: &true that: - "result.changed == true" - name: "Conf Idempotence" nxos_hsrp: *conf1000 register: result - assert: &false that: - "result.changed == false" - name: "configure group 100" nxos_hsrp: &conf100 group: 100 version: 2 vip: 192.0.2.2 priority: 25 interface: "{{ intname1 }}" preempt: enabled auth_type: md5 auth_string: "0 1234" provider: "{{ connection }}" register: result - assert: *true - name: "Conf Idempotence" nxos_hsrp: *conf100 register: result - assert: *false - name: "change group 100" nxos_hsrp: &chg100 group: 100 version: 2 vip: default priority: default interface: "{{ intname1 }}" preempt: disabled auth_type: md5 auth_string: "0 1234" provider: "{{ connection }}" register: result - assert: *true - name: "Conf Idempotence" nxos_hsrp: *chg100 register: result - assert: *false - name: "configure group 200" nxos_hsrp: &conf200 group: 200 vip: 192.0.2.3 version: 1 interface: "{{ intname2 }}" auth_type: text auth_string: "1234" provider: "{{ connection }}" register: result - assert: *true - name: "Conf Idempotence" nxos_hsrp: *conf200 register: result - assert: *false - name: "change group 200" nxos_hsrp: &chg200 group: 200 vip: 192.0.2.3 version: 2 interface: "{{ intname2 }}" auth_type: text auth_string: default provider: "{{ connection }}" register: result - assert: *true - name: "Conf Idempotence" nxos_hsrp: *chg200 register: result - assert: *false - name: "remove nxos_hsrp" nxos_hsrp: &remove group: 1000 interface: "{{ intname1 }}" provider: "{{ connection }}" state: absent register: result - assert: *true - name: "Remove Idempotence" nxos_hsrp: *remove register: result - assert: *false always: - name: "Disable feature hsrp" nxos_feature: feature: hsrp provider: "{{ connection }}" state: disabled ignore_errors: yes - debug: msg="END connection={{ ansible_connection }} nxos_hsrp sanity test"