--- - debug: msg="START connection={{ ansible_connection }} nxos_interface_ospf sanity test" - debug: msg="Using provider={{ connection.transport }}" when: ansible_connection == "local" - set_fact: testint="{{ nxos_int1 }}" - name: Setup - Disable features nxos_feature: feature: "{{ item }}" provider: "{{ connection }}" state: disabled loop: ['ospf', 'bfd'] ignore_errors: yes - name: Setup - Enable features nxos_feature: feature: "{{ item }}" provider: "{{ connection }}" state: enabled loop: ['ospf', 'bfd'] - name: "Put interface into default state" nxos_config: &intdefault lines: - "default interface {{ testint }}" provider: "{{ connection }}" ignore_errors: yes - name: "Remove switchport config" nxos_config: &removeswitchport commands: - no switchport parents: - "interface {{ testint }}" provider: "{{ connection }}" ignore_errors: yes - name: "Remove possibly existing port-channel and loopback ints" nxos_config: &removepcandlb commands: - no interface port-channel10 - no interface port-channel11 - no interface loopback55 - no interface loopback77 provider: "{{ connection }}" ignore_errors: yes - block: - name: configure ospf interface nxos_interface_ospf: &configure interface: "{{ nxos_int1|upper }}" ospf: 1 area: 12345678 bfd: enable cost: 55 passive_interface: true hello_interval: 15 dead_interval: 75 network: point-to-point provider: "{{ connection }}" state: present register: result - assert: &true that: - "result.changed == true" - name: "Check Idempotence" nxos_interface_ospf: *configure register: result - assert: &false that: - "result.changed == false" - name: Modify properties nxos_interface_ospf: &modify interface: "{{ testint }}" ospf: 1 area: 12345678 cost: 66 passive_interface: false hello_interval: 17 dead_interval: 70 network: broadcast provider: "{{ connection }}" state: present register: result - assert: *true - name: "Check Idempotence" nxos_interface_ospf: *modify register: result - assert: *false - name: default properties nxos_interface_ospf: &def interface: "{{ testint }}" ospf: 1 area: 12345678 bfd: default cost: default hello_interval: 10 dead_interval: default provider: "{{ connection }}" state: present register: result - assert: *true - name: "Check Idempotence" nxos_interface_ospf: *def register: result - assert: *false - name: Message_digest properties nxos_interface_ospf: &md interface: "{{ testint }}" ospf: 1 area: 12345678 message_digest: True message_digest_key_id: 10 message_digest_algorithm_type: md5 message_digest_encryption_type: 3des message_digest_password: b69f7bc54725b1bfd1ea93afa7b09400 provider: "{{ connection }}" state: present register: result - assert: *true - name: "Check Idempotence" nxos_interface_ospf: *md register: result - assert: *false - name: Message_digest defaults nxos_interface_ospf: &mdd interface: "{{ testint }}" ospf: 1 area: 12345678 message_digest: False message_digest_key_id: default message_digest_algorithm_type: default message_digest_encryption_type: default message_digest_password: default provider: "{{ connection }}" state: present register: result - assert: *true - name: "Check Idempotence" nxos_interface_ospf: *mdd register: result - assert: *false - name: create port-channel and loopback interfaces nxos_config: commands: - interface port-channel10 - interface port-channel11 - interface loopback55 - interface loopback77 match: none provider: "{{ connection }}" - name: "Ensure port-channels are layer3" nxos_config: commands: - no switchport parents: - "interface {{ item }}" provider: "{{ connection }}" with_items: - port-channel10 - port-channel11 - name: configure ospf interface port-channel10 nxos_interface_ospf: &configurepc interface: Port-channel10 ospf: 1 area: 429496729 cost: 55 passive_interface: true hello_interval: 15 dead_interval: 75 provider: "{{ connection }}" state: present register: result - assert: *true - name: "Check Idempotence for port-channel10" nxos_interface_ospf: *configurepc register: result - assert: *false - name: configure ospf interface port-channel11 using lower case name nxos_interface_ospf: &configurepclower interface: port-channel11 ospf: 1 area: 42949672 cost: 55 passive_interface: true hello_interval: 15 dead_interval: 75 provider: "{{ connection }}" state: present register: result - assert: *true - name: "Check Idempotence for port-channel11" nxos_interface_ospf: *configurepclower register: result - assert: *false - name: configure ospf interface loopback55 nxos_interface_ospf: &configurelb interface: LOOPBACK55 ospf: 1 area: 192.0.2.4 cost: 55 hello_interval: 15 dead_interval: 75 provider: "{{ connection }}" state: present register: result - assert: *true - name: "Check Idempotence for loopback55" nxos_interface_ospf: *configurelb register: result - assert: *false - name: configure ospf interface loopback77 using lower case name nxos_interface_ospf: &configurelblower interface: loopback77 ospf: 1 area: 429496 cost: 77 hello_interval: 45 dead_interval: 75 provider: "{{ connection }}" state: present register: result - assert: *true - name: "Check Idempotence for loopback77" nxos_interface_ospf: *configurelblower register: result - assert: *false - name: remove ospf interface config nxos_interface_ospf: &removeconfig interface: "{{ testint }}" ospf: 1 area: 12345678 bfd: disable cost: 55 passive_interface: true hello_interval: 15 dead_interval: 75 provider: "{{ connection }}" state: absent register: result - assert: *true - name: "Check Idempotence" nxos_interface_ospf: *removeconfig register: result - assert: *false always: - name: Disable features nxos_feature: feature: "{{ item }}" provider: "{{ connection }}" state: disabled loop: ['ospf', 'bfd'] ignore_errors: yes - name: "Interface cleanup" nxos_config: *intdefault ignore_errors: yes - name: "Remove port-channel and loopback ints" nxos_config: *removepcandlb ignore_errors: yes - debug: msg="END connection={{ ansible_connection }} nxos_interface_ospf sanity test"