Add junos_vlan platform agnostic module (#25652)

* Add junos_vlan platform agnostic module

*  junos_vlan implementation

*  integration test for junos_vlan

* Minor fixes

* Fix Integration test failure
This commit is contained in:
Ganesh Nalawade 2017-06-14 14:23:52 +05:30 committed by GitHub
commit b69c7f50d0
12 changed files with 409 additions and 4 deletions

View file

@ -1,2 +1,3 @@
---
- { include: cli.yaml, tags: ['cli'] }
- { include: netconf.yaml, tags: ['netconf'] }

View file

@ -0,0 +1,16 @@
---
- name: collect all netconf test cases
find:
paths: "{{ role_path }}/tests/netconf"
patterns: "{{ testcase }}.yaml"
register: test_cases
delegate_to: localhost
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test case
include: "{{ test_case_to_run }}"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View file

@ -0,0 +1,80 @@
---
- debug: msg="START net_vlan netconf/basic.yaml"
- name: setup - remove vlan
net_vlan:
vlan_id: 100
name: test-vlan
state: absent
provider: "{{ netconf }}"
- name: Create vlan
net_vlan:
vlan_id: 100
name: test-vlan
state: present
provider: "{{ netconf }}"
register: result
- debug:
msg: "{{ result }}"
- assert:
that:
- "result.changed == true"
- "'<name>test-vlan</name>' in result.rpc"
- "'<vlan-id>100</vlan-id>' in result.rpc"
- name: Create vlan again (idempotent)
net_vlan:
vlan_id: 100
name: test-vlan
state: present
provider: "{{ netconf }}"
register: result
- assert:
that:
- "result.changed == false"
- name: Deactivate vlan
net_vlan:
vlan_id: 100
name: test-vlan
state: suspend
provider: "{{ netconf }}"
register: result
- assert:
that:
- "result.changed == true"
- "'<vlan inactive=\"inactive\">' in result.rpc"
- "'<name>test-vlan</name>' in result.rpc"
- name: Activate vlan
net_vlan:
vlan_id: 100
name: test-vlan
state: active
provider: "{{ netconf }}"
register: result
- assert:
that:
- "result.changed == true"
- "'<vlan active=\"active\">' in result.rpc"
- "'<name>test-vlan</name>' in result.rpc"
- name: Delete vlan
net_vlan:
vlan_id: 100
name: test-vlan
state: absent
provider: "{{ netconf }}"
register: result
- assert:
that:
- "result.changed == true"
- "'<vlan operation=\"delete\">' in result.rpc"
- "'<name>test-vlan</name>' in result.rpc"

View file

@ -0,0 +1,3 @@
---
- include: "{{ role_path }}/tests/junos/basic.yaml"
when: hostvars[inventory_hostname]['ansible_network_os'] == 'junos'