mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-25 14:20:22 -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
|
@ -167,3 +167,171 @@
|
|||
- assert:
|
||||
that:
|
||||
- "result.changed == false"
|
||||
|
||||
- name: Setup vrf using aggregate
|
||||
junos_vrf:
|
||||
aggregate:
|
||||
- name: test-1
|
||||
state: absent
|
||||
- name: test-2
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- name: Create vrf using aggregate
|
||||
junos_vrf:
|
||||
aggregate:
|
||||
- name: test-1
|
||||
description: test-vrf-1
|
||||
interfaces:
|
||||
- ge-0/0/3
|
||||
- ge-0/0/2
|
||||
rd: 1.1.1.1:10
|
||||
target: target:65514:113
|
||||
state: present
|
||||
- name: test-2
|
||||
description: test-vrf-2
|
||||
interfaces:
|
||||
- ge-0/0/4
|
||||
- ge-0/0/5
|
||||
rd: 2.2.2.2:10
|
||||
target: target:65515:114
|
||||
state: present
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- result.diff.prepared | search("\+ *test-1")
|
||||
- result.diff.prepared | search("\+ *description test-vrf-1")
|
||||
- result.diff.prepared | search("\+ *instance-type vrf")
|
||||
- result.diff.prepared | search("\+ *interface ge-0/0/2.0")
|
||||
- result.diff.prepared | search("\+ *interface ge-0/0/3.0")
|
||||
- result.diff.prepared | search("\+ *route-distinguisher 1.1.1.1:10")
|
||||
- result.diff.prepared | search("\+ *vrf-target target:65514:113")
|
||||
- result.diff.prepared | search("\+ *test-2")
|
||||
- result.diff.prepared | search("\+ *description test-vrf-2")
|
||||
- result.diff.prepared | search("\+ *instance-type vrf")
|
||||
- result.diff.prepared | search("\+ *interface ge-0/0/4.0")
|
||||
- result.diff.prepared | search("\+ *interface ge-0/0/5.0")
|
||||
- result.diff.prepared | search("\+ *route-distinguisher 2.2.2.2:10")
|
||||
- result.diff.prepared | search("\+ *vrf-target target:65515:114")
|
||||
|
||||
- name: Deactivate vrf configuration using aggregate
|
||||
junos_vrf:
|
||||
aggregate:
|
||||
- name: test-1
|
||||
description: test-vrf-1
|
||||
interfaces:
|
||||
- ge-0/0/3
|
||||
- ge-0/0/2
|
||||
rd: 1.1.1.1:10
|
||||
target: target:65514:113
|
||||
state: present
|
||||
active: False
|
||||
- name: test-2
|
||||
description: test-vrf-2
|
||||
interfaces:
|
||||
- ge-0/0/4
|
||||
- ge-0/0/5
|
||||
rd: 2.2.2.2:10
|
||||
target: target:65515:114
|
||||
state: present
|
||||
active: False
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'edit routing-instances test-1' in result.diff.prepared"
|
||||
- result.diff.prepared | search("! *inactive[:] interface ge-0/0/2.0")
|
||||
- result.diff.prepared | search("! *inactive[:] interface ge-0/0/3.0")
|
||||
- result.diff.prepared | search("! *inactive[:] route-distinguisher")
|
||||
- result.diff.prepared | search("! *inactive[:] vrf-target")
|
||||
- "'edit routing-instances test-2' in result.diff.prepared"
|
||||
- result.diff.prepared | search("! *inactive[:] interface ge-0/0/4.0")
|
||||
- result.diff.prepared | search("! *inactive[:] interface ge-0/0/5.0")
|
||||
- result.diff.prepared | search("! *inactive[:] route-distinguisher")
|
||||
- result.diff.prepared | search("! *inactive[:] vrf-target")
|
||||
|
||||
- name: Deactivate vrf configuration using aggregate
|
||||
junos_vrf:
|
||||
aggregate:
|
||||
- name: test-1
|
||||
description: test-vrf-1
|
||||
interfaces:
|
||||
- ge-0/0/3
|
||||
- ge-0/0/2
|
||||
rd: 1.1.1.1:10
|
||||
target: target:65514:113
|
||||
state: present
|
||||
active: True
|
||||
- name: test-2
|
||||
description: test-vrf-2
|
||||
interfaces:
|
||||
- ge-0/0/4
|
||||
- ge-0/0/5
|
||||
rd: 2.2.2.2:10
|
||||
target: target:65515:114
|
||||
state: present
|
||||
active: True
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'edit routing-instances test-1' in result.diff.prepared"
|
||||
- result.diff.prepared | search("! *active[:] interface ge-0/0/2.0")
|
||||
- result.diff.prepared | search("! *active[:] interface ge-0/0/3.0")
|
||||
- result.diff.prepared | search("! *active[:] route-distinguisher")
|
||||
- result.diff.prepared | search("! *active[:] vrf-target")
|
||||
- "'edit routing-instances test-2' in result.diff.prepared"
|
||||
- result.diff.prepared | search("! *active[:] interface ge-0/0/4.0")
|
||||
- result.diff.prepared | search("! *active[:] interface ge-0/0/5.0")
|
||||
- result.diff.prepared | search("! *active[:] route-distinguisher")
|
||||
- result.diff.prepared | search("! *active[:] vrf-target")
|
||||
|
||||
- name: Delete vrf configuration using aggregate
|
||||
junos_vrf:
|
||||
aggregate:
|
||||
- name: test-1
|
||||
state: absent
|
||||
- name: test-2
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- result.diff.prepared | search("\- *test-1")
|
||||
- result.diff.prepared | search("\- *description test-vrf-1")
|
||||
- result.diff.prepared | search("\- *instance-type vrf")
|
||||
- result.diff.prepared | search("\- *interface ge-0/0/2.0")
|
||||
- result.diff.prepared | search("\- *interface ge-0/0/3.0")
|
||||
- result.diff.prepared | search("\- *route-distinguisher 1.1.1.1:10")
|
||||
- result.diff.prepared | search("\- *vrf-target target:65514:113")
|
||||
- result.diff.prepared | search("\- *test-2")
|
||||
- result.diff.prepared | search("\- *description test-vrf-2")
|
||||
- result.diff.prepared | search("\- *instance-type vrf")
|
||||
- result.diff.prepared | search("\- *interface ge-0/0/4.0")
|
||||
- result.diff.prepared | search("\- *interface ge-0/0/5.0")
|
||||
- result.diff.prepared | search("\- *route-distinguisher 2.2.2.2:10")
|
||||
- result.diff.prepared | search("\- *vrf-target target:65515:114")
|
||||
|
||||
- name: Delete vrf configuration using aggregate (idempotent)
|
||||
junos_vrf:
|
||||
aggregate:
|
||||
- name: test-1
|
||||
state: absent
|
||||
- name: test-2
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == false"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue