mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-10-22 20:13: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
|
@ -23,13 +23,13 @@
|
|||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'+ test-1' in result.diff.prepared"
|
||||
- "'+ description test-vrf-1;' in result.diff.prepared"
|
||||
- "'+ instance-type vrf;' in result.diff.prepared"
|
||||
- "'+ interface ge-0/0/5.0;' in result.diff.prepared"
|
||||
- "'+ interface ge-0/0/6.0;' in result.diff.prepared"
|
||||
- "'+ route-distinguisher 3.3.3.3:10;' in result.diff.prepared"
|
||||
- "'+ vrf-target target:65513:111;' in result.diff.prepared"
|
||||
- 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/5.0")
|
||||
- result.diff.prepared | search("\+ *interface ge-0/0/6.0")
|
||||
- result.diff.prepared | search("\+ *route-distinguisher 3.3.3.3:10")
|
||||
- result.diff.prepared | search("\+ *vrf-target target:65513:111")
|
||||
|
||||
- name: Configure vrf and its parameter (idempotent)
|
||||
net_vrf:
|
||||
|
@ -65,69 +65,17 @@
|
|||
that:
|
||||
- "result.changed == true"
|
||||
- "'[edit routing-instances test-1]' in result.diff.prepared"
|
||||
- "'+ interface ge-0/0/2.0;' in result.diff.prepared"
|
||||
- "'+ interface ge-0/0/3.0;' in result.diff.prepared"
|
||||
- "'- interface ge-0/0/5.0;' in result.diff.prepared"
|
||||
- "'- interface ge-0/0/6.0;' in result.diff.prepared"
|
||||
- result.diff.prepared | search("\+ *interface ge-0/0/2.0")
|
||||
- result.diff.prepared | search("\+ *interface ge-0/0/3.0")
|
||||
- result.diff.prepared | search("\- *interface ge-0/0/5.0")
|
||||
- result.diff.prepared | search("\- *interface ge-0/0/6.0")
|
||||
- "'[edit routing-instances test-1]' in result.diff.prepared"
|
||||
- "'- route-distinguisher 3.3.3.3:10;' in result.diff.prepared"
|
||||
- "'+ route-distinguisher 1.1.1.1:10;' in result.diff.prepared"
|
||||
- "'- vrf-target target:65513:111;' in result.diff.prepared"
|
||||
- "'+ vrf-target target:65514:113;' in result.diff.prepared"
|
||||
- result.diff.prepared | search("\- *route-distinguisher 3.3.3.3:10")
|
||||
- result.diff.prepared | search("\+ *route-distinguisher 1.1.1.1:10")
|
||||
- result.diff.prepared | search("\- *vrf-target target:65513:111")
|
||||
- result.diff.prepared | search("\+ *vrf-target target:65514:113")
|
||||
|
||||
|
||||
- name: Deactivate vrf
|
||||
net_vrf:
|
||||
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
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'[edit routing-instances]' in result.diff.prepared"
|
||||
- "'! inactive: test-1' in result.diff.prepared"
|
||||
- "'[edit routing-instances test-1]' in result.diff.prepared"
|
||||
- "'! inactive: interface ge-0/0/2.0' in result.diff.prepared"
|
||||
- "'! inactive: interface ge-0/0/3.0' in result.diff.prepared"
|
||||
- "'[edit routing-instances test-1]' in result.diff.prepared"
|
||||
- "'! inactive: route-distinguisher' in result.diff.prepared"
|
||||
- "'! inactive: vrf-target' in result.diff.prepared"
|
||||
|
||||
- name: Activate vrf
|
||||
net_vrf:
|
||||
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
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'[edit routing-instances]' in result.diff.prepared"
|
||||
- "'! active: test-1' in result.diff.prepared"
|
||||
- "'[edit routing-instances test-1]' in result.diff.prepared"
|
||||
- "'! active: interface ge-0/0/2.0' in result.diff.prepared"
|
||||
- "'! active: interface ge-0/0/3.0' in result.diff.prepared"
|
||||
- "'[edit routing-instances test-1]' in result.diff.prepared"
|
||||
- "'! active: route-distinguisher' in result.diff.prepared"
|
||||
- "'! active: vrf-target' in result.diff.prepared"
|
||||
|
||||
- name: Delete vrf
|
||||
net_vrf:
|
||||
name: test-1
|
||||
|
@ -144,14 +92,13 @@
|
|||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'[edit routing-instances]' in result.diff.prepared"
|
||||
- "'- test-1' in result.diff.prepared"
|
||||
- "'- description test-vrf-1;' in result.diff.prepared"
|
||||
- "'- instance-type vrf;' in result.diff.prepared"
|
||||
- "'- interface ge-0/0/2.0;' in result.diff.prepared"
|
||||
- "'- interface ge-0/0/3.0;' in result.diff.prepared"
|
||||
- "'- route-distinguisher 1.1.1.1:10;' in result.diff.prepared"
|
||||
- "'- vrf-target target:65514:113;' in result.diff.prepared"
|
||||
- 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")
|
||||
|
||||
- name: Delete vrf (idempotent)
|
||||
net_vrf:
|
||||
|
@ -169,3 +116,95 @@
|
|||
- assert:
|
||||
that:
|
||||
- "result.changed == false"
|
||||
|
||||
- name: Setup vrf using aggregate
|
||||
net_vrf:
|
||||
aggregate:
|
||||
- name: test-1
|
||||
state: absent
|
||||
- name: test-2
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- name: Create vrf using aggregate
|
||||
net_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: Delete vrf configuration using aggregate
|
||||
net_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)
|
||||
net_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