Convert nxos_vrf to DI module (#34274)

* Convert nxos_vrf to DI module

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* Add purge example and improve logic

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* revert version_added for rd param

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* update test to use network_cli

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
This commit is contained in:
Trishna Guha 2018-01-08 10:10:34 +05:30 committed by GitHub
commit 5e6b2495c0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 500 additions and 132 deletions

View file

@ -0,0 +1,169 @@
---
- 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
nxos_vrf: &interfaces
name: test1
interfaces:
- "{{ testint1 }}"
- "{{ testint2 }}"
provider: "{{ connection }}"
register: result
- assert:
that:
- 'result.changed == true'
- '"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: 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 }
state: absent
provider: "{{ connection }}"
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"

View file

@ -4,6 +4,13 @@
when: ansible_connection == "local"
- block:
- name: 'Setup: Delete VRF before test'
nxos_config:
lines:
- no vrf context ntc
provider: "{{ connection }}"
ignore_errors: yes
- name: Ensure ntc VRF exists on switch
nxos_vrf: &configure
vrf: ntc
@ -48,4 +55,11 @@
- assert: *false
- name: 'Teardown: Delete VRF after test'
nxos_config:
lines:
- no vrf context ntc
provider: "{{ connection }}"
ignore_errors: yes
- debug: msg="END connection={{ ansible_connection }} nxos_vrf sanity test"