From 59aa12ab87303dd230e71337df22e096eade54d8 Mon Sep 17 00:00:00 2001 From: gifrerenom <lluis.gifre@cttc.es> Date: Mon, 19 Jun 2023 17:16:14 +0000 Subject: [PATCH] Hackfest: - Reorganized Hackfest#1 descriptors to new sub-folder - Added descriptors for Hackfest#2 - Minor corrections in --- hackfest/containerlab/commands.txt | 50 +++-- .../{ => hackfest1}/context-topology.json | 0 .../{ => hackfest1}/device-all.json | 0 .../device-netconf-openconfig.json | 0 .../{ => hackfest1}/device-tapi-ols.json | 0 .../{ => hackfest1}/links.json | 0 .../{ => hackfest1}/service-l3vpn.json | 0 .../hackfest2/emulated-topology.json | 210 ++++++++++++++++++ .../hackfest2/emulated-topology.png | Bin 0 -> 41576 bytes .../tfs-descriptors/hackfest2/l3-service.json | 44 ++++ 10 files changed, 282 insertions(+), 22 deletions(-) rename hackfest/tfs-descriptors/{ => hackfest1}/context-topology.json (100%) rename hackfest/tfs-descriptors/{ => hackfest1}/device-all.json (100%) rename hackfest/tfs-descriptors/{ => hackfest1}/device-netconf-openconfig.json (100%) rename hackfest/tfs-descriptors/{ => hackfest1}/device-tapi-ols.json (100%) rename hackfest/tfs-descriptors/{ => hackfest1}/links.json (100%) rename hackfest/tfs-descriptors/{ => hackfest1}/service-l3vpn.json (100%) create mode 100644 hackfest/tfs-descriptors/hackfest2/emulated-topology.json create mode 100644 hackfest/tfs-descriptors/hackfest2/emulated-topology.png create mode 100644 hackfest/tfs-descriptors/hackfest2/l3-service.json diff --git a/hackfest/containerlab/commands.txt b/hackfest/containerlab/commands.txt index c6af3341d..18c629c0a 100644 --- a/hackfest/containerlab/commands.txt +++ b/hackfest/containerlab/commands.txt @@ -24,12 +24,38 @@ $ sudo containerlab deploy --topo tfs-scenario.clab.yml ## Access SR Bash $ docker exec -it clab-tfs-scenario-srl1 bash -## Acess SR CLI +## Access SR CLI $ docker exec -it clab-tfs-scenario-srl1 sr_cli ## Destroy scenario $ sudo containerlab destroy --topo tfs-scenario.clab.yml + +## Enable OpenConfig data models and set as default: +$ docker exec -it clab-tfs-scenario-srl1 sr_cli +# enter candidate +# system management openconfig admin-state enable +# system gnmi-server network-instance mgmt yang-models openconfig +# commit stay +# quit + + +# Configure containerlab clients +docker exec -it clab-tfs-scenario-client1 bash + ip address add 172.16.1.10/24 dev eth1 + ip route add 172.16.2.0/24 via 172.16.1.1 + + ping 172.16.2.1 or 172.16.2.10 + +docker exec -it clab-tfs-scenario-client2 bash + ip address add 172.16.2.10/24 dev eth1 + ip route add 172.16.1.0/24 via 172.16.2.1 + + ping 172.16.1.1 or 172.16.1.10 + + + + ## Install gNMIc $ sudo bash -c "$(curl -sL https://get-gnmic.kmrd.dev)" @@ -52,13 +78,6 @@ $ gnmic -a clab-srlinux-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf s $ssh admin@clab-srlinux-srl1 -## Enable OpenConfig data models and set as default: -$ docker exec -it clab-tfs-scenario-srl1 sr_cli -# enter candidate -# system management openconfig admin-state enable -# system gnmi-server network-instance mgmt yang-models openconfig -# commit stay -# quit # Check configurations done: @@ -76,18 +95,5 @@ gnmic -a 172.100.100.102 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set - gnmic -a 172.100.100.102 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/interfaces/interface[name=ethernet-1/1]/subinterfaces/subinterface[index=0]' gnmic -a 172.100.100.102 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/interfaces/interface[name=ethernet-1/2]/subinterfaces/subinterface[index=0]' -# Run driver in standalone mode +# Run gNMI Driver in standalone mode (advanced) PYTHONPATH=./src python -m src.device.tests.test_gnmi - -# Configure clients -docker exec -it clab-tfs-scenario-client1 bash - ip address add 172.16.1.10/24 dev eth1 - ip route add 172.16.2.0/24 via 172.16.1.1 - - ping 172.16.2.1 or 172.16.2.10 - -docker exec -it clab-tfs-scenario-client2 bash - ip address add 172.16.2.10/24 dev eth1 - ip route add 172.16.1.0/24 via 172.16.2.1 - - ping 172.16.1.1 or 172.16.1.10 diff --git a/hackfest/tfs-descriptors/context-topology.json b/hackfest/tfs-descriptors/hackfest1/context-topology.json similarity index 100% rename from hackfest/tfs-descriptors/context-topology.json rename to hackfest/tfs-descriptors/hackfest1/context-topology.json diff --git a/hackfest/tfs-descriptors/device-all.json b/hackfest/tfs-descriptors/hackfest1/device-all.json similarity index 100% rename from hackfest/tfs-descriptors/device-all.json rename to hackfest/tfs-descriptors/hackfest1/device-all.json diff --git a/hackfest/tfs-descriptors/device-netconf-openconfig.json b/hackfest/tfs-descriptors/hackfest1/device-netconf-openconfig.json similarity index 100% rename from hackfest/tfs-descriptors/device-netconf-openconfig.json rename to hackfest/tfs-descriptors/hackfest1/device-netconf-openconfig.json diff --git a/hackfest/tfs-descriptors/device-tapi-ols.json b/hackfest/tfs-descriptors/hackfest1/device-tapi-ols.json similarity index 100% rename from hackfest/tfs-descriptors/device-tapi-ols.json rename to hackfest/tfs-descriptors/hackfest1/device-tapi-ols.json diff --git a/hackfest/tfs-descriptors/links.json b/hackfest/tfs-descriptors/hackfest1/links.json similarity index 100% rename from hackfest/tfs-descriptors/links.json rename to hackfest/tfs-descriptors/hackfest1/links.json diff --git a/hackfest/tfs-descriptors/service-l3vpn.json b/hackfest/tfs-descriptors/hackfest1/service-l3vpn.json similarity index 100% rename from hackfest/tfs-descriptors/service-l3vpn.json rename to hackfest/tfs-descriptors/hackfest1/service-l3vpn.json diff --git a/hackfest/tfs-descriptors/hackfest2/emulated-topology.json b/hackfest/tfs-descriptors/hackfest2/emulated-topology.json new file mode 100644 index 000000000..6885c7d90 --- /dev/null +++ b/hackfest/tfs-descriptors/hackfest2/emulated-topology.json @@ -0,0 +1,210 @@ +{ + "contexts": [ + {"context_id": {"context_uuid": {"uuid": "admin"}}} + ], + "topologies": [ + {"topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}} + ], + "devices": [ + { + "device_id": {"device_uuid": {"uuid": "R1"}}, "device_type": "emu-packet-router", "device_drivers": [0], + "device_endpoints": [], "device_operational_status": 1, "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": {"endpoints": [ + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/1"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/2"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/3"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/4"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/5"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/6"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/1"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/2"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/3"} + ]}}} + ]} + }, + { + "device_id": {"device_uuid": {"uuid": "R2"}}, "device_type": "emu-packet-router", "device_drivers": [0], + "device_endpoints": [], "device_operational_status": 1, "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": {"endpoints": [ + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/1"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/2"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/3"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/4"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/5"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/6"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/1"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/2"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/3"} + ]}}} + ]} + }, + { + "device_id": {"device_uuid": {"uuid": "R3"}}, "device_type": "emu-packet-router", "device_drivers": [0], + "device_endpoints": [], "device_operational_status": 1, "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": {"endpoints": [ + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/1"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/2"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/3"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/4"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/5"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/6"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/1"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/2"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/3"} + ]}}} + ]} + }, + { + "device_id": {"device_uuid": {"uuid": "R4"}}, "device_type": "emu-packet-router", "device_drivers": [0], + "device_endpoints": [], "device_operational_status": 1, "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": {"endpoints": [ + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/1"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/2"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/3"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/4"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/5"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/6"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/1"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/2"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/3"} + ]}}} + ]} + }, + { + "device_id": {"device_uuid": {"uuid": "R5"}}, "device_type": "emu-packet-router", "device_drivers": [0], + "device_endpoints": [], "device_operational_status": 1, "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": {"endpoints": [ + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/1"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/2"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/3"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/4"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/5"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/6"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/1"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/2"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/3"} + ]}}} + ]} + }, + { + "device_id": {"device_uuid": {"uuid": "R6"}}, "device_type": "emu-packet-router", "device_drivers": [0], + "device_endpoints": [], "device_operational_status": 1, "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": {"endpoints": [ + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/1"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/2"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/3"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/4"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/5"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/6"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/1"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/2"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/3"} + ]}}} + ]} + }, + { + "device_id": {"device_uuid": {"uuid": "R7"}}, "device_type": "emu-packet-router", "device_drivers": [0], + "device_endpoints": [], "device_operational_status": 1, "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": {"endpoints": [ + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/1"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/2"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "1/3"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/1"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/2"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/3"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/4"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/5"}, + {"sample_types": [101, 102, 201, 202], "type": "copper", "uuid": "2/6"} + ]}}} + ]} + } + ], + "links": [ + {"link_id": {"link_uuid": {"uuid": "R1==R2"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R1"}}, "endpoint_uuid": {"uuid": "2/1"}}, + {"device_id": {"device_uuid": {"uuid": "R2"}}, "endpoint_uuid": {"uuid": "2/2"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R1==R6"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R1"}}, "endpoint_uuid": {"uuid": "2/2"}}, + {"device_id": {"device_uuid": {"uuid": "R6"}}, "endpoint_uuid": {"uuid": "2/1"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R1==R7"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R1"}}, "endpoint_uuid": {"uuid": "2/3"}}, + {"device_id": {"device_uuid": {"uuid": "R7"}}, "endpoint_uuid": {"uuid": "2/1"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R2==R1"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R2"}}, "endpoint_uuid": {"uuid": "2/2"}}, + {"device_id": {"device_uuid": {"uuid": "R1"}}, "endpoint_uuid": {"uuid": "2/1"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R2==R3"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R2"}}, "endpoint_uuid": {"uuid": "2/1"}}, + {"device_id": {"device_uuid": {"uuid": "R3"}}, "endpoint_uuid": {"uuid": "2/2"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R3==R2"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R3"}}, "endpoint_uuid": {"uuid": "2/2"}}, + {"device_id": {"device_uuid": {"uuid": "R2"}}, "endpoint_uuid": {"uuid": "2/1"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R3==R4"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R3"}}, "endpoint_uuid": {"uuid": "2/1"}}, + {"device_id": {"device_uuid": {"uuid": "R4"}}, "endpoint_uuid": {"uuid": "2/2"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R3==R7"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R3"}}, "endpoint_uuid": {"uuid": "2/3"}}, + {"device_id": {"device_uuid": {"uuid": "R7"}}, "endpoint_uuid": {"uuid": "2/3"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R4==R3"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R4"}}, "endpoint_uuid": {"uuid": "2/2"}}, + {"device_id": {"device_uuid": {"uuid": "R3"}}, "endpoint_uuid": {"uuid": "2/1"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R4==R5"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R4"}}, "endpoint_uuid": {"uuid": "2/1"}}, + {"device_id": {"device_uuid": {"uuid": "R5"}}, "endpoint_uuid": {"uuid": "2/2"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R5==R4"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R5"}}, "endpoint_uuid": {"uuid": "2/2"}}, + {"device_id": {"device_uuid": {"uuid": "R4"}}, "endpoint_uuid": {"uuid": "2/1"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R5==R6"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R5"}}, "endpoint_uuid": {"uuid": "2/1"}}, + {"device_id": {"device_uuid": {"uuid": "R6"}}, "endpoint_uuid": {"uuid": "2/2"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R5==R7"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R5"}}, "endpoint_uuid": {"uuid": "2/3"}}, + {"device_id": {"device_uuid": {"uuid": "R7"}}, "endpoint_uuid": {"uuid": "2/5"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R6==R1"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R6"}}, "endpoint_uuid": {"uuid": "2/1"}}, + {"device_id": {"device_uuid": {"uuid": "R1"}}, "endpoint_uuid": {"uuid": "2/2"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R6==R5"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R6"}}, "endpoint_uuid": {"uuid": "2/2"}}, + {"device_id": {"device_uuid": {"uuid": "R5"}}, "endpoint_uuid": {"uuid": "2/1"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R7==R1"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R7"}}, "endpoint_uuid": {"uuid": "2/1"}}, + {"device_id": {"device_uuid": {"uuid": "R1"}}, "endpoint_uuid": {"uuid": "2/3"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R7==R3"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R7"}}, "endpoint_uuid": {"uuid": "2/3"}}, + {"device_id": {"device_uuid": {"uuid": "R3"}}, "endpoint_uuid": {"uuid": "2/3"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R7==R5"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R7"}}, "endpoint_uuid": {"uuid": "2/5"}}, + {"device_id": {"device_uuid": {"uuid": "R5"}}, "endpoint_uuid": {"uuid": "2/3"}} + ]} + ] +} diff --git a/hackfest/tfs-descriptors/hackfest2/emulated-topology.png b/hackfest/tfs-descriptors/hackfest2/emulated-topology.png new file mode 100644 index 0000000000000000000000000000000000000000..e8684e825cd8a92d58c58c785b45203f7b0abee2 GIT binary patch literal 41576 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 U?ScPF@)Ydbb3iLY<B0G70y#xG8UO$Q literal 0 HcmV?d00001 diff --git a/hackfest/tfs-descriptors/hackfest2/l3-service.json b/hackfest/tfs-descriptors/hackfest2/l3-service.json new file mode 100644 index 000000000..540d3a7a6 --- /dev/null +++ b/hackfest/tfs-descriptors/hackfest2/l3-service.json @@ -0,0 +1,44 @@ +{ + "services": [ + { + "service_id": { + "context_id": {"context_uuid": {"uuid": "admin"}}, + "service_uuid": {"uuid": "l3-service"} + }, + "service_type": 1, + "service_status": {"service_status": 1}, + "service_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R1"}}, "endpoint_uuid": {"uuid": "1/2"}}, + {"device_id": {"device_uuid": {"uuid": "R4"}}, "endpoint_uuid": {"uuid": "1/2"}} + ], + "service_constraints": [ + {"custom": {"constraint_type": "bandwidth[gbps]", "constraint_value": "10.0"}}, + {"custom": {"constraint_type": "latency[ms]", "constraint_value": "15.2"}} + ], + "service_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "/settings", "resource_value": { + "address_families": ["IPV4"], + "bgp_as": 65000, + "bgp_route_target": "65000:333", + "mtu": 1512 + }}}, + {"action": 1, "custom": {"resource_key": "/device[R1]/endpoint[1/2]/settings", "resource_value": { + "address_ip": "3.3.2.1", + "address_prefix": 24, + "route_distinguisher": "65000:123", + "router_id": "10.10.10.1", + "sub_interface_index": 400, + "vlan_id": 400 + }}}, + {"action": 1, "custom": {"resource_key": "/device[R4]/endpoint[1/2]/settings", "resource_value": { + "address_ip": "3.3.1.1", + "address_prefix": 24, + "route_distinguisher": "65000:123", + "router_id": "20.20.20.1", + "sub_interface_index": 400, + "vlan_id": 500 + }}} + ]} + } + ] +} -- GitLab