You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/nxos_vrf/tests/common/intent.yaml

200 lines
4.8 KiB
YAML

---
- debug: msg="START connection={{ ansible_connection }} nxos_vrf intent & aggregate test"
- debug: msg="Using provider={{ connection.transport }}"
when: ansible_connection == "local"
- set_fact: testint1="{{ nxos_int1 }}"
- set_fact: testint2="{{ nxos_int2 }}"
- name: setup - remove vrf from interfaces used in test(part1)
nxos_config:
lines:
- no vrf member test1
parents: no switchport
before: "interface {{ testint1 }}"
provider: "{{ connection }}"
ignore_errors: yes
- name: setup - remove vrf from interfaces used in test(part2)
nxos_config:
lines:
- no vrf member test1
parents: no switchport
before: "interface {{ testint2 }}"
provider: "{{ connection }}"
ignore_errors: yes
- name: setup - delete VRF test1 used in test
nxos_config:
lines:
- no vrf context test1
provider: "{{ connection }}"
ignore_errors: yes
- name: setup - remove VRF test2 used in test
nxos_config:
lines:
- no vrf context test2
provider: "{{ connection }}"
ignore_errors: yes
- name: aggregate definitions of VRFs
nxos_vrf: &create
aggregate:
- { name: test1, description: Configured by Ansible }
- { name: test2, description: Testing, admin_state: down }
provider: "{{ connection }}"
register: result
- assert:
that:
- 'result.changed == true'
- '"vrf context test1" in result.commands'
- '"description Configured by Ansible" in result.commands'
- '"no shutdown" in result.commands'
- '"vrf context test2" in result.commands'
- '"description Testing" in result.commands'
- '"shutdown" in result.commands'
- name: aggregate definitions of VRFs(Idempotence)
nxos_vrf: *create
register: result
- assert:
that:
- "result.changed == false"
- name: Assign interfaces to VRF (Config + intent)
nxos_vrf: &interfaces
name: test1
interfaces:
- "{{ testint1 }}"
- "{{ testint2 }}"
associated_interfaces:
- "{{ testint1 }}"
- "{{ testint2 }}"
provider: "{{ connection }}"
register: result
- assert:
that:
- 'result.changed == true'
- "result.failed == false"
- '"interface {{ testint1 }}" in result.commands'
- '"vrf member test1" in result.commands'
- '"interface {{ testint2 }}" in result.commands'
- '"vrf member test1" in result.commands'
- name: Assign interfaces to vrf(Idempotence)
nxos_vrf: *interfaces
register: result
- assert:
that:
- 'result.changed == false'
- name: Check interfaces assigned to VRF (intent)
nxos_vrf:
name: test1
associated_interfaces:
- "{{ testint1 }}"
- "{{ testint2 }}"
provider: "{{ connection }}"
register: result
- assert:
that:
- "result.failed == false"
- name: Assign interfaces to VRF (intent fail)
nxos_vrf:
name: test1
associated_interfaces:
- test
provider: "{{ connection }}"
register: result
ignore_errors: yes
- assert:
that:
- "result.failed == True"
- name: Remove interface from vrf
nxos_vrf: &single_int
name: test1
interfaces:
- "{{ testint2 }}"
provider: "{{ connection }}"
register: result
- assert:
that:
- 'result.changed == true'
- '"interface {{ testint1 }}" in result.commands'
- '"no vrf member test1" in result.commands'
- name: Remove interface from vrf(idempotence)
nxos_vrf: *single_int
register: result
- assert:
that:
- 'result.changed == false'
- name: Delete VRFs
nxos_vrf: &delete
aggregate:
- { name: test1, description: Configured by Ansible }
- { name: test2, description: Testing, admin_state: down }
provider: "{{ connection }}"
state: absent
register: result
- assert:
that:
- 'result.changed == true'
- '"no vrf context test1" in result.commands'
- '"no vrf context test2" in result.commands'
- name: Delete VRFs(Idempotence)
nxos_vrf: *delete
register: result
- assert:
that:
- "result.changed == false"
- name: setup - remove vrf from interfaces used in test(part1)
nxos_config:
lines:
- no vrf member test1
parents: no switchport
before: "interface {{ testint1 }}"
provider: "{{ connection }}"
ignore_errors: yes
- name: setup - remove vrf from interfaces used in test(part2)
nxos_config:
lines:
- no vrf member test1
parents: no switchport
before: "interface {{ testint2 }}"
provider: "{{ connection }}"
ignore_errors: yes
- name: setup - delete VRF test1 used in test
nxos_config:
lines:
- no vrf context test1
provider: "{{ connection }}"
ignore_errors: yes
- name: setup - remove VRF test2 used in test
nxos_config:
lines:
- no vrf context test2
provider: "{{ connection }}"
ignore_errors: yes
- debug: msg="END connection={{ ansible_connection }} nxos_vrf intent & aggregate test"