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:
Ganesh Nalawade 2017-08-04 14:55:58 +05:30 committed by GitHub
commit d3e5d30f7c
32 changed files with 1696 additions and 508 deletions

View file

@ -110,3 +110,151 @@
- assert:
that:
- "result.changed == false"
- name: Aggregate setup- delete interface ge-0/0/1
junos_l3_interface:
name: ge-0/0/1
ipv4: 1.1.1.1
ipv6: fd5d:12c9:2201:1::1
state: absent
provider: "{{ netconf }}"
register: result
- name: Aggregate setup- delete interface ge-0/0/2
junos_l3_interface:
name: ge-0/0/2
ipv4: 2.2.2.2
ipv6: fd5d:12c9:2201:2::2
state: absent
provider: "{{ netconf }}"
register: result
- name: Configure l3 interface in aggregate
junos_l3_interface:
aggregate:
- name: ge-0/0/1
ipv4: 1.1.1.1
ipv6: fd5d:12c9:2201:1::1
- name: ge-0/0/2
ipv4: 2.2.2.2
ipv6: fd5d:12c9:2201:2::2
provider: "{{ netconf }}"
register: result
- assert:
that:
- 'result.changed == true'
- "'edit interfaces ge-0/0/1 unit 0 family inet' in result.diff.prepared"
- result.diff.prepared | search("\+ *address 1.1.1.1/32")
- "'edit interfaces ge-0/0/1 unit 0 family inet6' in result.diff.prepared"
- result.diff.prepared | search("\+ *address fd5d:12c9:2201:1::1/128")
- "'edit interfaces ge-0/0/2 unit 0 family inet' in result.diff.prepared"
- result.diff.prepared | search("\+ *address 2.2.2.2/32")
- "'edit interfaces ge-0/0/2 unit 0 family inet6' in result.diff.prepared"
- result.diff.prepared | search("\+ *address fd5d:12c9:2201:2::2/128")
- name: Configure l3 interface in aggregate (idempotent)
junos_l3_interface:
aggregate:
- name: ge-0/0/1
ipv4: 1.1.1.1
ipv6: fd5d:12c9:2201:1::1
active: True
- name: ge-0/0/2
ipv4: 2.2.2.2
ipv6: fd5d:12c9:2201:2::2
active: True
provider: "{{ netconf }}"
register: result
- assert:
that:
- 'result.changed == false'
- name: Deactivate l3 interface configuration
junos_l3_interface:
aggregate:
- name: ge-0/0/1
ipv4: 1.1.1.1
ipv6: fd5d:12c9:2201:1::1
active: False
- name: ge-0/0/2
ipv4: 2.2.2.2
ipv6: fd5d:12c9:2201:2::2
active: False
provider: "{{ netconf }}"
register: result
- assert:
that:
- 'result.changed == true'
- result.diff.prepared | search("! *inactive[:] address 1.1.1.1/32")
- result.diff.prepared | search("! *inactive[:] address fd5d:12c9:2201:1::1/128")
- result.diff.prepared | search("! *inactive[:] address 2.2.2.2/32")
- result.diff.prepared | search("! *inactive[:] address fd5d:12c9:2201:2::2/128")
- name: Activate l3 interface configuration
junos_l3_interface:
aggregate:
- name: ge-0/0/1
ipv4: 1.1.1.1
ipv6: fd5d:12c9:2201:1::1
active: True
- name: ge-0/0/2
ipv4: 2.2.2.2
ipv6: fd5d:12c9:2201:2::2
active: True
provider: "{{ netconf }}"
register: result
- assert:
that:
- 'result.changed == true'
- result.diff.prepared | search("! *active[:] address 1.1.1.1/32")
- result.diff.prepared | search("! *active[:] address fd5d:12c9:2201:1::1/128")
- result.diff.prepared | search("! *active[:] address 2.2.2.2/32")
- result.diff.prepared | search("! *active[:] address fd5d:12c9:2201:2::2/128")
- name: Delete l3 interface configuration
junos_l3_interface:
aggregate:
- name: ge-0/0/1
ipv4: 1.1.1.1
ipv6: fd5d:12c9:2201:1::1
state: absent
- name: ge-0/0/2
ipv4: 2.2.2.2
ipv6: fd5d:12c9:2201:2::2
state: absent
provider: "{{ netconf }}"
register: result
- assert:
that:
- 'result.changed == true'
- "'edit interfaces ge-0/0/1 unit 0 family inet' in result.diff.prepared"
- result.diff.prepared | search("\- *address 1.1.1.1/32")
- "'edit interfaces ge-0/0/1 unit 0 family inet6' in result.diff.prepared"
- result.diff.prepared | search("\- *address fd5d:12c9:2201:1::1/128")
- "'edit interfaces ge-0/0/2 unit 0 family inet' in result.diff.prepared"
- result.diff.prepared | search("\- *address 2.2.2.2/32")
- "'edit interfaces ge-0/0/2 unit 0 family inet6' in result.diff.prepared"
- result.diff.prepared | search("\- *address fd5d:12c9:2201:2::2/128")
- name: Delete l3 interface configuration (idempotent)
junos_l3_interface:
aggregate:
- name: ge-0/0/1
ipv4: 1.1.1.1
ipv6: fd5d:12c9:2201:1::1
state: absent
- name: ge-0/0/2
ipv4: 2.2.2.2
ipv6: fd5d:12c9:2201:2::2
state: absent
provider: "{{ netconf }}"
register: result
- assert:
that:
- 'result.changed == false'