mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-10-23 12:33:59 -07:00
Add aggregate for junos modules and sub spec validation (#27726)
* Add aggregate for junos modules and sub spec validation * aggregate support of junos modules * aggregate sub spec validation * relevant changes to junos integration test * junos module boilerplate changes * Add new boilerplate for junos modules * Fix CI issues
This commit is contained in:
parent
6d59ac1bb4
commit
d3e5d30f7c
32 changed files with 1696 additions and 508 deletions
|
@ -83,7 +83,7 @@
|
|||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'<disable/>' in config.xml"
|
||||
- result.diff.prepared | search("\+ *disable")
|
||||
- "'<name>ge-0/0/1</name>' in config.xml"
|
||||
|
||||
- name: Enable interface
|
||||
|
@ -103,7 +103,7 @@
|
|||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'<disable/>' not in config.xml"
|
||||
- result.diff.prepared | search("\- *disable")
|
||||
- "'<name>ge-0/0/1</name>' in config.xml"
|
||||
|
||||
- name: Delete interface
|
||||
|
@ -124,3 +124,109 @@
|
|||
that:
|
||||
- "result.changed == true"
|
||||
- "'<name>ge-0/0/1</name>' not in config.xml"
|
||||
|
||||
- name: Aggregate setup- delete interface ge-0/0/1
|
||||
net_interface:
|
||||
name: ge-0/0/1
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- name: Aggregate setup- delete interface ge-0/0/2
|
||||
net_interface:
|
||||
name: ge-0/0/2
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- name: Set interface on aggregate
|
||||
net_interface:
|
||||
aggregate:
|
||||
- { name: ge-0/0/1, description: test-interface-1, speed: 1g, duplex: half, mtu: 512}
|
||||
- { name: ge-0/0/2, description: test-interface-2, speed: 10m, duplex: full, mtu: 256}
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- result.diff.prepared | search("\+ *ge-0/0/1")
|
||||
- result.diff.prepared | search("\+ *description test-interface-1")
|
||||
- result.diff.prepared | search("\+ *speed 1g")
|
||||
- result.diff.prepared | search("\+ *mtu 512")
|
||||
- result.diff.prepared | search("\+ *link-mode half-duplex")
|
||||
- result.diff.prepared | search("\+ *description test-interface-2")
|
||||
- result.diff.prepared | search("\+ *speed 10m")
|
||||
- result.diff.prepared | search("\+ * mtu 256")
|
||||
- result.diff.prepared | search("\+ *link-mode full-duplex")
|
||||
|
||||
- name: Set interface on aggregate (idempotent)
|
||||
net_interface:
|
||||
aggregate:
|
||||
- { name: ge-0/0/1, description: test-interface-1, speed: 1g, duplex: half, mtu: 512}
|
||||
- { name: ge-0/0/2, description: test-interface-2, speed: 10m, duplex: full, mtu: 256}
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
|
||||
- name: Disable interface on aggregate
|
||||
net_interface:
|
||||
aggregate:
|
||||
- { name: ge-0/0/1, description: test-interface-1, speed: 1g, duplex: half, mtu: 512, state: down}
|
||||
- { name: ge-0/0/2, description: test-interface-2, speed: 10m, duplex: full, mtu: 256, state: down}
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- result.diff.prepared | search("\+ *disable")
|
||||
|
||||
- name: Enable interface on aggregate
|
||||
net_interface:
|
||||
aggregate:
|
||||
- { name: ge-0/0/1, description: test-interface-1, speed: 1g, duplex: half, mtu: 512, state: up}
|
||||
- { name: ge-0/0/2, description: test-interface-2, speed: 10m, duplex: full, mtu: 256, state: up}
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- result.diff.prepared | search("\- *disable")
|
||||
|
||||
- name: Delete interface on aggregate
|
||||
net_interface:
|
||||
aggregate:
|
||||
- { name: ge-0/0/1, description: test-interface-1, speed: 1g, duplex: half, mtu: 512, state: absent}
|
||||
- { name: ge-0/0/2, description: test-interface-2, speed: 10m, duplex: full, mtu: 256, state: absent}
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- result.diff.prepared | search("\- *ge-0/0/1")
|
||||
- result.diff.prepared | search("\- *description test-interface-1")
|
||||
- result.diff.prepared | search("\- *speed 1g")
|
||||
- result.diff.prepared | search("\- *mtu 512")
|
||||
- result.diff.prepared | search("\- *link-mode half-duplex")
|
||||
- result.diff.prepared | search("\- *description test-interface-2")
|
||||
- result.diff.prepared | search("\- *speed 10m")
|
||||
- result.diff.prepared | search("\- * mtu 256")
|
||||
- result.diff.prepared | search("\- *link-mode full-duplex")
|
||||
|
||||
- name: Delete interface aggregate (idempotent)
|
||||
net_interface:
|
||||
aggregate:
|
||||
- { name: ge-0/0/1, description: test-interface-1, speed: 1g, duplex: half, mtu: 512, state: absent}
|
||||
- { name: ge-0/0/2, description: test-interface-2, speed: 10m, duplex: full, mtu: 256, state: absent}
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue