ansible/test/integration/targets/ios_interface/tests/cli/basic.yaml
Ricardo Carrillo Cruz c07b30951f Remove duplex option on ios_interface (#32178)
Turns out on devices where only Gigabit is available (like our
csr nodes in CI), duplex is not configurable, thus the test fail.
Removing, since we are testing modification of other properties like
description and mtu and have good coverage.
2017-10-26 09:52:33 +02:00

251 lines
6.3 KiB
YAML

---
- debug: msg="START ios_interface cli/basic.yaml"
- name: Run show version
ios_command:
commands: show version
authorize: yes
register: show_version_result
- name: Set test interface to GigabitEthernet0/1 if we are on Cisco IOS
set_fact: test_interface=GigabitEthernet0/1
when: "'Cisco IOS' in show_version_result.stdout[0]"
- name: Set test interface 2 to GigabitEthernet0/2 if we are on Cisco IOS
set_fact: test_interface2=GigabitEthernet0/2
when: "'Cisco IOS' in show_version_result.stdout[0]"
- name: Set test interface to GigabitEthernet2 if we are on Cisco IOS-XE
set_fact: test_interface=GigabitEthernet2
when: "'Cisco IOS-XE' in show_version_result.stdout[0]"
- name: Set test interface 2 to GigabitEthernet3 if we are on Cisco IOS-XE
set_fact: test_interface2=GigabitEthernet3
when: "'Cisco IOS-XE' in show_version_result.stdout[0]"
- name: Configure interface (setup)
ios_interface:
name: "{{ test_interface }}"
description: test-interface-1
speed: 1000
mtu: 256
state: present
authorize: yes
register: result
- name: Configure interface
ios_interface:
name: "{{ test_interface }}"
description: test-interface-initial
state: present
authorize: yes
register: result
- assert:
that:
- 'result.changed == true'
- '"interface {{ test_interface }}" in result.commands'
- '"description test-interface-initial" in result.commands'
- name: Confgure interface (idempotent)
ios_interface:
name: "{{ test_interface }}"
description: test-interface-initial
state: present
authorize: yes
register: result
- assert:
that:
- 'result.changed == false'
- name: Confgure interface parameters
ios_interface:
name: "{{ test_interface }}"
description: test-interface
mtu: 512
state: present
authorize: yes
register: result
- assert:
that:
- 'result.changed == true'
- '"interface {{ test_interface }}" in result.commands'
- '"description test-interface" in result.commands'
- '"mtu 512" in result.commands'
- name: Change interface parameters
ios_interface:
name: "{{ test_interface }}"
description: test-interface-1
mtu: 256
state: present
authorize: yes
register: result
- assert:
that:
- 'result.changed == true'
- '"interface {{ test_interface }}" in result.commands'
- '"description test-interface-1" in result.commands'
- '"mtu 256" in result.commands'
- name: Disable interface
ios_interface:
name: "{{ test_interface }}"
enabled: False
authorize: yes
register: result
- assert:
that:
- 'result.changed == true'
- '"interface {{ test_interface }}" in result.commands'
- '"shutdown" in result.commands'
- name: Enable interface
ios_interface:
name: "{{ test_interface }}"
enabled: True
authorize: yes
register: result
- assert:
that:
- 'result.changed == true'
- '"interface {{ test_interface }}" in result.commands'
- '"no shutdown" in result.commands'
- name: Confgure second interface (setup)
ios_interface:
name: "{{ test_interface2 }}"
description: test-interface-initial
speed: 1000
mtu: 516
state: present
authorize: yes
register: result
- name: Add interface aggregate
ios_interface:
aggregate:
- "{ name: {{ test_interface }}, mtu: 256, description: test-interface-1 }"
- "{ name: {{ test_interface2 }}, mtu: 516, description: test-interface-2 }"
speed: 1000
state: present
authorize: yes
register: result
- assert:
that:
- 'result.changed == true'
- '"interface {{ test_interface }}" in result.commands'
- '"description test-interface-1" in result.commands'
- '"mtu 256" in result.commands'
- '"interface {{ test_interface2 }}" in result.commands'
- '"description test-interface-2" in result.commands'
- '"mtu 516" in result.commands'
- name: Add interface aggregate (idempotent)
ios_interface:
aggregate:
- "{ name: {{ test_interface }}, mtu: 256, description: test-interface-1 }"
- "{ name: {{ test_interface2 }}, mtu: 516, description: test-interface-2 }"
speed: 1000
state: present
authorize: yes
register: result
- assert:
that:
- 'result.changed == false'
- name: Disable interface aggregate
ios_interface:
aggregate:
- "name: {{ test_interface }}"
- "name: {{ test_interface2 }}"
enabled: False
state: present
authorize: yes
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
ios_interface:
aggregate:
- "name: {{ test_interface }}"
- "name: {{ test_interface2 }}"
enabled: True
state: present
authorize: yes
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
ios_interface:
aggregate:
- name: Loopback9
- name: Loopback10
state: absent
authorize: yes
- name: Create loopback interface aggregate
ios_interface:
aggregate:
- name: Loopback9
- name: Loopback10
state: present
authorize: yes
register: result
- assert:
that:
- 'result.changed == true'
- '"interface Loopback9" in result.commands'
- '"interface Loopback10" in result.commands'
- name: Delete loopback interface aggregate
ios_interface:
aggregate:
- name: Loopback9
- name: Loopback10
state: absent
authorize: yes
register: result
- assert:
that:
- 'result.changed == true'
- '"no interface Loopback9" in result.commands'
- '"no interface Loopback10" in result.commands'
- name: Delete loopback interface aggregate (idempotent)
ios_interface:
aggregate:
- name: Loopback9
- name: Loopback10
state: absent
authorize: yes
register: result
- assert:
that:
- 'result.changed == false'
- debug: msg="END ios_interface cli/basic.yaml"