update intg tests and changelog
parent
02779ae85a
commit
234b503842
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
minor_changes:
|
||||
- "'consolidate' filter plugin added."
|
||||
trivial:
|
||||
- Fix sanity issues and update black vesion.
|
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
- name: Recursively find all test files
|
||||
find:
|
||||
file_type: file
|
||||
paths: "{{ role_path }}/tasks"
|
||||
recurse: false
|
||||
use_regex: true
|
||||
patterns:
|
||||
- '^(?!_|main).+$'
|
||||
delegate_to: localhost
|
||||
register: found
|
||||
|
||||
- include: "{{ item.path }}"
|
||||
loop: "{{ found.files }}"
|
|
@ -0,0 +1,134 @@
|
|||
---
|
||||
- name: Build the data structure
|
||||
ansible.builtin.set_fact:
|
||||
data_source:
|
||||
- data:
|
||||
[
|
||||
{ "name": "Loopback888" },
|
||||
{ "name": "Loopback999" },
|
||||
{ "name": "GigabitEthernet0/0" },
|
||||
{ "name": "GigabitEthernet0/1" },
|
||||
{ "name": "GigabitEthernet0/2" },
|
||||
]
|
||||
match_key: name
|
||||
prefix: acl_interfaces
|
||||
- data:
|
||||
[
|
||||
{
|
||||
"description": "Configured by Ansible Team",
|
||||
"enabled": False,
|
||||
"name": "Loopback888",
|
||||
},
|
||||
{
|
||||
"description": "Configured by Ansible Team",
|
||||
"enabled": False,
|
||||
"name": "Loopback888",
|
||||
},
|
||||
{ "enabled": True, "name": "Loopback999" },
|
||||
{
|
||||
"description": "Configured and Managed By Ansible Team",
|
||||
"enabled": True,
|
||||
"name": "GigabitEthernet0/0",
|
||||
},
|
||||
{
|
||||
"description": "This is a user template",
|
||||
"enabled": True,
|
||||
"name": "GigabitEthernet0/1",
|
||||
},
|
||||
{
|
||||
"description": "This is a user template",
|
||||
"enabled": True,
|
||||
"name": "GigabitEthernet0/2",
|
||||
},
|
||||
]
|
||||
match_key: name
|
||||
prefix: interfaces
|
||||
- data:
|
||||
[
|
||||
{ "name": "GigabitEthernet0/0" },
|
||||
{
|
||||
"mode": "access",
|
||||
"name": "GigabitEthernet0/1",
|
||||
"trunk":
|
||||
{
|
||||
"allowed_vlans":
|
||||
[
|
||||
"11",
|
||||
"12",
|
||||
"59",
|
||||
"67",
|
||||
"75",
|
||||
"77",
|
||||
"81",
|
||||
"100",
|
||||
"400-408",
|
||||
"411-413",
|
||||
"415",
|
||||
"418",
|
||||
"982",
|
||||
"986",
|
||||
"988",
|
||||
"993",
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
"mode": "trunk",
|
||||
"name": "GigabitEthernet0/2",
|
||||
"trunk":
|
||||
{
|
||||
"allowed_vlans":
|
||||
[
|
||||
"11",
|
||||
"12",
|
||||
"59",
|
||||
"67",
|
||||
"75",
|
||||
"77",
|
||||
"81",
|
||||
"100",
|
||||
"400-408",
|
||||
"411-413",
|
||||
"415",
|
||||
"418",
|
||||
"982",
|
||||
"986",
|
||||
"988",
|
||||
"993",
|
||||
],
|
||||
"encapsulation": "dot1q",
|
||||
},
|
||||
},
|
||||
]
|
||||
match_key: name
|
||||
prefix: l2_interfaces
|
||||
- data:
|
||||
[
|
||||
{
|
||||
"ipv4": [{ "address": "192.168.0.76/24" }],
|
||||
"name": "GigabitEthernet0/0",
|
||||
},
|
||||
{ "name": "GigabitEthernet0/1" },
|
||||
{ "name": "GigabitEthernet0/2" },
|
||||
{ "name": "Loopback888" },
|
||||
{ "name": "Loopback999" },
|
||||
]
|
||||
match_key: name
|
||||
prefix: l3_interfaces
|
||||
- data:
|
||||
[
|
||||
{ "no_name": True },
|
||||
{ "name": "GigabitEthernet0/1" },
|
||||
{ "name": "GigabitEthernet100/100" },
|
||||
]
|
||||
match_key: name
|
||||
prefix: ospf_interfaces
|
||||
|
||||
- name: Combine all the dictionaries based on match_keys
|
||||
set_fact:
|
||||
combined: "{{ data_source|ansible.utils.consolidate(fail_missing_match_value=False) }}"
|
||||
|
||||
- name: Assert result dicts
|
||||
assert:
|
||||
that:
|
||||
- combined == combined_facts
|
|
@ -0,0 +1,109 @@
|
|||
---
|
||||
combined_facts:
|
||||
GigabitEthernet0/0:
|
||||
acl_interfaces:
|
||||
name: GigabitEthernet0/0
|
||||
interfaces:
|
||||
description: Configured and Managed By Ansible Team
|
||||
enabled: true
|
||||
name: GigabitEthernet0/0
|
||||
l2_interfaces:
|
||||
name: GigabitEthernet0/0
|
||||
l3_interfaces:
|
||||
ipv4:
|
||||
- address: 10.8.38.76/24
|
||||
name: GigabitEthernet0/0
|
||||
ospf_interfaces: {}
|
||||
GigabitEthernet0/1:
|
||||
acl_interfaces:
|
||||
name: GigabitEthernet0/1
|
||||
interfaces:
|
||||
description: This is a user template
|
||||
enabled: true
|
||||
name: GigabitEthernet0/1
|
||||
l2_interfaces:
|
||||
mode: access
|
||||
name: GigabitEthernet0/1
|
||||
trunk:
|
||||
allowed_vlans:
|
||||
- '11'
|
||||
- '12'
|
||||
- '59'
|
||||
- '67'
|
||||
- '75'
|
||||
- '77'
|
||||
- '81'
|
||||
- '100'
|
||||
- 400-408
|
||||
- 411-413
|
||||
- '415'
|
||||
- '418'
|
||||
- '982'
|
||||
- '986'
|
||||
- '988'
|
||||
- '993'
|
||||
l3_interfaces:
|
||||
name: GigabitEthernet0/1
|
||||
ospf_interfaces:
|
||||
name: GigabitEthernet0/1
|
||||
GigabitEthernet0/2:
|
||||
acl_interfaces:
|
||||
name: GigabitEthernet0/2
|
||||
interfaces:
|
||||
description: This is a user template
|
||||
enabled: true
|
||||
name: GigabitEthernet0/2
|
||||
l2_interfaces:
|
||||
mode: trunk
|
||||
name: GigabitEthernet0/2
|
||||
trunk:
|
||||
allowed_vlans:
|
||||
- '11'
|
||||
- '12'
|
||||
- '59'
|
||||
- '67'
|
||||
- '75'
|
||||
- '77'
|
||||
- '81'
|
||||
- '100'
|
||||
- 400-408
|
||||
- 411-413
|
||||
- '415'
|
||||
- '418'
|
||||
- '982'
|
||||
- '986'
|
||||
- '988'
|
||||
- '993'
|
||||
encapsulation: dot1q
|
||||
l3_interfaces:
|
||||
name: GigabitEthernet0/2
|
||||
ospf_interfaces: {}
|
||||
GigabitEthernet100/100:
|
||||
acl_interfaces: {}
|
||||
interfaces: {}
|
||||
l2_interfaces: {}
|
||||
l3_interfaces: {}
|
||||
ospf_interfaces:
|
||||
name: GigabitEthernet100/100
|
||||
Loopback888:
|
||||
acl_interfaces:
|
||||
name: Loopback888
|
||||
interfaces:
|
||||
description: Configured by Ansible Team
|
||||
enabled: false
|
||||
name: Loopback888
|
||||
l2_interfaces: {}
|
||||
l3_interfaces:
|
||||
name: Loopback888
|
||||
ospf_interfaces: {}
|
||||
Loopback999:
|
||||
acl_interfaces:
|
||||
name: Loopback999
|
||||
interfaces:
|
||||
enabled: true
|
||||
name: Loopback999
|
||||
l2_interfaces: {}
|
||||
l3_interfaces:
|
||||
name: Loopback999
|
||||
ospf_interfaces: {}
|
||||
|
Loading…
Reference in New Issue