--- - debug: msg="START cnos_interface cli/basic.yaml on connection={{ ansible_connection }}" - name: Configure interface (setup) cnos_interface: name: "{{ test_interface }}" description: test-interface-1 speed: 1000 mtu: 1800 state: present provider: "{{ cli }}" register: result - name: Configure interface cnos_interface: name: "{{ test_interface }}" description: test-interface-initial state: present provider: "{{ cli }}" register: result - assert: that: - 'result.changed == true' - '"interface {{ test_interface }}" in result.commands' - '"description test-interface-initial" in result.commands' - name: Confgure interface (idempotent) cnos_interface: name: "{{ test_interface }}" description: test-interface-initial state: present provider: "{{ cli }}" register: result - assert: that: - 'result.changed == true' - name: Confgure interface parameters cnos_interface: name: "{{ test_interface }}" description: test-interface mtu: 2000 state: present provider: "{{ cli }}" register: result - assert: that: - 'result.changed == true' - '"interface {{ test_interface }}" in result.commands' - '"description test-interface" in result.commands' - '"mtu 2000" in result.commands' - name: Change interface parameters cnos_interface: name: "{{ test_interface }}" description: test-interface-1 mtu: 1800 state: present provider: "{{ cli }}" register: result - assert: that: - 'result.changed == true' - '"interface {{ test_interface }}" in result.commands' - '"description test-interface-1" in result.commands' - '"mtu 1800" in result.commands' - name: Disable interface cnos_interface: name: "{{ test_interface }}" enabled: False provider: "{{ cli }}" register: result - assert: that: - 'result.changed == true' #- '"interface {{ test_interface }}" in result.commands' #- '"shutdown" in result.commands' - name: Enable interface cnos_interface: name: "{{ test_interface }}" enabled: True provider: "{{ cli }}" register: result - assert: that: - 'result.changed == true' - '"interface {{ test_interface }}" in result.commands' #- '"no shutdown" in result.commands' - name: Confgure second interface (setup) cnos_interface: name: "{{ test_interface2 }}" description: test-interface-initial speed: 1000 mtu: 1800 state: present provider: "{{ cli }}" register: result - name: Add interface aggregate cnos_interface: aggregate: - { name: "{{ test_interface }}", mtu: 2000, description: test-interface-1 } - { name: "{{ test_interface2 }}", mtu: 2000, description: test-interface-2 } speed: 1000 state: present provider: "{{ cli }}" register: result - assert: that: - 'result.changed == true' - '"interface {{ test_interface }}" in result.commands' - '"mtu 2000" in result.commands' - '"interface {{ test_interface2 }}" in result.commands' - '"description test-interface-2" in result.commands' - '"mtu 2000" in result.commands' - name: Add interface aggregate (idempotent) cnos_interface: aggregate: - { name: "{{ test_interface }}", mtu: 2000, description: test-interface-1 } - { name: "{{ test_interface2 }}", mtu: 2000, description: test-interface-2 } speed: 1000 state: present provider: "{{ cli }}" register: result - assert: that: - 'result.changed == true' - name: Disable interface aggregate cnos_interface: aggregate: - { name: "{{ test_interface }}" } - { name: "{{ test_interface2 }}" } enabled: False state: present provider: "{{ cli }}" register: result - assert: that: - 'result.changed == true' # - '"interface {{ test_interface }}" in result.commands' # - '"shutdown" in result.commands' # - '"interface {{ test_interface2 }}" in result.commands' # - '"shutdown" in result.commands' - name: Enable interface aggregate cnos_interface: aggregate: - { name: "{{ test_interface }}" } - { name: "{{ test_interface2 }}" } enabled: True state: present provider: "{{ cli }}" register: result - assert: that: - 'result.changed == true' - '"interface {{ test_interface }}" in result.commands' #- '"no shutdown" in result.commands' - '"interface {{ test_interface2 }}" in result.commands' #- '"no shutdown" in result.commands' - name: loopback interface setup cnos_interface: aggregate: - name: loopback3 - name: loopback6 state: absent provider: "{{ cli }}" - name: Create loopback interface aggregate cnos_interface: aggregate: - name: loopback3 - name: loopback6 state: present provider: "{{ cli }}" register: result - assert: that: - 'result.changed == true' #- '"interface loopback3" in result.commands' #- '"interface loopback6" in result.commands' - name: Delete loopback interface aggregate cnos_interface: aggregate: - name: loopback3 - name: loopback6 state: absent provider: "{{ cli }}" register: result - assert: that: - 'result.changed == true' - '"no interface loopback3" in result.commands' - '"no interface loopback6" in result.commands' - name: Delete loopback interface aggregate (idempotent) cnos_interface: aggregate: - name: loopback3 - name: loopback6 state: absent provider: "{{ cli }}" register: result - assert: that: - 'result.changed == false' - debug: msg="END cnos_interface cli/basic.yaml on connection={{ ansible_connection }}"