feat: Add Infrahub Jinja2 transforms for VLANs, interfaces, and VXLAN (#20) #24
@@ -44,15 +44,7 @@
|
||||
"value": null
|
||||
},
|
||||
"ip_addresses": {
|
||||
"edges": [
|
||||
{
|
||||
"node": {
|
||||
"address": {
|
||||
"value": "10.0.255.11/32"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
"edges": []
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -228,7 +220,7 @@
|
||||
{
|
||||
"node": {
|
||||
"address": {
|
||||
"value": "10.255.255.0/31"
|
||||
"value": "10.0.199.254/31"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -264,7 +256,15 @@
|
||||
}
|
||||
},
|
||||
"ip_addresses": {
|
||||
"edges": []
|
||||
"edges": [
|
||||
{
|
||||
"node": {
|
||||
"address": {
|
||||
"value": "10.0.3.0/31"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,106 +1,12 @@
|
||||
[
|
||||
{
|
||||
"type": "ethernet",
|
||||
"name": "Ethernet1",
|
||||
"description": "host1",
|
||||
"enabled": true,
|
||||
"mtu": null,
|
||||
"speed": null,
|
||||
"mode": "trunk",
|
||||
"lag": "Port-Channel1",
|
||||
"ip_addresses": []
|
||||
},
|
||||
{
|
||||
"type": "ethernet",
|
||||
"name": "Ethernet10",
|
||||
"description": "mlag peer link",
|
||||
"enabled": true,
|
||||
"mtu": null,
|
||||
"speed": null,
|
||||
"mode": "trunk",
|
||||
"lag": "Port-Channel999",
|
||||
"ip_addresses": []
|
||||
},
|
||||
{
|
||||
"type": "ethernet",
|
||||
"name": "Ethernet11",
|
||||
"description": "spine1",
|
||||
"enabled": true,
|
||||
"mtu": 9214,
|
||||
"speed": null,
|
||||
"mode": "routed",
|
||||
"lag": null,
|
||||
"ip_addresses": ["10.0.1.1/31"]
|
||||
},
|
||||
{
|
||||
"type": "ethernet",
|
||||
"name": "Ethernet12",
|
||||
"description": "spine2",
|
||||
"enabled": true,
|
||||
"mtu": 9214,
|
||||
"speed": null,
|
||||
"mode": "routed",
|
||||
"lag": null,
|
||||
"ip_addresses": ["10.0.2.1/31"]
|
||||
},
|
||||
{
|
||||
"type": "loopback",
|
||||
"name": "Loopback0",
|
||||
"description": "Router-ID",
|
||||
"enabled": true,
|
||||
"mtu": null,
|
||||
"ip_addresses": ["10.0.250.11/32"]
|
||||
},
|
||||
{
|
||||
"type": "loopback",
|
||||
"name": "Loopback1",
|
||||
"description": "VTEP",
|
||||
"enabled": true,
|
||||
"mtu": null,
|
||||
"ip_addresses": ["10.0.255.11/32"]
|
||||
},
|
||||
{
|
||||
"type": "lag",
|
||||
"name": "Port-Channel1",
|
||||
"description": "host1",
|
||||
"enabled": true,
|
||||
"mtu": null,
|
||||
"lacp_mode": "active",
|
||||
"mlag_id": 1,
|
||||
"members": ["Ethernet1"],
|
||||
"ip_addresses": []
|
||||
},
|
||||
{
|
||||
"type": "lag",
|
||||
"name": "Port-Channel999",
|
||||
"description": "MLAG Peer",
|
||||
"enabled": true,
|
||||
"mtu": null,
|
||||
"lacp_mode": "active",
|
||||
"mlag_id": null,
|
||||
"members": ["Ethernet10"],
|
||||
"ip_addresses": []
|
||||
},
|
||||
{
|
||||
"type": "vlan",
|
||||
"name": "Vlan4090",
|
||||
"description": "MLAG Peer-Link",
|
||||
"enabled": true,
|
||||
"mtu": null,
|
||||
"vlan_id": 4090,
|
||||
"virtual_router_address": null,
|
||||
"autostate": false,
|
||||
"ip_addresses": ["10.255.255.0/31"]
|
||||
},
|
||||
{
|
||||
"type": "vlan",
|
||||
"name": "Vlan4091",
|
||||
"description": "MLAG iBGP Peering",
|
||||
"enabled": true,
|
||||
"mtu": 9214,
|
||||
"vlan_id": 4091,
|
||||
"virtual_router_address": null,
|
||||
"autostate": true,
|
||||
"ip_addresses": []
|
||||
}
|
||||
{"description":"host1","enabled":true,"ip_addresses":[],"lag":"Port-Channel1","mode":"trunk","mtu":null,"name":"Ethernet1","speed":null,"type":"ethernet"},
|
||||
{"description":"mlag peer link","enabled":true,"ip_addresses":[],"lag":"Port-Channel999","mode":"trunk","mtu":null,"name":"Ethernet10","speed":null,"type":"ethernet"},
|
||||
{"description":"spine1","enabled":true,"ip_addresses":["10.0.1.1/31"],"lag":null,"mode":"routed","mtu":9214,"name":"Ethernet11","speed":null,"type":"ethernet"},
|
||||
{"description":"spine2","enabled":true,"ip_addresses":["10.0.2.1/31"],"lag":null,"mode":"routed","mtu":9214,"name":"Ethernet12","speed":null,"type":"ethernet"},
|
||||
{"description":"Router-ID","enabled":true,"ip_addresses":["10.0.250.11/32"],"mtu":null,"name":"Loopback0","type":"loopback"},
|
||||
{"description":"VTEP","enabled":true,"ip_addresses":[],"mtu":null,"name":"Loopback1","type":"loopback"},
|
||||
{"description":"host1","enabled":true,"ip_addresses":[],"lacp_mode":"active","members":["Ethernet1"],"mlag_id":1,"mtu":null,"name":"Port-Channel1","type":"lag"},
|
||||
{"description":"MLAG Peer","enabled":true,"ip_addresses":[],"lacp_mode":"active","members":["Ethernet10"],"mlag_id":null,"mtu":null,"name":"Port-Channel999","type":"lag"},
|
||||
{"autostate":false,"description":"MLAG Peer-Link","enabled":true,"ip_addresses":["10.0.199.254/31"],"mtu":null,"name":"Vlan4090","type":"vlan","virtual_router_address":null,"vlan_id":4090},
|
||||
{"autostate":true,"description":"MLAG iBGP Peering","enabled":true,"ip_addresses":["10.0.3.0/31"],"mtu":9214,"name":"Vlan4091","type":"vlan","virtual_router_address":null,"vlan_id":4091}
|
||||
]
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
---
|
||||
# Integration test for interface_yang_transform
|
||||
# Usage: infrahubctl test transforms/tests/interface_yang/test.yml
|
||||
apiVersion: infrahub.app/v1
|
||||
kind: IntegrationTest
|
||||
spec:
|
||||
kind: jinja2-transform-integration
|
||||
name: interface_yang_transform_leaf1
|
||||
transform: interface_yang_transform
|
||||
params:
|
||||
device_name: leaf1
|
||||
input: input.json
|
||||
output: output.json
|
||||
version: "1.0"
|
||||
infrahub_tests:
|
||||
- resource: Jinja2Transform
|
||||
resource_name: interface_yang_transform
|
||||
tests:
|
||||
- name: smoke_check
|
||||
spec:
|
||||
kind: jinja2-transform-smoke
|
||||
- name: render_leaf1
|
||||
spec:
|
||||
kind: jinja2-transform-unit-render
|
||||
directory: transforms/tests/interface_yang
|
||||
input: input.json
|
||||
output: output.json
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
"value": "standard"
|
||||
},
|
||||
"trunk_groups": {
|
||||
"value": []
|
||||
"value": null
|
||||
},
|
||||
"stp_enabled": {
|
||||
"value": true
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
[
|
||||
{
|
||||
"vlan_id": 40,
|
||||
"name": "test-l2-vxlan",
|
||||
"status": "ACTIVE",
|
||||
"vlan_type": "standard",
|
||||
"trunk_groups": [],
|
||||
"stp_enabled": true,
|
||||
"trunk_groups": null,
|
||||
"vlan_id": 40,
|
||||
"vlan_type": "standard",
|
||||
"vni": 110040,
|
||||
"vni_type": "l2vni"
|
||||
},
|
||||
{
|
||||
"vlan_id": 4090,
|
||||
"name": "mlag-peer",
|
||||
"status": "ACTIVE",
|
||||
"vlan_type": "mlag_peer",
|
||||
"trunk_groups": ["mlag-peer"],
|
||||
"stp_enabled": false,
|
||||
"trunk_groups": ["mlag-peer"],
|
||||
"vlan_id": 4090,
|
||||
"vlan_type": "mlag_peer",
|
||||
"vni": null,
|
||||
"vni_type": null
|
||||
},
|
||||
{
|
||||
"vlan_id": 4091,
|
||||
"name": "mlag-ibgp",
|
||||
"status": "ACTIVE",
|
||||
"vlan_type": "mlag_ibgp",
|
||||
"trunk_groups": ["mlag-peer"],
|
||||
"stp_enabled": false,
|
||||
"trunk_groups": ["mlag-peer"],
|
||||
"vlan_id": 4091,
|
||||
"vlan_type": "mlag_ibgp",
|
||||
"vni": null,
|
||||
"vni_type": null
|
||||
}
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
---
|
||||
# Integration test for vlan_yang_transform
|
||||
# Usage: infrahubctl test transforms/tests/vlan_yang/test.yml
|
||||
apiVersion: infrahub.app/v1
|
||||
kind: IntegrationTest
|
||||
spec:
|
||||
kind: jinja2-transform-integration
|
||||
name: vlan_yang_transform_leaf1
|
||||
transform: vlan_yang_transform
|
||||
params:
|
||||
device_name: leaf1
|
||||
input: input.json
|
||||
output: output.json
|
||||
version: "1.0"
|
||||
infrahub_tests:
|
||||
- resource: Jinja2Transform
|
||||
resource_name: vlan_yang_transform
|
||||
tests:
|
||||
- name: smoke_check
|
||||
spec:
|
||||
kind: jinja2-transform-smoke
|
||||
- name: render_leaf1
|
||||
spec:
|
||||
kind: jinja2-transform-unit-render
|
||||
directory: transforms/tests/vlan_yang
|
||||
input: input.json
|
||||
output: output.json
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
{
|
||||
"node": {
|
||||
"source_address": {
|
||||
"value": "10.0.255.11"
|
||||
"value": "10.0.255.11/32"
|
||||
},
|
||||
"udp_port": {
|
||||
"value": 4789
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
{
|
||||
"vtep": {
|
||||
"source_address": "10.0.255.11",
|
||||
"learn_restrict": "any",
|
||||
"source_address": "10.0.255.11/32",
|
||||
"source_interface": "Loopback1",
|
||||
"udp_port": 4789,
|
||||
"learn_restrict": "any",
|
||||
"vlan_vni_mappings": [
|
||||
{
|
||||
"vlan_id": 40,
|
||||
"vlan_name": "test-l2-vxlan",
|
||||
"vni": 110040,
|
||||
"vni_type": "l2vni"
|
||||
}
|
||||
{"vlan_id": 40, "vlan_name": "test-l2-vxlan", "vni": 110040, "vni_type": "l2vni"}
|
||||
],
|
||||
"vrf_vni_mappings": []
|
||||
}
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
---
|
||||
# Integration test for vxlan_yang_transform
|
||||
# Usage: infrahubctl test transforms/tests/vxlan_yang/test.yml
|
||||
apiVersion: infrahub.app/v1
|
||||
kind: IntegrationTest
|
||||
spec:
|
||||
kind: jinja2-transform-integration
|
||||
name: vxlan_yang_transform_leaf1
|
||||
transform: vxlan_yang_transform
|
||||
params:
|
||||
device_name: leaf1
|
||||
input: input.json
|
||||
output: output.json
|
||||
version: "1.0"
|
||||
infrahub_tests:
|
||||
- resource: Jinja2Transform
|
||||
resource_name: vxlan_yang_transform
|
||||
tests:
|
||||
- name: smoke_check
|
||||
spec:
|
||||
kind: jinja2-transform-smoke
|
||||
- name: render_leaf1
|
||||
spec:
|
||||
kind: jinja2-transform-unit-render
|
||||
directory: transforms/tests/vxlan_yang
|
||||
input: input.json
|
||||
output: output.json
|
||||
|
||||
Reference in New Issue
Block a user