diff --git a/capture.pcap b/capture.pcap
deleted file mode 100644
index d59d71e2b3db7e83af6ce964ff8836ffc545cd57..0000000000000000000000000000000000000000
Binary files a/capture.pcap and /dev/null differ
diff --git a/device b/device
deleted file mode 100644
index 758ee9df4bc630c7748769d14e2918df4b495791..0000000000000000000000000000000000000000
--- a/device
+++ /dev/null
@@ -1,220 +0,0 @@
-[2025-01-15 15:49:41,972] INFO:__main__:Starting...
-[2025-01-15 15:49:41,974] DEBUG:monitoring.client.MonitoringClient:Creating channel to monitoringservice:7070...
-[2025-01-15 15:49:41,975] DEBUG:monitoring.client.MonitoringClient:Channel created
-[2025-01-15 15:49:41,975] DEBUG:device.service.DeviceServiceServicerImpl:Creating Servicer...
-[2025-01-15 15:49:41,975] DEBUG:device.service.DeviceServiceServicerImpl:Servicer Created
-[2025-01-15 15:49:41,975] DEBUG:device.service.OpenConfigServicer:Creating Servicer...
-[2025-01-15 15:49:41,975] DEBUG:device.service.OpenConfigServicer:Servicer Created
-[2025-01-15 15:49:41,975] INFO:device.service.DeviceService:Starting Service (tentative endpoint: 0.0.0.0:2020, max_workers: 200)...
-[2025-01-15 15:49:41,981] INFO:device.service.DeviceService:Listening on 0.0.0.0:2020...
-[2025-01-15 15:49:41,982] DEBUG:device.service.DeviceService:Service started
-[2025-01-15 15:49:41,982] INFO:__main__:Pre-loading drivers...
-[2025-01-15 15:49:41,982] DEBUG:context.client.ContextClient:Creating channel to 10.152.183.206:1010...
-[2025-01-15 15:49:41,983] DEBUG:context.client.ContextClient:Channel created
-[2025-01-15 15:49:41,983] DEBUG:context.client.ContextClient:ListDevices request: {}
-[2025-01-15 15:49:46,988] INFO:common.tools.client.RetryDecorator:[context.client.ContextClient:ListDevices] Retry 1/15 after 5.000000 seconds...
-[2025-01-15 15:49:46,988] DEBUG:common.tools.client.RetryDecorator:[context.client.ContextClient:connect] Running prepare method...
-[2025-01-15 15:49:46,989] DEBUG:context.client.ContextClient:ListDevices request: {}
-[2025-01-15 15:49:51,997] INFO:common.tools.client.RetryDecorator:[context.client.ContextClient:ListDevices] Retry 2/15 after 5.000000 seconds...
-[2025-01-15 15:49:51,997] DEBUG:common.tools.client.RetryDecorator:[context.client.ContextClient:connect] Running prepare method...
-[2025-01-15 15:49:51,998] DEBUG:context.client.ContextClient:ListDevices request: {}
-[2025-01-15 15:49:52,149] DEBUG:context.client.ContextClient:ListDevices result: {"devices": []}
-[2025-01-15 15:50:17,451] DEBUG:device.service.DeviceServiceServicerImpl:AddDevice request: {"components": [], "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"endpoints\": [\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"h1-eth0\"\n},\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"int\"\n}\n]\n}"}}]}, "device_drivers": ["DEVICEDRIVER_UNDEFINED"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "h1"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_UNDEFINED", "device_type": "emu-client", "name": ""}
-[2025-01-15 15:50:17,451] DEBUG:context.client.ContextClient:Creating channel to 10.152.183.206:1010...
-[2025-01-15 15:50:17,452] DEBUG:context.client.ContextClient:Channel created
-[2025-01-15 15:50:17,453] DEBUG:device.service.DeviceServiceServicerImpl:AddDevice request: {"components": [], "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "10.1.7.197"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "8080"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"timeout\": 120\n}"}}]}, "device_drivers": ["DEVICEDRIVER_RYU"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "RYU"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_UNDEFINED", "device_type": "openflow-ryu-controller", "name": ""}
-[2025-01-15 15:50:17,453] DEBUG:context.client.ContextClient:SelectDevice request: {"device_ids": {"device_ids": [{"device_uuid": {"uuid": "h1"}}]}, "include_components": true, "include_config_rules": true, "include_endpoints": true}
-[2025-01-15 15:50:17,453] DEBUG:context.client.ContextClient:Creating channel to 10.152.183.206:1010...
-[2025-01-15 15:50:17,455] DEBUG:context.client.ContextClient:Channel created
-[2025-01-15 15:50:17,455] DEBUG:context.client.ContextClient:SelectDevice request: {"device_ids": {"device_ids": [{"device_uuid": {"uuid": "RYU"}}]}, "include_components": true, "include_config_rules": true, "include_endpoints": true}
-[2025-01-15 15:50:17,456] DEBUG:device.service.DeviceServiceServicerImpl:AddDevice request: {"components": [], "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"endpoints\": [\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"h3-eth0\"\n},\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"int\"\n}\n]\n}"}}]}, "device_drivers": ["DEVICEDRIVER_UNDEFINED"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "h3"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_UNDEFINED", "device_type": "emu-client", "name": ""}
-[2025-01-15 15:50:17,457] DEBUG:context.client.ContextClient:Creating channel to 10.152.183.206:1010...
-[2025-01-15 15:50:17,457] DEBUG:context.client.ContextClient:Channel created
-[2025-01-15 15:50:17,457] DEBUG:context.client.ContextClient:SelectDevice request: {"device_ids": {"device_ids": [{"device_uuid": {"uuid": "h3"}}]}, "include_components": true, "include_config_rules": true, "include_endpoints": true}
-[2025-01-15 15:50:17,458] DEBUG:device.service.DeviceServiceServicerImpl:AddDevice request: {"components": [], "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"endpoints\": [\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"h2-eth0\"\n},\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"int\"\n}\n]\n}"}}]}, "device_drivers": ["DEVICEDRIVER_UNDEFINED"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "h2"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_UNDEFINED", "device_type": "emu-client", "name": ""}
-[2025-01-15 15:50:17,458] DEBUG:context.client.ContextClient:Creating channel to 10.152.183.206:1010...
-[2025-01-15 15:50:17,459] DEBUG:context.client.ContextClient:Channel created
-[2025-01-15 15:50:17,459] DEBUG:context.client.ContextClient:SelectDevice request: {"device_ids": {"device_ids": [{"device_uuid": {"uuid": "h2"}}]}, "include_components": true, "include_config_rules": true, "include_endpoints": true}
-[2025-01-15 15:50:17,461] DEBUG:device.service.DeviceServiceServicerImpl:AddDevice request: {"components": [], "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"endpoints\": [\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"h4-eth0\"\n},\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"int\"\n}\n]\n}"}}]}, "device_drivers": ["DEVICEDRIVER_UNDEFINED"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "h4"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_UNDEFINED", "device_type": "emu-client", "name": ""}
-[2025-01-15 15:50:17,462] DEBUG:context.client.ContextClient:Creating channel to 10.152.183.206:1010...
-[2025-01-15 15:50:17,463] DEBUG:context.client.ContextClient:Channel created
-[2025-01-15 15:50:17,463] DEBUG:context.client.ContextClient:SelectDevice request: {"device_ids": {"device_ids": [{"device_uuid": {"uuid": "h4"}}]}, "include_components": true, "include_config_rules": true, "include_endpoints": true}
-[2025-01-15 15:50:17,464] DEBUG:context.client.ContextClient:SelectDevice result: {"devices": []}
-[2025-01-15 15:50:17,464] DEBUG:context.client.ContextClient:SetDevice request: {"components": [], "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"endpoints\": [\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"h1-eth0\"\n},\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"int\"\n}\n]\n}"}}]}, "device_drivers": ["DEVICEDRIVER_UNDEFINED"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "h1"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_UNDEFINED", "device_type": "emu-client", "name": ""}
-[2025-01-15 15:50:17,472] DEBUG:context.client.ContextClient:SelectDevice result: {"devices": []}
-[2025-01-15 15:50:17,473] DEBUG:context.client.ContextClient:SetDevice request: {"components": [], "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"endpoints\": [\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"h3-eth0\"\n},\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"int\"\n}\n]\n}"}}]}, "device_drivers": ["DEVICEDRIVER_UNDEFINED"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "h3"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_UNDEFINED", "device_type": "emu-client", "name": ""}
-[2025-01-15 15:50:17,517] DEBUG:context.client.ContextClient:SetDevice result: {"device_uuid": {"uuid": "43be2984-467b-56da-a3e6-cfb6f1e8d978"}}
-[2025-01-15 15:50:17,517] DEBUG:context.client.ContextClient:SelectDevice request: {"device_ids": {"device_ids": [{"device_uuid": {"uuid": "43be2984-467b-56da-a3e6-cfb6f1e8d978"}}]}, "include_components": true, "include_config_rules": true, "include_endpoints": true}
-[2025-01-15 15:50:17,533] DEBUG:context.client.ContextClient:SelectDevice result: {"devices": []}
-[2025-01-15 15:50:17,533] DEBUG:context.client.ContextClient:SetDevice request: {"components": [], "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"endpoints\": [\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"h4-eth0\"\n},\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"int\"\n}\n]\n}"}}]}, "device_drivers": ["DEVICEDRIVER_UNDEFINED"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "h4"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_UNDEFINED", "device_type": "emu-client", "name": ""}
-[2025-01-15 15:50:17,534] DEBUG:context.client.ContextClient:SelectDevice result: {"devices": []}
-[2025-01-15 15:50:17,534] DEBUG:context.client.ContextClient:SetDevice request: {"components": [], "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "10.1.7.197"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "8080"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"timeout\": 120\n}"}}]}, "device_drivers": ["DEVICEDRIVER_RYU"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "RYU"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_UNDEFINED", "device_type": "openflow-ryu-controller", "name": ""}
-[2025-01-15 15:50:17,552] DEBUG:context.client.ContextClient:SetDevice result: {"device_uuid": {"uuid": "2a79cf95-9c1c-5588-83be-9533d4100b51"}}
-[2025-01-15 15:50:17,552] DEBUG:context.client.ContextClient:SelectDevice request: {"device_ids": {"device_ids": [{"device_uuid": {"uuid": "2a79cf95-9c1c-5588-83be-9533d4100b51"}}]}, "include_components": true, "include_config_rules": true, "include_endpoints": true}
-[2025-01-15 15:50:17,561] DEBUG:context.client.ContextClient:SelectDevice result: {"devices": []}
-[2025-01-15 15:50:17,562] DEBUG:context.client.ContextClient:SetDevice request: {"components": [], "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"endpoints\": [\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"h2-eth0\"\n},\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"int\"\n}\n]\n}"}}]}, "device_drivers": ["DEVICEDRIVER_UNDEFINED"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "h2"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_UNDEFINED", "device_type": "emu-client", "name": ""}
-[2025-01-15 15:50:17,581] DEBUG:context.client.ContextClient:SelectDevice result: {"devices": [{"components": [], "controller_id": {}, "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"endpoints\": [\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"h3-eth0\"\n},\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"int\"\n}\n]\n}"}}]}, "device_drivers": ["DEVICEDRIVER_UNDEFINED"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "43be2984-467b-56da-a3e6-cfb6f1e8d978"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_UNDEFINED", "device_type": "emu-client", "name": "h3"}]}
-[2025-01-15 15:50:17,582] INFO:device.service.driver_api.DriverInstanceCache:Selecting driver for device(43be2984-467b-56da-a3e6-cfb6f1e8d978) with filter_fields({'device_type': 'emu-client', 'driver': [0]})...
-[2025-01-15 15:50:17,582] INFO:device.service.driver_api.DriverInstanceCache:Driver(EmulatedDriver) selected for device(43be2984-467b-56da-a3e6-cfb6f1e8d978) with filter_fields({'device_type': 'emu-client', 'driver': [0]})...
-[2025-01-15 15:50:17,583] DEBUG:tzlocal:/etc/timezone found, contents:
- Etc/UTC
-
-[2025-01-15 15:50:17,584] DEBUG:tzlocal:/etc/localtime found
-[2025-01-15 15:50:17,586] DEBUG:tzlocal:2 found:
- {'/etc/timezone': 'Etc/UTC', '/etc/localtime is a symlink to': 'Etc/UTC'}
-[2025-01-15 15:50:17,587] DEBUG:device.service.Tools:results_getconfig = [('/endpoints/endpoint[h3-eth0]', {'uuid': 'h3-eth0', 'type': 'copper/internal'}), ('/endpoints/endpoint[int]', {'uuid': 'int', 'type': 'copper/internal'})]
-[2025-01-15 15:50:17,589] DEBUG:context.client.ContextClient:SetDevice request: {"components": [], "controller_id": {}, "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"endpoints\": [\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"h3-eth0\"\n},\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"int\"\n}\n]\n}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[h3-eth0]", "resource_value": "{\"type\": \"copper/internal\", \"uuid\": \"h3-eth0\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[int]", "resource_value": "{\"type\": \"copper/internal\", \"uuid\": \"int\"}"}}]}, "device_drivers": ["DEVICEDRIVER_UNDEFINED"], "device_endpoints": [{"endpoint_id": {"device_id": {"device_uuid": {"uuid": "43be2984-467b-56da-a3e6-cfb6f1e8d978"}}, "endpoint_uuid": {"uuid": "h3-eth0"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper/internal", "kpi_sample_types": [], "name": ""}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "43be2984-467b-56da-a3e6-cfb6f1e8d978"}}, "endpoint_uuid": {"uuid": "int"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper/internal", "kpi_sample_types": [], "name": ""}], "device_id": {"device_uuid": {"uuid": "43be2984-467b-56da-a3e6-cfb6f1e8d978"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "emu-client", "name": "h3"}
-[2025-01-15 15:50:17,589] DEBUG:context.client.ContextClient:SetDevice result: {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}
-[2025-01-15 15:50:17,590] DEBUG:context.client.ContextClient:SelectDevice request: {"device_ids": {"device_ids": [{"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}]}, "include_components": true, "include_config_rules": true, "include_endpoints": true}
-[2025-01-15 15:50:17,598] DEBUG:context.client.ContextClient:SetDevice result: {"device_uuid": {"uuid": "c929235b-c0bd-5016-9e63-e7eaafaaa792"}}
-[2025-01-15 15:50:17,599] DEBUG:context.client.ContextClient:SelectDevice request: {"device_ids": {"device_ids": [{"device_uuid": {"uuid": "c929235b-c0bd-5016-9e63-e7eaafaaa792"}}]}, "include_components": true, "include_config_rules": true, "include_endpoints": true}
-[2025-01-15 15:50:17,603] DEBUG:context.client.ContextClient:SelectDevice result: {"devices": [{"components": [], "controller_id": {}, "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"endpoints\": [\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"h1-eth0\"\n},\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"int\"\n}\n]\n}"}}]}, "device_drivers": ["DEVICEDRIVER_UNDEFINED"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "2a79cf95-9c1c-5588-83be-9533d4100b51"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_UNDEFINED", "device_type": "emu-client", "name": "h1"}]}
-[2025-01-15 15:50:17,604] INFO:device.service.driver_api.DriverInstanceCache:Selecting driver for device(2a79cf95-9c1c-5588-83be-9533d4100b51) with filter_fields({'device_type': 'emu-client', 'driver': [0]})...
-[2025-01-15 15:50:17,604] INFO:device.service.driver_api.DriverInstanceCache:Driver(EmulatedDriver) selected for device(2a79cf95-9c1c-5588-83be-9533d4100b51) with filter_fields({'device_type': 'emu-client', 'driver': [0]})...
-[2025-01-15 15:50:17,605] DEBUG:device.service.Tools:results_getconfig = [('/endpoints/endpoint[h1-eth0]', {'uuid': 'h1-eth0', 'type': 'copper/internal'}), ('/endpoints/endpoint[int]', {'uuid': 'int', 'type': 'copper/internal'})]
-[2025-01-15 15:50:17,607] DEBUG:context.client.ContextClient:SetDevice request: {"components": [], "controller_id": {}, "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"endpoints\": [\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"h1-eth0\"\n},\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"int\"\n}\n]\n}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[h1-eth0]", "resource_value": "{\"type\": \"copper/internal\", \"uuid\": \"h1-eth0\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[int]", "resource_value": "{\"type\": \"copper/internal\", \"uuid\": \"int\"}"}}]}, "device_drivers": ["DEVICEDRIVER_UNDEFINED"], "device_endpoints": [{"endpoint_id": {"device_id": {"device_uuid": {"uuid": "2a79cf95-9c1c-5588-83be-9533d4100b51"}}, "endpoint_uuid": {"uuid": "h1-eth0"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper/internal", "kpi_sample_types": [], "name": ""}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "2a79cf95-9c1c-5588-83be-9533d4100b51"}}, "endpoint_uuid": {"uuid": "int"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper/internal", "kpi_sample_types": [], "name": ""}], "device_id": {"device_uuid": {"uuid": "2a79cf95-9c1c-5588-83be-9533d4100b51"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "emu-client", "name": "h1"}
-[2025-01-15 15:50:17,618] DEBUG:context.client.ContextClient:SetDevice result: {"device_uuid": {"uuid": "53ad149d-c690-52ea-aba9-66a7fd5dbd85"}}
-[2025-01-15 15:50:17,618] DEBUG:context.client.ContextClient:SelectDevice request: {"device_ids": {"device_ids": [{"device_uuid": {"uuid": "53ad149d-c690-52ea-aba9-66a7fd5dbd85"}}]}, "include_components": true, "include_config_rules": true, "include_endpoints": true}
-[2025-01-15 15:50:17,640] DEBUG:context.client.ContextClient:SetDevice result: {"device_uuid": {"uuid": "43be2984-467b-56da-a3e6-cfb6f1e8d978"}}
-[2025-01-15 15:50:17,641] DEBUG:context.client.ContextClient:SelectDevice request: {"device_ids": {"device_ids": [{"device_uuid": {"uuid": "43be2984-467b-56da-a3e6-cfb6f1e8d978"}}]}, "include_components": false, "include_config_rules": false, "include_endpoints": true}
-[2025-01-15 15:50:17,641] DEBUG:context.client.ContextClient:SelectDevice result: {"devices": [{"components": [], "controller_id": {}, "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "10.1.7.197"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "8080"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"timeout\": 120\n}"}}]}, "device_drivers": ["DEVICEDRIVER_RYU"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_UNDEFINED", "device_type": "openflow-ryu-controller", "name": "RYU"}]}
-[2025-01-15 15:50:17,642] INFO:device.service.driver_api.DriverInstanceCache:Selecting driver for device(b2ed9526-554d-5a79-9dc9-33e00faecef1) with filter_fields({'device_type': 'openflow-ryu-controller', 'driver': [13]})...
-[2025-01-15 15:50:17,642] INFO:device.service.driver_api.DriverInstanceCache:Driver(OpenFlowDriver) selected for device(b2ed9526-554d-5a79-9dc9-33e00faecef1) with filter_fields({'device_type': 'openflow-ryu-controller', 'driver': [13]})...
-[2025-01-15 15:50:17,642] INFO:device.service.drivers.OpenFlow.TfsApiClient:self_devices_urlhttp://10.1.7.197:8080/v1.0/topology/switches
-[2025-01-15 15:50:17,644] DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): 10.1.7.197:8080
-[2025-01-15 15:50:17,647] DEBUG:urllib3.connectionpool:http://10.1.7.197:8080 "GET / HTTP/1.1" 200 306
-[2025-01-15 15:50:17,647] INFO:device.service.drivers.OpenFlow.OpenFlowDriver:resource_key:['__endpoints__']
-[2025-01-15 15:50:17,648] INFO:device.service.drivers.OpenFlow.OpenFlowDriver:resource_key:__endpoints__
-[2025-01-15 15:50:17,648] DEBUG:device.service.drivers.OpenFlow.TfsApiClient:[get_devices_endpoints] begin
-[2025-01-15 15:50:17,649] DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): 10.1.7.197:8080
-[2025-01-15 15:50:17,652] DEBUG:urllib3.connectionpool:http://10.1.7.197:8080 "GET /v1.0/topology/switches HTTP/1.1" 200 1661
-[2025-01-15 15:50:17,652] INFO:device.service.drivers.OpenFlow.TfsApiClient:[get_devices_endpoints] json_reply_switches=[{"dpid": "0000000000000001", "ports": [{"dpid": "0000000000000001", "port_no": "00000001", "hw_addr": "82:52:b9:9f:7d:b6", "name": "s1-eth1"}, {"dpid": "0000000000000001", "port_no": "00000002", "hw_addr": "be:1c:08:bc:fb:fa", "name": "s1-eth2"}]}, {"dpid": "0000000000000004", "ports": [{"dpid": "0000000000000004", "port_no": "00000001", "hw_addr": "52:32:f8:50:c5:77", "name": "s4-eth1"}, {"dpid": "0000000000000004", "port_no": "00000002", "hw_addr": "8a:bb:c9:b2:79:ba", "name": "s4-eth2"}]}, {"dpid": "0000000000000003", "ports": [{"dpid": "0000000000000003", "port_no": "00000001", "hw_addr": "46:0e:0d:04:58:28", "name": "s3-eth1"}, {"dpid": "0000000000000003", "port_no": "00000002", "hw_addr": "02:bb:8c:18:e0:24", "name": "s3-eth2"}]}, {"dpid": "0000000000000002", "ports": [{"dpid": "0000000000000002", "port_no": "00000001", "hw_addr": "6e:b4:7e:ea:22:2a", "name": "s2-eth1"}, {"dpid": "0000000000000002", "port_no": "00000004", "hw_addr": "ea:43:e4:a5:2c:7f", "name": "s2-eth4"}, {"dpid": "0000000000000002", "port_no": "00000002", "hw_addr": "da:d2:dd:5f:e0:9e", "name": "s2-eth2"}, {"dpid": "0000000000000002", "port_no": "00000003", "hw_addr": "d6:9e:c2:9f:2b:e2", "name": "s2-eth3"}]}, {"dpid": "0000000000000005", "ports": [{"dpid": "0000000000000005", "port_no": "00000004", "hw_addr": "b2:3b:fa:f9:89:91", "name": "s5-eth4"}, {"dpid": "0000000000000005", "port_no": "00000001", "hw_addr": "66:be:8c:28:47:67", "name": "s5-eth1"}, {"dpid": "0000000000000005", "port_no": "00000002", "hw_addr": "62:86:c3:2e:09:c0", "name": "s5-eth2"}, {"dpid": "0000000000000005", "port_no": "00000003", "hw_addr": "0e:b5:83:92:2d:2e", "name": "s5-eth3"}]}]
-[2025-01-15 15:50:17,654] DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): 10.1.7.197:8080
-[2025-01-15 15:50:17,656] DEBUG:urllib3.connectionpool:http://10.1.7.197:8080 "GET /v1.0/topology/links HTTP/1.1" 200 2240
-[2025-01-15 15:50:17,657] INFO:device.service.drivers.OpenFlow.TfsApiClient:link_endpoint_ids are [('0000000000000003', 's3-eth2'), ('0000000000000004', 's4-eth1')]
-[2025-01-15 15:50:17,657] INFO:device.service.drivers.OpenFlow.TfsApiClient:link_endpoint_ids are [('0000000000000004', 's4-eth1'), ('0000000000000003', 's3-eth2')]
-[2025-01-15 15:50:17,657] INFO:device.service.drivers.OpenFlow.TfsApiClient:link_endpoint_ids are [('0000000000000005', 's5-eth1'), ('0000000000000004', 's4-eth2')]
-[2025-01-15 15:50:17,657] INFO:device.service.drivers.OpenFlow.TfsApiClient:link_endpoint_ids are [('0000000000000005', 's5-eth2'), ('0000000000000001', 's1-eth2')]
-[2025-01-15 15:50:17,657] INFO:device.service.drivers.OpenFlow.TfsApiClient:link_endpoint_ids are [('0000000000000002', 's2-eth2'), ('0000000000000003', 's3-eth1')]
-[2025-01-15 15:50:17,657] INFO:device.service.drivers.OpenFlow.TfsApiClient:link_endpoint_ids are [('0000000000000002', 's2-eth1'), ('0000000000000001', 's1-eth1')]
-[2025-01-15 15:50:17,657] INFO:device.service.drivers.OpenFlow.TfsApiClient:link_endpoint_ids are [('0000000000000001', 's1-eth1'), ('0000000000000002', 's2-eth1')]
-[2025-01-15 15:50:17,657] INFO:device.service.drivers.OpenFlow.TfsApiClient:link_endpoint_ids are [('0000000000000003', 's3-eth1'), ('0000000000000002', 's2-eth2')]
-[2025-01-15 15:50:17,657] INFO:device.service.drivers.OpenFlow.TfsApiClient:link_endpoint_ids are [('0000000000000001', 's1-eth2'), ('0000000000000005', 's5-eth2')]
-[2025-01-15 15:50:17,657] INFO:device.service.drivers.OpenFlow.TfsApiClient:link_endpoint_ids are [('0000000000000004', 's4-eth2'), ('0000000000000005', 's5-eth1')]
-[2025-01-15 15:50:17,657] DEBUG:device.service.drivers.OpenFlow.TfsApiClient:[get_devices_endpoints] topology; returning
-[2025-01-15 15:50:17,658] DEBUG:device.service.Tools:results_getconfig = [('/devices/device[0000000000000001]', {'uuid': '0000000000000001', 'name': '0000000000000001', 'type': 'packet-switch', 'status': 2, 'drivers': 'DEVICEDRIVER_RYU'}), ('/devices/device[0000000000000001]', {'uuid': '0000000000000001', 'name': '0000000000000001', 'type': 'packet-switch', 'status': 2, 'drivers': 'DEVICEDRIVER_RYU'}), ('/devices/device[0000000000000004]', {'uuid': '0000000000000004', 'name': '0000000000000004', 'type': 'packet-switch', 'status': 2, 'drivers': 'DEVICEDRIVER_RYU'}), ('/devices/device[0000000000000004]', {'uuid': '0000000000000004', 'name': '0000000000000004', 'type': 'packet-switch', 'status': 2, 'drivers': 'DEVICEDRIVER_RYU'}), ('/devices/device[0000000000000003]', {'uuid': '0000000000000003', 'name': '0000000000000003', 'type': 'packet-switch', 'status': 2, 'drivers': 'DEVICEDRIVER_RYU'}), ('/devices/device[0000000000000003]', {'uuid': '0000000000000003', 'name': '0000000000000003', 'type': 'packet-switch', 'status': 2, 'drivers': 'DEVICEDRIVER_RYU'}), ('/devices/device[0000000000000002]', {'uuid': '0000000000000002', 'name': '0000000000000002', 'type': 'packet-switch', 'status': 2, 'drivers': 'DEVICEDRIVER_RYU'}), ('/devices/device[0000000000000002]', {'uuid': '0000000000000002', 'name': '0000000000000002', 'type': 'packet-switch', 'status': 2, 'drivers': 'DEVICEDRIVER_RYU'}), ('/devices/device[0000000000000002]', {'uuid': '0000000000000002', 'name': '0000000000000002', 'type': 'packet-switch', 'status': 2, 'drivers': 'DEVICEDRIVER_RYU'}), ('/devices/device[0000000000000002]', {'uuid': '0000000000000002', 'name': '0000000000000002', 'type': 'packet-switch', 'status': 2, 'drivers': 'DEVICEDRIVER_RYU'}), ('/devices/device[0000000000000005]', {'uuid': '0000000000000005', 'name': '0000000000000005', 'type': 'packet-switch', 'status': 2, 'drivers': 'DEVICEDRIVER_RYU'}), ('/devices/device[0000000000000005]', {'uuid': '0000000000000005', 'name': '0000000000000005', 'type': 'packet-switch', 'status': 2, 'drivers': 'DEVICEDRIVER_RYU'}), ('/devices/device[0000000000000005]', {'uuid': '0000000000000005', 'name': '0000000000000005', 'type': 'packet-switch', 'status': 2, 'drivers': 'DEVICEDRIVER_RYU'}), ('/devices/device[0000000000000005]', {'uuid': '0000000000000005', 'name': '0000000000000005', 'type': 'packet-switch', 'status': 2, 'drivers': 'DEVICEDRIVER_RYU'}), ('/endpoints/endpoint[s1-eth1]', {'device_uuid': '0000000000000001', 'uuid': 's1-eth1', 'name': 's1-eth1', 'type': 'copper'}), ('/endpoints/endpoint[s1-eth2]', {'device_uuid': '0000000000000001', 'uuid': 's1-eth2', 'name': 's1-eth2', 'type': 'copper'}), ('/endpoints/endpoint[s4-eth1]', {'device_uuid': '0000000000000004', 'uuid': 's4-eth1', 'name': 's4-eth1', 'type': 'copper'}), ('/endpoints/endpoint[s4-eth2]', {'device_uuid': '0000000000000004', 'uuid': 's4-eth2', 'name': 's4-eth2', 'type': 'copper'}), ('/endpoints/endpoint[s3-eth1]', {'device_uuid': '0000000000000003', 'uuid': 's3-eth1', 'name': 's3-eth1', 'type': 'copper'}), ('/endpoints/endpoint[s3-eth2]', {'device_uuid': '0000000000000003', 'uuid': 's3-eth2', 'name': 's3-eth2', 'type': 'copper'}), ('/endpoints/endpoint[s2-eth1]', {'device_uuid': '0000000000000002', 'uuid': 's2-eth1', 'name': 's2-eth1', 'type': 'copper'}), ('/endpoints/endpoint[s2-eth4]', {'device_uuid': '0000000000000002', 'uuid': 's2-eth4', 'name': 's2-eth4', 'type': 'copper'}), ('/endpoints/endpoint[s2-eth2]', {'device_uuid': '0000000000000002', 'uuid': 's2-eth2', 'name': 's2-eth2', 'type': 'copper'}), ('/endpoints/endpoint[s2-eth3]', {'device_uuid': '0000000000000002', 'uuid': 's2-eth3', 'name': 's2-eth3', 'type': 'copper'}), ('/endpoints/endpoint[s5-eth4]', {'device_uuid': '0000000000000005', 'uuid': 's5-eth4', 'name': 's5-eth4', 'type': 'copper'}), ('/endpoints/endpoint[s5-eth1]', {'device_uuid': '0000000000000005', 'uuid': 's5-eth1', 'name': 's5-eth1', 'type': 'copper'}), ('/endpoints/endpoint[s5-eth2]', {'device_uuid': '0000000000000005', 'uuid': 's5-eth2', 'name': 's5-eth2', 'type': 'copper'}), ('/endpoints/endpoint[s5-eth3]', {'device_uuid': '0000000000000005', 'uuid': 's5-eth3', 'name': 's5-eth3', 'type': 'copper'}), ('/links/link[s3-eth2==s4-eth1]', {'uuid': 's3-eth2==s4-eth1', 'name': '0000000000000003-s3-eth2===0000000000000004-s4-eth1', 'endpoints': [('0000000000000003', 's3-eth2'), ('0000000000000004', 's4-eth1')]}), ('/links/link[s4-eth1==s3-eth2]', {'uuid': 's4-eth1==s3-eth2', 'name': '0000000000000004-s4-eth1===0000000000000003-s3-eth2', 'endpoints': [('0000000000000004', 's4-eth1'), ('0000000000000003', 's3-eth2')]}), ('/links/link[s5-eth1==s4-eth2]', {'uuid': 's5-eth1==s4-eth2', 'name': '0000000000000005-s5-eth1===0000000000000004-s4-eth2', 'endpoints': [('0000000000000005', 's5-eth1'), ('0000000000000004', 's4-eth2')]}), ('/links/link[s5-eth2==s1-eth2]', {'uuid': 's5-eth2==s1-eth2', 'name': '0000000000000005-s5-eth2===0000000000000001-s1-eth2', 'endpoints': [('0000000000000005', 's5-eth2'), ('0000000000000001', 's1-eth2')]}), ('/links/link[s2-eth2==s3-eth1]', {'uuid': 's2-eth2==s3-eth1', 'name': '0000000000000002-s2-eth2===0000000000000003-s3-eth1', 'endpoints': [('0000000000000002', 's2-eth2'), ('0000000000000003', 's3-eth1')]}), ('/links/link[s2-eth1==s1-eth1]', {'uuid': 's2-eth1==s1-eth1', 'name': '0000000000000002-s2-eth1===0000000000000001-s1-eth1', 'endpoints': [('0000000000000002', 's2-eth1'), ('0000000000000001', 's1-eth1')]}), ('/links/link[s1-eth1==s2-eth1]', {'uuid': 's1-eth1==s2-eth1', 'name': '0000000000000001-s1-eth1===0000000000000002-s2-eth1', 'endpoints': [('0000000000000001', 's1-eth1'), ('0000000000000002', 's2-eth1')]}), ('/links/link[s3-eth1==s2-eth2]', {'uuid': 's3-eth1==s2-eth2', 'name': '0000000000000003-s3-eth1===0000000000000002-s2-eth2', 'endpoints': [('0000000000000003', 's3-eth1'), ('0000000000000002', 's2-eth2')]}), ('/links/link[s1-eth2==s5-eth2]', {'uuid': 's1-eth2==s5-eth2', 'name': '0000000000000001-s1-eth2===0000000000000005-s5-eth2', 'endpoints': [('0000000000000001', 's1-eth2'), ('0000000000000005', 's5-eth2')]}), ('/links/link[s4-eth2==s5-eth1]', {'uuid': 's4-eth2==s5-eth1', 'name': '0000000000000004-s4-eth2===0000000000000005-s5-eth1', 'endpoints': [('0000000000000004', 's4-eth2'), ('0000000000000005', 's5-eth1')]})]
-[2025-01-15 15:50:17,660] INFO:device.service.drivers.OpenFlow.OpenFlowDriver:resource_key:['__endpoints__']
-[2025-01-15 15:50:17,660] INFO:device.service.drivers.OpenFlow.OpenFlowDriver:resource_key:__endpoints__
-[2025-01-15 15:50:17,660] DEBUG:device.service.drivers.OpenFlow.TfsApiClient:[get_devices_endpoints] begin
-[2025-01-15 15:50:17,661] DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): 10.1.7.197:8080
-[2025-01-15 15:50:17,663] DEBUG:urllib3.connectionpool:http://10.1.7.197:8080 "GET /v1.0/topology/switches HTTP/1.1" 200 1661
-[2025-01-15 15:50:17,664] INFO:device.service.drivers.OpenFlow.TfsApiClient:[get_devices_endpoints] json_reply_switches=[{"dpid": "0000000000000001", "ports": [{"dpid": "0000000000000001", "port_no": "00000001", "hw_addr": "82:52:b9:9f:7d:b6", "name": "s1-eth1"}, {"dpid": "0000000000000001", "port_no": "00000002", "hw_addr": "be:1c:08:bc:fb:fa", "name": "s1-eth2"}]}, {"dpid": "0000000000000004", "ports": [{"dpid": "0000000000000004", "port_no": "00000001", "hw_addr": "52:32:f8:50:c5:77", "name": "s4-eth1"}, {"dpid": "0000000000000004", "port_no": "00000002", "hw_addr": "8a:bb:c9:b2:79:ba", "name": "s4-eth2"}]}, {"dpid": "0000000000000003", "ports": [{"dpid": "0000000000000003", "port_no": "00000001", "hw_addr": "46:0e:0d:04:58:28", "name": "s3-eth1"}, {"dpid": "0000000000000003", "port_no": "00000002", "hw_addr": "02:bb:8c:18:e0:24", "name": "s3-eth2"}]}, {"dpid": "0000000000000002", "ports": [{"dpid": "0000000000000002", "port_no": "00000001", "hw_addr": "6e:b4:7e:ea:22:2a", "name": "s2-eth1"}, {"dpid": "0000000000000002", "port_no": "00000004", "hw_addr": "ea:43:e4:a5:2c:7f", "name": "s2-eth4"}, {"dpid": "0000000000000002", "port_no": "00000002", "hw_addr": "da:d2:dd:5f:e0:9e", "name": "s2-eth2"}, {"dpid": "0000000000000002", "port_no": "00000003", "hw_addr": "d6:9e:c2:9f:2b:e2", "name": "s2-eth3"}]}, {"dpid": "0000000000000005", "ports": [{"dpid": "0000000000000005", "port_no": "00000004", "hw_addr": "b2:3b:fa:f9:89:91", "name": "s5-eth4"}, {"dpid": "0000000000000005", "port_no": "00000001", "hw_addr": "66:be:8c:28:47:67", "name": "s5-eth1"}, {"dpid": "0000000000000005", "port_no": "00000002", "hw_addr": "62:86:c3:2e:09:c0", "name": "s5-eth2"}, {"dpid": "0000000000000005", "port_no": "00000003", "hw_addr": "0e:b5:83:92:2d:2e", "name": "s5-eth3"}]}]
-[2025-01-15 15:50:17,666] DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): 10.1.7.197:8080
-[2025-01-15 15:50:17,667] DEBUG:context.client.ContextClient:SetDevice result: {"device_uuid": {"uuid": "2a79cf95-9c1c-5588-83be-9533d4100b51"}}
-[2025-01-15 15:50:17,667] DEBUG:context.client.ContextClient:SelectDevice request: {"device_ids": {"device_ids": [{"device_uuid": {"uuid": "2a79cf95-9c1c-5588-83be-9533d4100b51"}}]}, "include_components": false, "include_config_rules": false, "include_endpoints": true}
-[2025-01-15 15:50:17,668] DEBUG:urllib3.connectionpool:http://10.1.7.197:8080 "GET /v1.0/topology/links HTTP/1.1" 200 2240
-[2025-01-15 15:50:17,669] INFO:device.service.drivers.OpenFlow.TfsApiClient:link_endpoint_ids are [('0000000000000003', 's3-eth2'), ('0000000000000004', 's4-eth1')]
-[2025-01-15 15:50:17,669] INFO:device.service.drivers.OpenFlow.TfsApiClient:link_endpoint_ids are [('0000000000000004', 's4-eth1'), ('0000000000000003', 's3-eth2')]
-[2025-01-15 15:50:17,669] INFO:device.service.drivers.OpenFlow.TfsApiClient:link_endpoint_ids are [('0000000000000005', 's5-eth1'), ('0000000000000004', 's4-eth2')]
-[2025-01-15 15:50:17,669] INFO:device.service.drivers.OpenFlow.TfsApiClient:link_endpoint_ids are [('0000000000000005', 's5-eth2'), ('0000000000000001', 's1-eth2')]
-[2025-01-15 15:50:17,669] INFO:device.service.drivers.OpenFlow.TfsApiClient:link_endpoint_ids are [('0000000000000002', 's2-eth2'), ('0000000000000003', 's3-eth1')]
-[2025-01-15 15:50:17,669] INFO:device.service.drivers.OpenFlow.TfsApiClient:link_endpoint_ids are [('0000000000000002', 's2-eth1'), ('0000000000000001', 's1-eth1')]
-[2025-01-15 15:50:17,669] INFO:device.service.drivers.OpenFlow.TfsApiClient:link_endpoint_ids are [('0000000000000001', 's1-eth1'), ('0000000000000002', 's2-eth1')]
-[2025-01-15 15:50:17,669] INFO:device.service.drivers.OpenFlow.TfsApiClient:link_endpoint_ids are [('0000000000000003', 's3-eth1'), ('0000000000000002', 's2-eth2')]
-[2025-01-15 15:50:17,669] INFO:device.service.drivers.OpenFlow.TfsApiClient:link_endpoint_ids are [('0000000000000001', 's1-eth2'), ('0000000000000005', 's5-eth2')]
-[2025-01-15 15:50:17,670] INFO:device.service.drivers.OpenFlow.TfsApiClient:link_endpoint_ids are [('0000000000000004', 's4-eth2'), ('0000000000000005', 's5-eth1')]
-[2025-01-15 15:50:17,670] DEBUG:device.service.drivers.OpenFlow.TfsApiClient:[get_devices_endpoints] topology; returning
-[2025-01-15 15:50:17,675] DEBUG:context.client.ContextClient:SetDevice request: {"components": [], "controller_id": {}, "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "10.1.7.197"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "8080"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"timeout\": 120\n}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000001]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000001\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000001\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000004]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000004\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000004\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000003]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000003\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000003\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000002]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000002\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000002\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000005]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000005\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000005\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s1-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000001\", \"name\": \"s1-eth1\", \"type\": \"copper\", \"uuid\": \"s1-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s1-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000001\", \"name\": \"s1-eth2\", \"type\": \"copper\", \"uuid\": \"s1-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s4-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000004\", \"name\": \"s4-eth1\", \"type\": \"copper\", \"uuid\": \"s4-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s4-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000004\", \"name\": \"s4-eth2\", \"type\": \"copper\", \"uuid\": \"s4-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s3-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000003\", \"name\": \"s3-eth1\", \"type\": \"copper\", \"uuid\": \"s3-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s3-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000003\", \"name\": \"s3-eth2\", \"type\": \"copper\", \"uuid\": \"s3-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth1\", \"type\": \"copper\", \"uuid\": \"s2-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth4]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth4\", \"type\": \"copper\", \"uuid\": \"s2-eth4\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth2\", \"type\": \"copper\", \"uuid\": \"s2-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth3]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth3\", \"type\": \"copper\", \"uuid\": \"s2-eth3\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth4]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth4\", \"type\": \"copper\", \"uuid\": \"s5-eth4\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth1\", \"type\": \"copper\", \"uuid\": \"s5-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth2\", \"type\": \"copper\", \"uuid\": \"s5-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth3]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth3\", \"type\": \"copper\", \"uuid\": \"s5-eth3\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s3-eth2==s4-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000003\", \"s3-eth2\"], [\"0000000000000004\", \"s4-eth1\"]], \"name\": \"0000000000000003-s3-eth2===0000000000000004-s4-eth1\", \"uuid\": \"s3-eth2==s4-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s4-eth1==s3-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000004\", \"s4-eth1\"], [\"0000000000000003\", \"s3-eth2\"]], \"name\": \"0000000000000004-s4-eth1===0000000000000003-s3-eth2\", \"uuid\": \"s4-eth1==s3-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s5-eth1==s4-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000005\", \"s5-eth1\"], [\"0000000000000004\", \"s4-eth2\"]], \"name\": \"0000000000000005-s5-eth1===0000000000000004-s4-eth2\", \"uuid\": \"s5-eth1==s4-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s5-eth2==s1-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000005\", \"s5-eth2\"], [\"0000000000000001\", \"s1-eth2\"]], \"name\": \"0000000000000005-s5-eth2===0000000000000001-s1-eth2\", \"uuid\": \"s5-eth2==s1-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s2-eth2==s3-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000002\", \"s2-eth2\"], [\"0000000000000003\", \"s3-eth1\"]], \"name\": \"0000000000000002-s2-eth2===0000000000000003-s3-eth1\", \"uuid\": \"s2-eth2==s3-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s2-eth1==s1-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000002\", \"s2-eth1\"], [\"0000000000000001\", \"s1-eth1\"]], \"name\": \"0000000000000002-s2-eth1===0000000000000001-s1-eth1\", \"uuid\": \"s2-eth1==s1-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s1-eth1==s2-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000001\", \"s1-eth1\"], [\"0000000000000002\", \"s2-eth1\"]], \"name\": \"0000000000000001-s1-eth1===0000000000000002-s2-eth1\", \"uuid\": \"s1-eth1==s2-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s3-eth1==s2-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000003\", \"s3-eth1\"], [\"0000000000000002\", \"s2-eth2\"]], \"name\": \"0000000000000003-s3-eth1===0000000000000002-s2-eth2\", \"uuid\": \"s3-eth1==s2-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s1-eth2==s5-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000001\", \"s1-eth2\"], [\"0000000000000005\", \"s5-eth2\"]], \"name\": \"0000000000000001-s1-eth2===0000000000000005-s5-eth2\", \"uuid\": \"s1-eth2==s5-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s4-eth2==s5-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000004\", \"s4-eth2\"], [\"0000000000000005\", \"s5-eth1\"]], \"name\": \"0000000000000004-s4-eth2===0000000000000005-s5-eth1\", \"uuid\": \"s4-eth2==s5-eth1\"}"}}]}, "device_drivers": ["DEVICEDRIVER_RYU"], "device_endpoints": [{"endpoint_id": {"device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "endpoint_uuid": {"uuid": "mgmt"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "mgmt", "kpi_sample_types": [], "name": "mgmt"}], "device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "openflow-ryu-controller", "name": "RYU"}
-[2025-01-15 15:50:17,676] DEBUG:context.client.ContextClient:SelectDevice result: {"devices": [{"components": [], "controller_id": {}, "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"endpoints\": [\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"h4-eth0\"\n},\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"int\"\n}\n]\n}"}}]}, "device_drivers": ["DEVICEDRIVER_UNDEFINED"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "c929235b-c0bd-5016-9e63-e7eaafaaa792"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_UNDEFINED", "device_type": "emu-client", "name": "h4"}]}
-[2025-01-15 15:50:17,676] INFO:device.service.driver_api.DriverInstanceCache:Selecting driver for device(c929235b-c0bd-5016-9e63-e7eaafaaa792) with filter_fields({'device_type': 'emu-client', 'driver': [0]})...
-[2025-01-15 15:50:17,676] INFO:device.service.driver_api.DriverInstanceCache:Driver(EmulatedDriver) selected for device(c929235b-c0bd-5016-9e63-e7eaafaaa792) with filter_fields({'device_type': 'emu-client', 'driver': [0]})...
-[2025-01-15 15:50:17,678] DEBUG:context.client.ContextClient:SelectDevice result: {"devices": [{"components": [], "controller_id": {}, "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"endpoints\": [\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"h2-eth0\"\n},\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"int\"\n}\n]\n}"}}]}, "device_drivers": ["DEVICEDRIVER_UNDEFINED"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "53ad149d-c690-52ea-aba9-66a7fd5dbd85"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_UNDEFINED", "device_type": "emu-client", "name": "h2"}]}
-[2025-01-15 15:50:17,678] INFO:device.service.driver_api.DriverInstanceCache:Selecting driver for device(53ad149d-c690-52ea-aba9-66a7fd5dbd85) with filter_fields({'device_type': 'emu-client', 'driver': [0]})...
-[2025-01-15 15:50:17,678] INFO:device.service.driver_api.DriverInstanceCache:Driver(EmulatedDriver) selected for device(53ad149d-c690-52ea-aba9-66a7fd5dbd85) with filter_fields({'device_type': 'emu-client', 'driver': [0]})...
-[2025-01-15 15:50:17,679] DEBUG:device.service.Tools:results_getconfig = [('/endpoints/endpoint[h4-eth0]', {'uuid': 'h4-eth0', 'type': 'copper/internal'}), ('/endpoints/endpoint[int]', {'uuid': 'int', 'type': 'copper/internal'})]
-[2025-01-15 15:50:17,680] DEBUG:context.client.ContextClient:SetDevice request: {"components": [], "controller_id": {}, "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"endpoints\": [\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"h4-eth0\"\n},\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"int\"\n}\n]\n}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[h4-eth0]", "resource_value": "{\"type\": \"copper/internal\", \"uuid\": \"h4-eth0\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[int]", "resource_value": "{\"type\": \"copper/internal\", \"uuid\": \"int\"}"}}]}, "device_drivers": ["DEVICEDRIVER_UNDEFINED"], "device_endpoints": [{"endpoint_id": {"device_id": {"device_uuid": {"uuid": "c929235b-c0bd-5016-9e63-e7eaafaaa792"}}, "endpoint_uuid": {"uuid": "h4-eth0"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper/internal", "kpi_sample_types": [], "name": ""}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "c929235b-c0bd-5016-9e63-e7eaafaaa792"}}, "endpoint_uuid": {"uuid": "int"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper/internal", "kpi_sample_types": [], "name": ""}], "device_id": {"device_uuid": {"uuid": "c929235b-c0bd-5016-9e63-e7eaafaaa792"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "emu-client", "name": "h4"}
-[2025-01-15 15:50:17,681] DEBUG:device.service.Tools:results_getconfig = [('/endpoints/endpoint[h2-eth0]', {'uuid': 'h2-eth0', 'type': 'copper/internal'}), ('/endpoints/endpoint[int]', {'uuid': 'int', 'type': 'copper/internal'})]
-[2025-01-15 15:50:17,681] DEBUG:context.client.ContextClient:SetDevice request: {"components": [], "controller_id": {}, "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "0"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"endpoints\": [\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"h2-eth0\"\n},\n{\n\"type\": \"copper/internal\",\n\"uuid\": \"int\"\n}\n]\n}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[h2-eth0]", "resource_value": "{\"type\": \"copper/internal\", \"uuid\": \"h2-eth0\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[int]", "resource_value": "{\"type\": \"copper/internal\", \"uuid\": \"int\"}"}}]}, "device_drivers": ["DEVICEDRIVER_UNDEFINED"], "device_endpoints": [{"endpoint_id": {"device_id": {"device_uuid": {"uuid": "53ad149d-c690-52ea-aba9-66a7fd5dbd85"}}, "endpoint_uuid": {"uuid": "h2-eth0"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper/internal", "kpi_sample_types": [], "name": ""}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "53ad149d-c690-52ea-aba9-66a7fd5dbd85"}}, "endpoint_uuid": {"uuid": "int"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper/internal", "kpi_sample_types": [], "name": ""}], "device_id": {"device_uuid": {"uuid": "53ad149d-c690-52ea-aba9-66a7fd5dbd85"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "emu-client", "name": "h2"}
-[2025-01-15 15:50:17,690] DEBUG:context.client.ContextClient:SelectDevice result: {"devices": [{"components": [], "controller_id": {}, "device_drivers": ["DEVICEDRIVER_UNDEFINED"], "device_endpoints": [{"endpoint_id": {"device_id": {"device_uuid": {"uuid": "43be2984-467b-56da-a3e6-cfb6f1e8d978"}}, "endpoint_uuid": {"uuid": "894f1db9-682b-534b-9e3e-1086e5435058"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "43813baf-195e-5da6-af20-b3d0922e71a7"}}, "topology_uuid": {"uuid": "c76135e3-24a8-5e92-9bed-c3c9139359c8"}}}, "endpoint_location": {}, "endpoint_type": "copper/internal", "kpi_sample_types": [], "name": "h3-eth0"}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "43be2984-467b-56da-a3e6-cfb6f1e8d978"}}, "endpoint_uuid": {"uuid": "b8fe51a0-91f7-5203-b571-87ef53e2ca2d"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "43813baf-195e-5da6-af20-b3d0922e71a7"}}, "topology_uuid": {"uuid": "c76135e3-24a8-5e92-9bed-c3c9139359c8"}}}, "endpoint_location": {}, "endpoint_type": "copper/internal", "kpi_sample_types": [], "name": "int"}], "device_id": {"device_uuid": {"uuid": "43be2984-467b-56da-a3e6-cfb6f1e8d978"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "emu-client", "name": "h3"}]}
-[2025-01-15 15:50:17,694] DEBUG:device.service.DeviceServiceServicerImpl:AddDevice reply: {"device_uuid": {"uuid": "43be2984-467b-56da-a3e6-cfb6f1e8d978"}}
-[2025-01-15 15:50:17,725] DEBUG:context.client.ContextClient:SelectDevice result: {"devices": [{"components": [], "controller_id": {}, "device_drivers": ["DEVICEDRIVER_UNDEFINED"], "device_endpoints": [{"endpoint_id": {"device_id": {"device_uuid": {"uuid": "2a79cf95-9c1c-5588-83be-9533d4100b51"}}, "endpoint_uuid": {"uuid": "1b3b2793-64b2-57e3-88bb-8ce89c413e16"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "43813baf-195e-5da6-af20-b3d0922e71a7"}}, "topology_uuid": {"uuid": "c76135e3-24a8-5e92-9bed-c3c9139359c8"}}}, "endpoint_location": {}, "endpoint_type": "copper/internal", "kpi_sample_types": [], "name": "int"}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "2a79cf95-9c1c-5588-83be-9533d4100b51"}}, "endpoint_uuid": {"uuid": "c9788b13-30ad-581c-a04d-7191d4e7cbd1"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "43813baf-195e-5da6-af20-b3d0922e71a7"}}, "topology_uuid": {"uuid": "c76135e3-24a8-5e92-9bed-c3c9139359c8"}}}, "endpoint_location": {}, "endpoint_type": "copper/internal", "kpi_sample_types": [], "name": "h1-eth0"}], "device_id": {"device_uuid": {"uuid": "2a79cf95-9c1c-5588-83be-9533d4100b51"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "emu-client", "name": "h1"}]}
-[2025-01-15 15:50:17,726] DEBUG:device.service.DeviceServiceServicerImpl:AddDevice reply: {"device_uuid": {"uuid": "2a79cf95-9c1c-5588-83be-9533d4100b51"}}
-[2025-01-15 15:50:17,740] DEBUG:context.client.ContextClient:SetDevice result: {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}
-[2025-01-15 15:50:17,741] DEBUG:context.client.ContextClient:SetDevice request: {"components": [], "controller_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "device_drivers": [], "device_endpoints": [{"endpoint_id": {"device_id": {"device_uuid": {"uuid": "0000000000000001"}}, "endpoint_uuid": {"uuid": "mgmt"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "mgmt", "kpi_sample_types": [], "name": "mgmt"}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "0000000000000001"}}, "endpoint_uuid": {"uuid": "s1-eth1"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper", "kpi_sample_types": [], "name": "s1-eth1"}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "0000000000000001"}}, "endpoint_uuid": {"uuid": "s1-eth2"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper", "kpi_sample_types": [], "name": "s1-eth2"}], "device_id": {"device_uuid": {"uuid": "0000000000000001"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "packet-switch", "name": "0000000000000001"}
-[2025-01-15 15:50:17,742] DEBUG:context.client.ContextClient:SetDevice result: {"device_uuid": {"uuid": "c929235b-c0bd-5016-9e63-e7eaafaaa792"}}
-[2025-01-15 15:50:17,742] DEBUG:context.client.ContextClient:SelectDevice request: {"device_ids": {"device_ids": [{"device_uuid": {"uuid": "c929235b-c0bd-5016-9e63-e7eaafaaa792"}}]}, "include_components": false, "include_config_rules": false, "include_endpoints": true}
-[2025-01-15 15:50:17,758] DEBUG:context.client.ContextClient:SetDevice result: {"device_uuid": {"uuid": "53ad149d-c690-52ea-aba9-66a7fd5dbd85"}}
-[2025-01-15 15:50:17,758] DEBUG:context.client.ContextClient:SelectDevice request: {"device_ids": {"device_ids": [{"device_uuid": {"uuid": "53ad149d-c690-52ea-aba9-66a7fd5dbd85"}}]}, "include_components": false, "include_config_rules": false, "include_endpoints": true}
-[2025-01-15 15:50:17,780] DEBUG:context.client.ContextClient:SelectDevice result: {"devices": [{"components": [], "controller_id": {}, "device_drivers": ["DEVICEDRIVER_UNDEFINED"], "device_endpoints": [{"endpoint_id": {"device_id": {"device_uuid": {"uuid": "c929235b-c0bd-5016-9e63-e7eaafaaa792"}}, "endpoint_uuid": {"uuid": "0d195f1f-6876-5fbd-bb6e-58b0e645ca1f"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "43813baf-195e-5da6-af20-b3d0922e71a7"}}, "topology_uuid": {"uuid": "c76135e3-24a8-5e92-9bed-c3c9139359c8"}}}, "endpoint_location": {}, "endpoint_type": "copper/internal", "kpi_sample_types": [], "name": "int"}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "c929235b-c0bd-5016-9e63-e7eaafaaa792"}}, "endpoint_uuid": {"uuid": "a2efb85b-c007-5419-ad52-3a5729f0da71"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "43813baf-195e-5da6-af20-b3d0922e71a7"}}, "topology_uuid": {"uuid": "c76135e3-24a8-5e92-9bed-c3c9139359c8"}}}, "endpoint_location": {}, "endpoint_type": "copper/internal", "kpi_sample_types": [], "name": "h4-eth0"}], "device_id": {"device_uuid": {"uuid": "c929235b-c0bd-5016-9e63-e7eaafaaa792"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "emu-client", "name": "h4"}]}
-[2025-01-15 15:50:17,780] DEBUG:device.service.DeviceServiceServicerImpl:AddDevice reply: {"device_uuid": {"uuid": "c929235b-c0bd-5016-9e63-e7eaafaaa792"}}
-[2025-01-15 15:50:17,782] DEBUG:context.client.ContextClient:SetDevice result: {"device_uuid": {"uuid": "995a62fc-2b2f-5d35-a0bb-c5a7dd22e892"}}
-[2025-01-15 15:50:17,782] DEBUG:context.client.ContextClient:SetDevice request: {"components": [], "controller_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "device_drivers": [], "device_endpoints": [{"endpoint_id": {"device_id": {"device_uuid": {"uuid": "0000000000000004"}}, "endpoint_uuid": {"uuid": "mgmt"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "mgmt", "kpi_sample_types": [], "name": "mgmt"}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "0000000000000004"}}, "endpoint_uuid": {"uuid": "s4-eth1"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper", "kpi_sample_types": [], "name": "s4-eth1"}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "0000000000000004"}}, "endpoint_uuid": {"uuid": "s4-eth2"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper", "kpi_sample_types": [], "name": "s4-eth2"}], "device_id": {"device_uuid": {"uuid": "0000000000000004"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "packet-switch", "name": "0000000000000004"}
-[2025-01-15 15:50:17,791] DEBUG:context.client.ContextClient:SelectDevice result: {"devices": [{"components": [], "controller_id": {}, "device_drivers": ["DEVICEDRIVER_UNDEFINED"], "device_endpoints": [{"endpoint_id": {"device_id": {"device_uuid": {"uuid": "53ad149d-c690-52ea-aba9-66a7fd5dbd85"}}, "endpoint_uuid": {"uuid": "20cb95be-f52f-5615-a349-18b893d59c9d"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "43813baf-195e-5da6-af20-b3d0922e71a7"}}, "topology_uuid": {"uuid": "c76135e3-24a8-5e92-9bed-c3c9139359c8"}}}, "endpoint_location": {}, "endpoint_type": "copper/internal", "kpi_sample_types": [], "name": "int"}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "53ad149d-c690-52ea-aba9-66a7fd5dbd85"}}, "endpoint_uuid": {"uuid": "ad8b1d58-1a1e-56db-9b29-3cc111845804"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "43813baf-195e-5da6-af20-b3d0922e71a7"}}, "topology_uuid": {"uuid": "c76135e3-24a8-5e92-9bed-c3c9139359c8"}}}, "endpoint_location": {}, "endpoint_type": "copper/internal", "kpi_sample_types": [], "name": "h2-eth0"}], "device_id": {"device_uuid": {"uuid": "53ad149d-c690-52ea-aba9-66a7fd5dbd85"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "emu-client", "name": "h2"}]}
-[2025-01-15 15:50:17,792] DEBUG:device.service.DeviceServiceServicerImpl:AddDevice reply: {"device_uuid": {"uuid": "53ad149d-c690-52ea-aba9-66a7fd5dbd85"}}
-[2025-01-15 15:50:17,808] DEBUG:context.client.ContextClient:SetDevice result: {"device_uuid": {"uuid": "c38fb93c-9578-5d7f-a081-a2db4b5f468c"}}
-[2025-01-15 15:50:17,809] DEBUG:context.client.ContextClient:SetDevice request: {"components": [], "controller_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "device_drivers": [], "device_endpoints": [{"endpoint_id": {"device_id": {"device_uuid": {"uuid": "0000000000000003"}}, "endpoint_uuid": {"uuid": "mgmt"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "mgmt", "kpi_sample_types": [], "name": "mgmt"}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "0000000000000003"}}, "endpoint_uuid": {"uuid": "s3-eth1"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper", "kpi_sample_types": [], "name": "s3-eth1"}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "0000000000000003"}}, "endpoint_uuid": {"uuid": "s3-eth2"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper", "kpi_sample_types": [], "name": "s3-eth2"}], "device_id": {"device_uuid": {"uuid": "0000000000000003"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "packet-switch", "name": "0000000000000003"}
-[2025-01-15 15:50:17,833] DEBUG:context.client.ContextClient:SetDevice result: {"device_uuid": {"uuid": "0bdaca38-0541-5d36-b58b-f828943dc213"}}
-[2025-01-15 15:50:17,833] DEBUG:context.client.ContextClient:SetDevice request: {"components": [], "controller_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "device_drivers": [], "device_endpoints": [{"endpoint_id": {"device_id": {"device_uuid": {"uuid": "0000000000000002"}}, "endpoint_uuid": {"uuid": "mgmt"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "mgmt", "kpi_sample_types": [], "name": "mgmt"}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "0000000000000002"}}, "endpoint_uuid": {"uuid": "s2-eth1"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper", "kpi_sample_types": [], "name": "s2-eth1"}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "0000000000000002"}}, "endpoint_uuid": {"uuid": "s2-eth4"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper", "kpi_sample_types": [], "name": "s2-eth4"}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "0000000000000002"}}, "endpoint_uuid": {"uuid": "s2-eth2"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper", "kpi_sample_types": [], "name": "s2-eth2"}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "0000000000000002"}}, "endpoint_uuid": {"uuid": "s2-eth3"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper", "kpi_sample_types": [], "name": "s2-eth3"}], "device_id": {"device_uuid": {"uuid": "0000000000000002"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "packet-switch", "name": "0000000000000002"}
-[2025-01-15 15:50:17,862] DEBUG:context.client.ContextClient:SetDevice result: {"device_uuid": {"uuid": "a2f2519b-3c76-5f1e-99c7-cc2bbf815eec"}}
-[2025-01-15 15:50:17,862] DEBUG:context.client.ContextClient:SetDevice request: {"components": [], "controller_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "device_drivers": [], "device_endpoints": [{"endpoint_id": {"device_id": {"device_uuid": {"uuid": "0000000000000005"}}, "endpoint_uuid": {"uuid": "mgmt"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "mgmt", "kpi_sample_types": [], "name": "mgmt"}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "0000000000000005"}}, "endpoint_uuid": {"uuid": "s5-eth4"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper", "kpi_sample_types": [], "name": "s5-eth4"}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "0000000000000005"}}, "endpoint_uuid": {"uuid": "s5-eth1"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper", "kpi_sample_types": [], "name": "s5-eth1"}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "0000000000000005"}}, "endpoint_uuid": {"uuid": "s5-eth2"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper", "kpi_sample_types": [], "name": "s5-eth2"}, {"endpoint_id": {"device_id": {"device_uuid": {"uuid": "0000000000000005"}}, "endpoint_uuid": {"uuid": "s5-eth3"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, "endpoint_type": "copper", "kpi_sample_types": [], "name": "s5-eth3"}], "device_id": {"device_uuid": {"uuid": "0000000000000005"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "packet-switch", "name": "0000000000000005"}
-[2025-01-15 15:50:17,888] DEBUG:context.client.ContextClient:SetDevice result: {"device_uuid": {"uuid": "b52aaf41-0c5a-55f2-a66e-eb42c1153a96"}}
-[2025-01-15 15:50:17,888] DEBUG:context.client.ContextClient:SetLink request: {"link_endpoint_ids": [{"device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "endpoint_uuid": {"uuid": "mgmt"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, {"device_id": {"device_uuid": {"uuid": "0000000000000001"}}, "endpoint_uuid": {"uuid": "mgmt"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}], "link_id": {"link_uuid": {"uuid": "RYU/mgmt==0000000000000001/mgmt"}}, "link_type": "LINKTYPE_UNKNOWN", "name": "RYU/mgmt==0000000000000001/mgmt"}
-[2025-01-15 15:50:17,929] DEBUG:context.client.ContextClient:SetLink result: {"link_uuid": {"uuid": "a6ad0bf0-955e-5a3e-be3f-b161562ee922"}}
-[2025-01-15 15:50:17,929] DEBUG:context.client.ContextClient:SetLink request: {"link_endpoint_ids": [{"device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "endpoint_uuid": {"uuid": "mgmt"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, {"device_id": {"device_uuid": {"uuid": "0000000000000004"}}, "endpoint_uuid": {"uuid": "mgmt"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}], "link_id": {"link_uuid": {"uuid": "RYU/mgmt==0000000000000004/mgmt"}}, "link_type": "LINKTYPE_UNKNOWN", "name": "RYU/mgmt==0000000000000004/mgmt"}
-[2025-01-15 15:50:17,946] DEBUG:context.client.ContextClient:SetLink result: {"link_uuid": {"uuid": "f732a34b-3b58-5208-972d-ead200e217a2"}}
-[2025-01-15 15:50:17,947] DEBUG:context.client.ContextClient:SetLink request: {"link_endpoint_ids": [{"device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "endpoint_uuid": {"uuid": "mgmt"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, {"device_id": {"device_uuid": {"uuid": "0000000000000003"}}, "endpoint_uuid": {"uuid": "mgmt"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}], "link_id": {"link_uuid": {"uuid": "RYU/mgmt==0000000000000003/mgmt"}}, "link_type": "LINKTYPE_UNKNOWN", "name": "RYU/mgmt==0000000000000003/mgmt"}
-[2025-01-15 15:50:17,964] DEBUG:context.client.ContextClient:SetLink result: {"link_uuid": {"uuid": "9c27e1ef-2de9-5d4a-a39b-d986bc46e6ff"}}
-[2025-01-15 15:50:17,964] DEBUG:context.client.ContextClient:SetLink request: {"link_endpoint_ids": [{"device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "endpoint_uuid": {"uuid": "mgmt"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, {"device_id": {"device_uuid": {"uuid": "0000000000000002"}}, "endpoint_uuid": {"uuid": "mgmt"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}], "link_id": {"link_uuid": {"uuid": "RYU/mgmt==0000000000000002/mgmt"}}, "link_type": "LINKTYPE_UNKNOWN", "name": "RYU/mgmt==0000000000000002/mgmt"}
-[2025-01-15 15:50:17,982] DEBUG:context.client.ContextClient:SetLink result: {"link_uuid": {"uuid": "23163f66-d373-53c7-87b9-a19332d499f9"}}
-[2025-01-15 15:50:17,983] DEBUG:context.client.ContextClient:SetLink request: {"link_endpoint_ids": [{"device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "endpoint_uuid": {"uuid": "mgmt"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, {"device_id": {"device_uuid": {"uuid": "0000000000000005"}}, "endpoint_uuid": {"uuid": "mgmt"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}], "link_id": {"link_uuid": {"uuid": "RYU/mgmt==0000000000000005/mgmt"}}, "link_type": "LINKTYPE_UNKNOWN", "name": "RYU/mgmt==0000000000000005/mgmt"}
-[2025-01-15 15:50:17,999] DEBUG:context.client.ContextClient:SetLink result: {"link_uuid": {"uuid": "035237df-d927-5831-9ca0-3e817f20b775"}}
-[2025-01-15 15:50:17,999] DEBUG:context.client.ContextClient:SetLink request: {"link_endpoint_ids": [{"device_id": {"device_uuid": {"uuid": "0000000000000003"}}, "endpoint_uuid": {"uuid": "s3-eth2"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, {"device_id": {"device_uuid": {"uuid": "0000000000000004"}}, "endpoint_uuid": {"uuid": "s4-eth1"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}], "link_id": {"link_uuid": {"uuid": "s3-eth2==s4-eth1"}}, "link_type": "LINKTYPE_UNKNOWN", "name": "0000000000000003-s3-eth2===0000000000000004-s4-eth1"}
-[2025-01-15 15:50:18,014] DEBUG:context.client.ContextClient:SetLink result: {"link_uuid": {"uuid": "beee85c4-62a0-5b24-87c0-dff4090b8b0f"}}
-[2025-01-15 15:50:18,015] DEBUG:context.client.ContextClient:SetLink request: {"link_endpoint_ids": [{"device_id": {"device_uuid": {"uuid": "0000000000000004"}}, "endpoint_uuid": {"uuid": "s4-eth1"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, {"device_id": {"device_uuid": {"uuid": "0000000000000003"}}, "endpoint_uuid": {"uuid": "s3-eth2"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}], "link_id": {"link_uuid": {"uuid": "s4-eth1==s3-eth2"}}, "link_type": "LINKTYPE_UNKNOWN", "name": "0000000000000004-s4-eth1===0000000000000003-s3-eth2"}
-[2025-01-15 15:50:18,054] DEBUG:context.client.ContextClient:SetLink result: {"link_uuid": {"uuid": "19aa0a16-b510-5efe-9c3d-8c4605319a74"}}
-[2025-01-15 15:50:18,054] DEBUG:context.client.ContextClient:SetLink request: {"link_endpoint_ids": [{"device_id": {"device_uuid": {"uuid": "0000000000000005"}}, "endpoint_uuid": {"uuid": "s5-eth1"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, {"device_id": {"device_uuid": {"uuid": "0000000000000004"}}, "endpoint_uuid": {"uuid": "s4-eth2"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}], "link_id": {"link_uuid": {"uuid": "s5-eth1==s4-eth2"}}, "link_type": "LINKTYPE_UNKNOWN", "name": "0000000000000005-s5-eth1===0000000000000004-s4-eth2"}
-[2025-01-15 15:50:18,070] DEBUG:context.client.ContextClient:SetLink result: {"link_uuid": {"uuid": "327c4898-85a4-5f42-912d-2c60c04fa650"}}
-[2025-01-15 15:50:18,071] DEBUG:context.client.ContextClient:SetLink request: {"link_endpoint_ids": [{"device_id": {"device_uuid": {"uuid": "0000000000000005"}}, "endpoint_uuid": {"uuid": "s5-eth2"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, {"device_id": {"device_uuid": {"uuid": "0000000000000001"}}, "endpoint_uuid": {"uuid": "s1-eth2"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}], "link_id": {"link_uuid": {"uuid": "s5-eth2==s1-eth2"}}, "link_type": "LINKTYPE_UNKNOWN", "name": "0000000000000005-s5-eth2===0000000000000001-s1-eth2"}
-[2025-01-15 15:50:18,086] DEBUG:context.client.ContextClient:SetLink result: {"link_uuid": {"uuid": "646fad23-eeee-5261-aa56-dcb6bd69ef9d"}}
-[2025-01-15 15:50:18,087] DEBUG:context.client.ContextClient:SetLink request: {"link_endpoint_ids": [{"device_id": {"device_uuid": {"uuid": "0000000000000002"}}, "endpoint_uuid": {"uuid": "s2-eth2"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, {"device_id": {"device_uuid": {"uuid": "0000000000000003"}}, "endpoint_uuid": {"uuid": "s3-eth1"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}], "link_id": {"link_uuid": {"uuid": "s2-eth2==s3-eth1"}}, "link_type": "LINKTYPE_UNKNOWN", "name": "0000000000000002-s2-eth2===0000000000000003-s3-eth1"}
-[2025-01-15 15:50:18,102] DEBUG:context.client.ContextClient:SetLink result: {"link_uuid": {"uuid": "b28d7bf0-19d3-5b94-b8c2-88f6dca8cd25"}}
-[2025-01-15 15:50:18,103] DEBUG:context.client.ContextClient:SetLink request: {"link_endpoint_ids": [{"device_id": {"device_uuid": {"uuid": "0000000000000002"}}, "endpoint_uuid": {"uuid": "s2-eth1"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, {"device_id": {"device_uuid": {"uuid": "0000000000000001"}}, "endpoint_uuid": {"uuid": "s1-eth1"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}], "link_id": {"link_uuid": {"uuid": "s2-eth1==s1-eth1"}}, "link_type": "LINKTYPE_UNKNOWN", "name": "0000000000000002-s2-eth1===0000000000000001-s1-eth1"}
-[2025-01-15 15:50:18,118] DEBUG:context.client.ContextClient:SetLink result: {"link_uuid": {"uuid": "3dcd7c7c-fd54-5599-b0cc-235806ee5b6f"}}
-[2025-01-15 15:50:18,119] DEBUG:context.client.ContextClient:SetLink request: {"link_endpoint_ids": [{"device_id": {"device_uuid": {"uuid": "0000000000000001"}}, "endpoint_uuid": {"uuid": "s1-eth1"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, {"device_id": {"device_uuid": {"uuid": "0000000000000002"}}, "endpoint_uuid": {"uuid": "s2-eth1"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}], "link_id": {"link_uuid": {"uuid": "s1-eth1==s2-eth1"}}, "link_type": "LINKTYPE_UNKNOWN", "name": "0000000000000001-s1-eth1===0000000000000002-s2-eth1"}
-[2025-01-15 15:50:18,136] DEBUG:context.client.ContextClient:SetLink result: {"link_uuid": {"uuid": "d0890789-62ad-5f5f-815b-786c1976c567"}}
-[2025-01-15 15:50:18,136] DEBUG:context.client.ContextClient:SetLink request: {"link_endpoint_ids": [{"device_id": {"device_uuid": {"uuid": "0000000000000003"}}, "endpoint_uuid": {"uuid": "s3-eth1"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, {"device_id": {"device_uuid": {"uuid": "0000000000000002"}}, "endpoint_uuid": {"uuid": "s2-eth2"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}], "link_id": {"link_uuid": {"uuid": "s3-eth1==s2-eth2"}}, "link_type": "LINKTYPE_UNKNOWN", "name": "0000000000000003-s3-eth1===0000000000000002-s2-eth2"}
-[2025-01-15 15:50:18,153] DEBUG:context.client.ContextClient:SetLink result: {"link_uuid": {"uuid": "509740ba-cd2c-59aa-8843-4cf8e278fc5d"}}
-[2025-01-15 15:50:18,154] DEBUG:context.client.ContextClient:SetLink request: {"link_endpoint_ids": [{"device_id": {"device_uuid": {"uuid": "0000000000000001"}}, "endpoint_uuid": {"uuid": "s1-eth2"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, {"device_id": {"device_uuid": {"uuid": "0000000000000005"}}, "endpoint_uuid": {"uuid": "s5-eth2"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}], "link_id": {"link_uuid": {"uuid": "s1-eth2==s5-eth2"}}, "link_type": "LINKTYPE_UNKNOWN", "name": "0000000000000001-s1-eth2===0000000000000005-s5-eth2"}
-[2025-01-15 15:50:18,169] DEBUG:context.client.ContextClient:SetLink result: {"link_uuid": {"uuid": "0f1c88d1-1b46-5e79-88a1-b0a5d2e28324"}}
-[2025-01-15 15:50:18,170] DEBUG:context.client.ContextClient:SetLink request: {"link_endpoint_ids": [{"device_id": {"device_uuid": {"uuid": "0000000000000004"}}, "endpoint_uuid": {"uuid": "s4-eth2"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}, {"device_id": {"device_uuid": {"uuid": "0000000000000005"}}, "endpoint_uuid": {"uuid": "s5-eth1"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}}], "link_id": {"link_uuid": {"uuid": "s4-eth2==s5-eth1"}}, "link_type": "LINKTYPE_UNKNOWN", "name": "0000000000000004-s4-eth2===0000000000000005-s5-eth1"}
-[2025-01-15 15:50:18,186] DEBUG:context.client.ContextClient:SetLink result: {"link_uuid": {"uuid": "b7f8ba02-fe4c-5c3b-9346-740a69da5394"}}
-[2025-01-15 15:50:18,187] DEBUG:context.client.ContextClient:SelectDevice request: {"device_ids": {"device_ids": [{"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}]}, "include_components": false, "include_config_rules": false, "include_endpoints": true}
-[2025-01-15 15:50:18,197] DEBUG:context.client.ContextClient:SelectDevice result: {"devices": [{"components": [], "controller_id": {}, "device_drivers": ["DEVICEDRIVER_RYU"], "device_endpoints": [{"endpoint_id": {"device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "endpoint_uuid": {"uuid": "158268b6-968b-582a-968d-da4b922ebc1c"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "43813baf-195e-5da6-af20-b3d0922e71a7"}}, "topology_uuid": {"uuid": "c76135e3-24a8-5e92-9bed-c3c9139359c8"}}}, "endpoint_location": {}, "endpoint_type": "mgmt", "kpi_sample_types": [], "name": "mgmt"}], "device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "openflow-ryu-controller", "name": "RYU"}]}
-[2025-01-15 15:50:18,199] DEBUG:device.service.DeviceServiceServicerImpl:AddDevice reply: {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}
-[2025-01-15 15:50:25,412] DEBUG:device.service.DeviceServiceServicerImpl:ConfigureDevice request: {"components": [], "controller_id": {}, "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "10.1.7.197"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "8080"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"timeout\": 120\n}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000001]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000001\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000001\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000004]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000004\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000004\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000003]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000003\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000003\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000002]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000002\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000002\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000005]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000005\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000005\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s1-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000001\", \"name\": \"s1-eth1\", \"type\": \"copper\", \"uuid\": \"s1-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s1-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000001\", \"name\": \"s1-eth2\", \"type\": \"copper\", \"uuid\": \"s1-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s4-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000004\", \"name\": \"s4-eth1\", \"type\": \"copper\", \"uuid\": \"s4-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s4-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000004\", \"name\": \"s4-eth2\", \"type\": \"copper\", \"uuid\": \"s4-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s3-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000003\", \"name\": \"s3-eth1\", \"type\": \"copper\", \"uuid\": \"s3-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s3-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000003\", \"name\": \"s3-eth2\", \"type\": \"copper\", \"uuid\": \"s3-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth1\", \"type\": \"copper\", \"uuid\": \"s2-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth4]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth4\", \"type\": \"copper\", \"uuid\": \"s2-eth4\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth2\", \"type\": \"copper\", \"uuid\": \"s2-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth3]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth3\", \"type\": \"copper\", \"uuid\": \"s2-eth3\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth4]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth4\", \"type\": \"copper\", \"uuid\": \"s5-eth4\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth1\", \"type\": \"copper\", \"uuid\": \"s5-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth2\", \"type\": \"copper\", \"uuid\": \"s5-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth3]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth3\", \"type\": \"copper\", \"uuid\": \"s5-eth3\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s3-eth2==s4-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000003\", \"s3-eth2\"], [\"0000000000000004\", \"s4-eth1\"]], \"name\": \"0000000000000003-s3-eth2===0000000000000004-s4-eth1\", \"uuid\": \"s3-eth2==s4-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s4-eth1==s3-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000004\", \"s4-eth1\"], [\"0000000000000003\", \"s3-eth2\"]], \"name\": \"0000000000000004-s4-eth1===0000000000000003-s3-eth2\", \"uuid\": \"s4-eth1==s3-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s5-eth1==s4-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000005\", \"s5-eth1\"], [\"0000000000000004\", \"s4-eth2\"]], \"name\": \"0000000000000005-s5-eth1===0000000000000004-s4-eth2\", \"uuid\": \"s5-eth1==s4-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s5-eth2==s1-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000005\", \"s5-eth2\"], [\"0000000000000001\", \"s1-eth2\"]], \"name\": \"0000000000000005-s5-eth2===0000000000000001-s1-eth2\", \"uuid\": \"s5-eth2==s1-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s2-eth2==s3-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000002\", \"s2-eth2\"], [\"0000000000000003\", \"s3-eth1\"]], \"name\": \"0000000000000002-s2-eth2===0000000000000003-s3-eth1\", \"uuid\": \"s2-eth2==s3-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s2-eth1==s1-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000002\", \"s2-eth1\"], [\"0000000000000001\", \"s1-eth1\"]], \"name\": \"0000000000000002-s2-eth1===0000000000000001-s1-eth1\", \"uuid\": \"s2-eth1==s1-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s1-eth1==s2-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000001\", \"s1-eth1\"], [\"0000000000000002\", \"s2-eth1\"]], \"name\": \"0000000000000001-s1-eth1===0000000000000002-s2-eth1\", \"uuid\": \"s1-eth1==s2-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s3-eth1==s2-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000003\", \"s3-eth1\"], [\"0000000000000002\", \"s2-eth2\"]], \"name\": \"0000000000000003-s3-eth1===0000000000000002-s2-eth2\", \"uuid\": \"s3-eth1==s2-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s1-eth2==s5-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000001\", \"s1-eth2\"], [\"0000000000000005\", \"s5-eth2\"]], \"name\": \"0000000000000001-s1-eth2===0000000000000005-s5-eth2\", \"uuid\": \"s1-eth2==s5-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s4-eth2==s5-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000004\", \"s4-eth2\"], [\"0000000000000005\", \"s5-eth1\"]], \"name\": \"0000000000000004-s4-eth2===0000000000000005-s5-eth1\", \"uuid\": \"s4-eth2==s5-eth1\"}"}}, {"action": "CONFIGACTION_UNDEFINED", "custom": {"resource_key": "/device[s2]/flow[h1-h3]", "resource_value": "{\"dpid\": \"0000000000000002\", \"in-port\": \"s2-eth3\", \"out-port\": \"s2-eth1\"}"}}, {"action": "CONFIGACTION_UNDEFINED", "custom": {"resource_key": "/device[s2]/flow[h3-h1]", "resource_value": "{\"dpid\": \"0000000000000002\", \"in-port\": \"s2-eth1\", \"out-port\": \"s2-eth3\"}"}}]}, "device_drivers": ["DEVICEDRIVER_RYU"], "device_endpoints": [{"endpoint_id": {"device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "endpoint_uuid": {"uuid": "158268b6-968b-582a-968d-da4b922ebc1c"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "43813baf-195e-5da6-af20-b3d0922e71a7"}}, "topology_uuid": {"uuid": "c76135e3-24a8-5e92-9bed-c3c9139359c8"}}}, "endpoint_location": {}, "endpoint_type": "mgmt", "kpi_sample_types": [], "name": "mgmt"}], "device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "openflow-ryu-controller", "name": "RYU"}
-[2025-01-15 15:50:25,412] DEBUG:context.client.ContextClient:Creating channel to 10.152.183.206:1010...
-[2025-01-15 15:50:25,412] DEBUG:context.client.ContextClient:Channel created
-[2025-01-15 15:50:25,413] DEBUG:context.client.ContextClient:SelectDevice request: {"device_ids": {"device_ids": [{"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}]}, "include_components": false, "include_config_rules": true, "include_endpoints": false}
-[2025-01-15 15:50:25,424] DEBUG:context.client.ContextClient:SelectDevice result: {"devices": [{"components": [], "controller_id": {}, "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "10.1.7.197"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "8080"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"timeout\": 120\n}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000001]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000001\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000001\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000004]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000004\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000004\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000003]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000003\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000003\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000002]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000002\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000002\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000005]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000005\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000005\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s1-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000001\", \"name\": \"s1-eth1\", \"type\": \"copper\", \"uuid\": \"s1-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s1-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000001\", \"name\": \"s1-eth2\", \"type\": \"copper\", \"uuid\": \"s1-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s4-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000004\", \"name\": \"s4-eth1\", \"type\": \"copper\", \"uuid\": \"s4-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s4-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000004\", \"name\": \"s4-eth2\", \"type\": \"copper\", \"uuid\": \"s4-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s3-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000003\", \"name\": \"s3-eth1\", \"type\": \"copper\", \"uuid\": \"s3-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s3-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000003\", \"name\": \"s3-eth2\", \"type\": \"copper\", \"uuid\": \"s3-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth1\", \"type\": \"copper\", \"uuid\": \"s2-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth4]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth4\", \"type\": \"copper\", \"uuid\": \"s2-eth4\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth2\", \"type\": \"copper\", \"uuid\": \"s2-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth3]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth3\", \"type\": \"copper\", \"uuid\": \"s2-eth3\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth4]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth4\", \"type\": \"copper\", \"uuid\": \"s5-eth4\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth1\", \"type\": \"copper\", \"uuid\": \"s5-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth2\", \"type\": \"copper\", \"uuid\": \"s5-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth3]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth3\", \"type\": \"copper\", \"uuid\": \"s5-eth3\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s3-eth2==s4-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000003\", \"s3-eth2\"], [\"0000000000000004\", \"s4-eth1\"]], \"name\": \"0000000000000003-s3-eth2===0000000000000004-s4-eth1\", \"uuid\": \"s3-eth2==s4-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s4-eth1==s3-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000004\", \"s4-eth1\"], [\"0000000000000003\", \"s3-eth2\"]], \"name\": \"0000000000000004-s4-eth1===0000000000000003-s3-eth2\", \"uuid\": \"s4-eth1==s3-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s5-eth1==s4-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000005\", \"s5-eth1\"], [\"0000000000000004\", \"s4-eth2\"]], \"name\": \"0000000000000005-s5-eth1===0000000000000004-s4-eth2\", \"uuid\": \"s5-eth1==s4-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s5-eth2==s1-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000005\", \"s5-eth2\"], [\"0000000000000001\", \"s1-eth2\"]], \"name\": \"0000000000000005-s5-eth2===0000000000000001-s1-eth2\", \"uuid\": \"s5-eth2==s1-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s2-eth2==s3-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000002\", \"s2-eth2\"], [\"0000000000000003\", \"s3-eth1\"]], \"name\": \"0000000000000002-s2-eth2===0000000000000003-s3-eth1\", \"uuid\": \"s2-eth2==s3-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s2-eth1==s1-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000002\", \"s2-eth1\"], [\"0000000000000001\", \"s1-eth1\"]], \"name\": \"0000000000000002-s2-eth1===0000000000000001-s1-eth1\", \"uuid\": \"s2-eth1==s1-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s1-eth1==s2-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000001\", \"s1-eth1\"], [\"0000000000000002\", \"s2-eth1\"]], \"name\": \"0000000000000001-s1-eth1===0000000000000002-s2-eth1\", \"uuid\": \"s1-eth1==s2-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s3-eth1==s2-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000003\", \"s3-eth1\"], [\"0000000000000002\", \"s2-eth2\"]], \"name\": \"0000000000000003-s3-eth1===0000000000000002-s2-eth2\", \"uuid\": \"s3-eth1==s2-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s1-eth2==s5-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000001\", \"s1-eth2\"], [\"0000000000000005\", \"s5-eth2\"]], \"name\": \"0000000000000001-s1-eth2===0000000000000005-s5-eth2\", \"uuid\": \"s1-eth2==s5-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s4-eth2==s5-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000004\", \"s4-eth2\"], [\"0000000000000005\", \"s5-eth1\"]], \"name\": \"0000000000000004-s4-eth2===0000000000000005-s5-eth1\", \"uuid\": \"s4-eth2==s5-eth1\"}"}}]}, "device_drivers": ["DEVICEDRIVER_RYU"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "openflow-ryu-controller", "name": "RYU"}]}
-[2025-01-15 15:50:25,425] INFO:device.service.drivers.OpenFlow.OpenFlowDriver:SetConfig_resources:[('_connect/address', '10.1.7.197'), ('_connect/port', '8080'), ('_connect/settings', '{\n"timeout": 120\n}'), ('/devices/device[0000000000000001]', '{"drivers": "DEVICEDRIVER_RYU", "name": "0000000000000001", "status": 2, "type": "packet-switch", "uuid": "0000000000000001"}'), ('/devices/device[0000000000000004]', '{"drivers": "DEVICEDRIVER_RYU", "name": "0000000000000004", "status": 2, "type": "packet-switch", "uuid": "0000000000000004"}'), ('/devices/device[0000000000000003]', '{"drivers": "DEVICEDRIVER_RYU", "name": "0000000000000003", "status": 2, "type": "packet-switch", "uuid": "0000000000000003"}'), ('/devices/device[0000000000000002]', '{"drivers": "DEVICEDRIVER_RYU", "name": "0000000000000002", "status": 2, "type": "packet-switch", "uuid": "0000000000000002"}'), ('/devices/device[0000000000000005]', '{"drivers": "DEVICEDRIVER_RYU", "name": "0000000000000005", "status": 2, "type": "packet-switch", "uuid": "0000000000000005"}'), ('/endpoints/endpoint[s1-eth1]', '{"device_uuid": "0000000000000001", "name": "s1-eth1", "type": "copper", "uuid": "s1-eth1"}'), ('/endpoints/endpoint[s1-eth2]', '{"device_uuid": "0000000000000001", "name": "s1-eth2", "type": "copper", "uuid": "s1-eth2"}'), ('/endpoints/endpoint[s4-eth1]', '{"device_uuid": "0000000000000004", "name": "s4-eth1", "type": "copper", "uuid": "s4-eth1"}'), ('/endpoints/endpoint[s4-eth2]', '{"device_uuid": "0000000000000004", "name": "s4-eth2", "type": "copper", "uuid": "s4-eth2"}'), ('/endpoints/endpoint[s3-eth1]', '{"device_uuid": "0000000000000003", "name": "s3-eth1", "type": "copper", "uuid": "s3-eth1"}'), ('/endpoints/endpoint[s3-eth2]', '{"device_uuid": "0000000000000003", "name": "s3-eth2", "type": "copper", "uuid": "s3-eth2"}'), ('/endpoints/endpoint[s2-eth1]', '{"device_uuid": "0000000000000002", "name": "s2-eth1", "type": "copper", "uuid": "s2-eth1"}'), ('/endpoints/endpoint[s2-eth4]', '{"device_uuid": "0000000000000002", "name": "s2-eth4", "type": "copper", "uuid": "s2-eth4"}'), ('/endpoints/endpoint[s2-eth2]', '{"device_uuid": "0000000000000002", "name": "s2-eth2", "type": "copper", "uuid": "s2-eth2"}'), ('/endpoints/endpoint[s2-eth3]', '{"device_uuid": "0000000000000002", "name": "s2-eth3", "type": "copper", "uuid": "s2-eth3"}'), ('/endpoints/endpoint[s5-eth4]', '{"device_uuid": "0000000000000005", "name": "s5-eth4", "type": "copper", "uuid": "s5-eth4"}'), ('/endpoints/endpoint[s5-eth1]', '{"device_uuid": "0000000000000005", "name": "s5-eth1", "type": "copper", "uuid": "s5-eth1"}'), ('/endpoints/endpoint[s5-eth2]', '{"device_uuid": "0000000000000005", "name": "s5-eth2", "type": "copper", "uuid": "s5-eth2"}'), ('/endpoints/endpoint[s5-eth3]', '{"device_uuid": "0000000000000005", "name": "s5-eth3", "type": "copper", "uuid": "s5-eth3"}'), ('/links/link[s3-eth2==s4-eth1]', '{"endpoints": [["0000000000000003", "s3-eth2"], ["0000000000000004", "s4-eth1"]], "name": "0000000000000003-s3-eth2===0000000000000004-s4-eth1", "uuid": "s3-eth2==s4-eth1"}'), ('/links/link[s4-eth1==s3-eth2]', '{"endpoints": [["0000000000000004", "s4-eth1"], ["0000000000000003", "s3-eth2"]], "name": "0000000000000004-s4-eth1===0000000000000003-s3-eth2", "uuid": "s4-eth1==s3-eth2"}'), ('/links/link[s5-eth1==s4-eth2]', '{"endpoints": [["0000000000000005", "s5-eth1"], ["0000000000000004", "s4-eth2"]], "name": "0000000000000005-s5-eth1===0000000000000004-s4-eth2", "uuid": "s5-eth1==s4-eth2"}'), ('/links/link[s5-eth2==s1-eth2]', '{"endpoints": [["0000000000000005", "s5-eth2"], ["0000000000000001", "s1-eth2"]], "name": "0000000000000005-s5-eth2===0000000000000001-s1-eth2", "uuid": "s5-eth2==s1-eth2"}'), ('/links/link[s2-eth2==s3-eth1]', '{"endpoints": [["0000000000000002", "s2-eth2"], ["0000000000000003", "s3-eth1"]], "name": "0000000000000002-s2-eth2===0000000000000003-s3-eth1", "uuid": "s2-eth2==s3-eth1"}'), ('/links/link[s2-eth1==s1-eth1]', '{"endpoints": [["0000000000000002", "s2-eth1"], ["0000000000000001", "s1-eth1"]], "name": "0000000000000002-s2-eth1===0000000000000001-s1-eth1", "uuid": "s2-eth1==s1-eth1"}'), ('/links/link[s1-eth1==s2-eth1]', '{"endpoints": [["0000000000000001", "s1-eth1"], ["0000000000000002", "s2-eth1"]], "name": "0000000000000001-s1-eth1===0000000000000002-s2-eth1", "uuid": "s1-eth1==s2-eth1"}'), ('/links/link[s3-eth1==s2-eth2]', '{"endpoints": [["0000000000000003", "s3-eth1"], ["0000000000000002", "s2-eth2"]], "name": "0000000000000003-s3-eth1===0000000000000002-s2-eth2", "uuid": "s3-eth1==s2-eth2"}'), ('/links/link[s1-eth2==s5-eth2]', '{"endpoints": [["0000000000000001", "s1-eth2"], ["0000000000000005", "s5-eth2"]], "name": "0000000000000001-s1-eth2===0000000000000005-s5-eth2", "uuid": "s1-eth2==s5-eth2"}'), ('/links/link[s4-eth2==s5-eth1]', '{"endpoints": [["0000000000000004", "s4-eth2"], ["0000000000000005", "s5-eth1"]], "name": "0000000000000004-s4-eth2===0000000000000005-s5-eth1", "uuid": "s4-eth2==s5-eth1"}')]
-[2025-01-15 15:50:25,425] DEBUG:context.client.ContextClient:SetDevice request: {"components": [], "controller_id": {}, "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "10.1.7.197"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "8080"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"timeout\": 120\n}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000001]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000001\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000001\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000004]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000004\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000004\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000003]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000003\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000003\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000002]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000002\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000002\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000005]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000005\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000005\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s1-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000001\", \"name\": \"s1-eth1\", \"type\": \"copper\", \"uuid\": \"s1-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s1-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000001\", \"name\": \"s1-eth2\", \"type\": \"copper\", \"uuid\": \"s1-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s4-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000004\", \"name\": \"s4-eth1\", \"type\": \"copper\", \"uuid\": \"s4-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s4-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000004\", \"name\": \"s4-eth2\", \"type\": \"copper\", \"uuid\": \"s4-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s3-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000003\", \"name\": \"s3-eth1\", \"type\": \"copper\", \"uuid\": \"s3-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s3-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000003\", \"name\": \"s3-eth2\", \"type\": \"copper\", \"uuid\": \"s3-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth1\", \"type\": \"copper\", \"uuid\": \"s2-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth4]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth4\", \"type\": \"copper\", \"uuid\": \"s2-eth4\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth2\", \"type\": \"copper\", \"uuid\": \"s2-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth3]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth3\", \"type\": \"copper\", \"uuid\": \"s2-eth3\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth4]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth4\", \"type\": \"copper\", \"uuid\": \"s5-eth4\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth1\", \"type\": \"copper\", \"uuid\": \"s5-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth2\", \"type\": \"copper\", \"uuid\": \"s5-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth3]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth3\", \"type\": \"copper\", \"uuid\": \"s5-eth3\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s3-eth2==s4-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000003\", \"s3-eth2\"], [\"0000000000000004\", \"s4-eth1\"]], \"name\": \"0000000000000003-s3-eth2===0000000000000004-s4-eth1\", \"uuid\": \"s3-eth2==s4-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s4-eth1==s3-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000004\", \"s4-eth1\"], [\"0000000000000003\", \"s3-eth2\"]], \"name\": \"0000000000000004-s4-eth1===0000000000000003-s3-eth2\", \"uuid\": \"s4-eth1==s3-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s5-eth1==s4-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000005\", \"s5-eth1\"], [\"0000000000000004\", \"s4-eth2\"]], \"name\": \"0000000000000005-s5-eth1===0000000000000004-s4-eth2\", \"uuid\": \"s5-eth1==s4-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s5-eth2==s1-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000005\", \"s5-eth2\"], [\"0000000000000001\", \"s1-eth2\"]], \"name\": \"0000000000000005-s5-eth2===0000000000000001-s1-eth2\", \"uuid\": \"s5-eth2==s1-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s2-eth2==s3-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000002\", \"s2-eth2\"], [\"0000000000000003\", \"s3-eth1\"]], \"name\": \"0000000000000002-s2-eth2===0000000000000003-s3-eth1\", \"uuid\": \"s2-eth2==s3-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s2-eth1==s1-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000002\", \"s2-eth1\"], [\"0000000000000001\", \"s1-eth1\"]], \"name\": \"0000000000000002-s2-eth1===0000000000000001-s1-eth1\", \"uuid\": \"s2-eth1==s1-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s1-eth1==s2-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000001\", \"s1-eth1\"], [\"0000000000000002\", \"s2-eth1\"]], \"name\": \"0000000000000001-s1-eth1===0000000000000002-s2-eth1\", \"uuid\": \"s1-eth1==s2-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s3-eth1==s2-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000003\", \"s3-eth1\"], [\"0000000000000002\", \"s2-eth2\"]], \"name\": \"0000000000000003-s3-eth1===0000000000000002-s2-eth2\", \"uuid\": \"s3-eth1==s2-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s1-eth2==s5-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000001\", \"s1-eth2\"], [\"0000000000000005\", \"s5-eth2\"]], \"name\": \"0000000000000001-s1-eth2===0000000000000005-s5-eth2\", \"uuid\": \"s1-eth2==s5-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s4-eth2==s5-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000004\", \"s4-eth2\"], [\"0000000000000005\", \"s5-eth1\"]], \"name\": \"0000000000000004-s4-eth2===0000000000000005-s5-eth1\", \"uuid\": \"s4-eth2==s5-eth1\"}"}}]}, "device_drivers": ["DEVICEDRIVER_RYU"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "openflow-ryu-controller", "name": "RYU"}
-[2025-01-15 15:50:25,459] DEBUG:context.client.ContextClient:SetDevice result: {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}
-[2025-01-15 15:50:25,460] DEBUG:device.service.DeviceServiceServicerImpl:ConfigureDevice reply: {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}
-[2025-01-15 15:50:25,463] DEBUG:device.service.DeviceServiceServicerImpl:ConfigureDevice request: {"components": [], "controller_id": {}, "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "10.1.7.197"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "8080"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"timeout\": 120\n}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000001]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000001\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000001\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000004]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000004\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000004\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000003]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000003\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000003\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000002]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000002\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000002\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000005]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000005\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000005\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s1-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000001\", \"name\": \"s1-eth1\", \"type\": \"copper\", \"uuid\": \"s1-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s1-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000001\", \"name\": \"s1-eth2\", \"type\": \"copper\", \"uuid\": \"s1-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s4-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000004\", \"name\": \"s4-eth1\", \"type\": \"copper\", \"uuid\": \"s4-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s4-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000004\", \"name\": \"s4-eth2\", \"type\": \"copper\", \"uuid\": \"s4-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s3-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000003\", \"name\": \"s3-eth1\", \"type\": \"copper\", \"uuid\": \"s3-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s3-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000003\", \"name\": \"s3-eth2\", \"type\": \"copper\", \"uuid\": \"s3-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth1\", \"type\": \"copper\", \"uuid\": \"s2-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth4]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth4\", \"type\": \"copper\", \"uuid\": \"s2-eth4\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth2\", \"type\": \"copper\", \"uuid\": \"s2-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth3]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth3\", \"type\": \"copper\", \"uuid\": \"s2-eth3\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth4]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth4\", \"type\": \"copper\", \"uuid\": \"s5-eth4\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth1\", \"type\": \"copper\", \"uuid\": \"s5-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth2\", \"type\": \"copper\", \"uuid\": \"s5-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth3]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth3\", \"type\": \"copper\", \"uuid\": \"s5-eth3\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s3-eth2==s4-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000003\", \"s3-eth2\"], [\"0000000000000004\", \"s4-eth1\"]], \"name\": \"0000000000000003-s3-eth2===0000000000000004-s4-eth1\", \"uuid\": \"s3-eth2==s4-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s4-eth1==s3-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000004\", \"s4-eth1\"], [\"0000000000000003\", \"s3-eth2\"]], \"name\": \"0000000000000004-s4-eth1===0000000000000003-s3-eth2\", \"uuid\": \"s4-eth1==s3-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s5-eth1==s4-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000005\", \"s5-eth1\"], [\"0000000000000004\", \"s4-eth2\"]], \"name\": \"0000000000000005-s5-eth1===0000000000000004-s4-eth2\", \"uuid\": \"s5-eth1==s4-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s5-eth2==s1-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000005\", \"s5-eth2\"], [\"0000000000000001\", \"s1-eth2\"]], \"name\": \"0000000000000005-s5-eth2===0000000000000001-s1-eth2\", \"uuid\": \"s5-eth2==s1-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s2-eth2==s3-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000002\", \"s2-eth2\"], [\"0000000000000003\", \"s3-eth1\"]], \"name\": \"0000000000000002-s2-eth2===0000000000000003-s3-eth1\", \"uuid\": \"s2-eth2==s3-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s2-eth1==s1-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000002\", \"s2-eth1\"], [\"0000000000000001\", \"s1-eth1\"]], \"name\": \"0000000000000002-s2-eth1===0000000000000001-s1-eth1\", \"uuid\": \"s2-eth1==s1-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s1-eth1==s2-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000001\", \"s1-eth1\"], [\"0000000000000002\", \"s2-eth1\"]], \"name\": \"0000000000000001-s1-eth1===0000000000000002-s2-eth1\", \"uuid\": \"s1-eth1==s2-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s3-eth1==s2-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000003\", \"s3-eth1\"], [\"0000000000000002\", \"s2-eth2\"]], \"name\": \"0000000000000003-s3-eth1===0000000000000002-s2-eth2\", \"uuid\": \"s3-eth1==s2-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s1-eth2==s5-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000001\", \"s1-eth2\"], [\"0000000000000005\", \"s5-eth2\"]], \"name\": \"0000000000000001-s1-eth2===0000000000000005-s5-eth2\", \"uuid\": \"s1-eth2==s5-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s4-eth2==s5-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000004\", \"s4-eth2\"], [\"0000000000000005\", \"s5-eth1\"]], \"name\": \"0000000000000004-s4-eth2===0000000000000005-s5-eth1\", \"uuid\": \"s4-eth2==s5-eth1\"}"}}, {"action": "CONFIGACTION_UNDEFINED", "custom": {"resource_key": "/device[s2]/flow[h1-h3]", "resource_value": "{\"dpid\": \"0000000000000002\", \"in-port\": \"s2-eth3\", \"out-port\": \"s2-eth1\"}"}}, {"action": "CONFIGACTION_UNDEFINED", "custom": {"resource_key": "/device[s2]/flow[h3-h1]", "resource_value": "{\"dpid\": \"0000000000000002\", \"in-port\": \"s2-eth1\", \"out-port\": \"s2-eth3\"}"}}, {"action": "CONFIGACTION_UNDEFINED", "custom": {"resource_key": "/device[s1]/flow[h1-h3]", "resource_value": "{\"dpid\": \"0000000000000001\", \"in-port\": \"s1-eth1\", \"out-port\": \"s1-eth2\"}"}}, {"action": "CONFIGACTION_UNDEFINED", "custom": {"resource_key": "/device[s1]/flow[h3-h1]", "resource_value": "{\"dpid\": \"0000000000000001\", \"in-port\": \"s1-eth2\", \"out-port\": \"s1-eth1\"}"}}]}, "device_drivers": ["DEVICEDRIVER_RYU"], "device_endpoints": [{"endpoint_id": {"device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "endpoint_uuid": {"uuid": "158268b6-968b-582a-968d-da4b922ebc1c"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "43813baf-195e-5da6-af20-b3d0922e71a7"}}, "topology_uuid": {"uuid": "c76135e3-24a8-5e92-9bed-c3c9139359c8"}}}, "endpoint_location": {}, "endpoint_type": "mgmt", "kpi_sample_types": [], "name": "mgmt"}], "device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "openflow-ryu-controller", "name": "RYU"}
-[2025-01-15 15:50:25,463] DEBUG:context.client.ContextClient:Creating channel to 10.152.183.206:1010...
-[2025-01-15 15:50:25,464] DEBUG:context.client.ContextClient:Channel created
-[2025-01-15 15:50:25,464] DEBUG:context.client.ContextClient:SelectDevice request: {"device_ids": {"device_ids": [{"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}]}, "include_components": false, "include_config_rules": true, "include_endpoints": false}
-[2025-01-15 15:50:25,473] DEBUG:context.client.ContextClient:SelectDevice result: {"devices": [{"components": [], "controller_id": {}, "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "10.1.7.197"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "8080"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"timeout\": 120\n}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000001]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000001\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000001\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000004]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000004\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000004\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000003]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000003\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000003\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000002]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000002\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000002\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000005]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000005\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000005\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s1-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000001\", \"name\": \"s1-eth1\", \"type\": \"copper\", \"uuid\": \"s1-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s1-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000001\", \"name\": \"s1-eth2\", \"type\": \"copper\", \"uuid\": \"s1-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s4-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000004\", \"name\": \"s4-eth1\", \"type\": \"copper\", \"uuid\": \"s4-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s4-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000004\", \"name\": \"s4-eth2\", \"type\": \"copper\", \"uuid\": \"s4-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s3-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000003\", \"name\": \"s3-eth1\", \"type\": \"copper\", \"uuid\": \"s3-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s3-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000003\", \"name\": \"s3-eth2\", \"type\": \"copper\", \"uuid\": \"s3-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth1\", \"type\": \"copper\", \"uuid\": \"s2-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth4]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth4\", \"type\": \"copper\", \"uuid\": \"s2-eth4\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth2\", \"type\": \"copper\", \"uuid\": \"s2-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth3]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth3\", \"type\": \"copper\", \"uuid\": \"s2-eth3\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth4]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth4\", \"type\": \"copper\", \"uuid\": \"s5-eth4\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth1\", \"type\": \"copper\", \"uuid\": \"s5-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth2\", \"type\": \"copper\", \"uuid\": \"s5-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth3]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth3\", \"type\": \"copper\", \"uuid\": \"s5-eth3\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s3-eth2==s4-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000003\", \"s3-eth2\"], [\"0000000000000004\", \"s4-eth1\"]], \"name\": \"0000000000000003-s3-eth2===0000000000000004-s4-eth1\", \"uuid\": \"s3-eth2==s4-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s4-eth1==s3-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000004\", \"s4-eth1\"], [\"0000000000000003\", \"s3-eth2\"]], \"name\": \"0000000000000004-s4-eth1===0000000000000003-s3-eth2\", \"uuid\": \"s4-eth1==s3-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s5-eth1==s4-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000005\", \"s5-eth1\"], [\"0000000000000004\", \"s4-eth2\"]], \"name\": \"0000000000000005-s5-eth1===0000000000000004-s4-eth2\", \"uuid\": \"s5-eth1==s4-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s5-eth2==s1-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000005\", \"s5-eth2\"], [\"0000000000000001\", \"s1-eth2\"]], \"name\": \"0000000000000005-s5-eth2===0000000000000001-s1-eth2\", \"uuid\": \"s5-eth2==s1-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s2-eth2==s3-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000002\", \"s2-eth2\"], [\"0000000000000003\", \"s3-eth1\"]], \"name\": \"0000000000000002-s2-eth2===0000000000000003-s3-eth1\", \"uuid\": \"s2-eth2==s3-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s2-eth1==s1-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000002\", \"s2-eth1\"], [\"0000000000000001\", \"s1-eth1\"]], \"name\": \"0000000000000002-s2-eth1===0000000000000001-s1-eth1\", \"uuid\": \"s2-eth1==s1-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s1-eth1==s2-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000001\", \"s1-eth1\"], [\"0000000000000002\", \"s2-eth1\"]], \"name\": \"0000000000000001-s1-eth1===0000000000000002-s2-eth1\", \"uuid\": \"s1-eth1==s2-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s3-eth1==s2-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000003\", \"s3-eth1\"], [\"0000000000000002\", \"s2-eth2\"]], \"name\": \"0000000000000003-s3-eth1===0000000000000002-s2-eth2\", \"uuid\": \"s3-eth1==s2-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s1-eth2==s5-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000001\", \"s1-eth2\"], [\"0000000000000005\", \"s5-eth2\"]], \"name\": \"0000000000000001-s1-eth2===0000000000000005-s5-eth2\", \"uuid\": \"s1-eth2==s5-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s4-eth2==s5-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000004\", \"s4-eth2\"], [\"0000000000000005\", \"s5-eth1\"]], \"name\": \"0000000000000004-s4-eth2===0000000000000005-s5-eth1\", \"uuid\": \"s4-eth2==s5-eth1\"}"}}]}, "device_drivers": ["DEVICEDRIVER_RYU"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "openflow-ryu-controller", "name": "RYU"}]}
-[2025-01-15 15:50:25,474] INFO:device.service.drivers.OpenFlow.OpenFlowDriver:SetConfig_resources:[('_connect/address', '10.1.7.197'), ('_connect/port', '8080'), ('_connect/settings', '{\n"timeout": 120\n}'), ('/devices/device[0000000000000001]', '{"drivers": "DEVICEDRIVER_RYU", "name": "0000000000000001", "status": 2, "type": "packet-switch", "uuid": "0000000000000001"}'), ('/devices/device[0000000000000004]', '{"drivers": "DEVICEDRIVER_RYU", "name": "0000000000000004", "status": 2, "type": "packet-switch", "uuid": "0000000000000004"}'), ('/devices/device[0000000000000003]', '{"drivers": "DEVICEDRIVER_RYU", "name": "0000000000000003", "status": 2, "type": "packet-switch", "uuid": "0000000000000003"}'), ('/devices/device[0000000000000002]', '{"drivers": "DEVICEDRIVER_RYU", "name": "0000000000000002", "status": 2, "type": "packet-switch", "uuid": "0000000000000002"}'), ('/devices/device[0000000000000005]', '{"drivers": "DEVICEDRIVER_RYU", "name": "0000000000000005", "status": 2, "type": "packet-switch", "uuid": "0000000000000005"}'), ('/endpoints/endpoint[s1-eth1]', '{"device_uuid": "0000000000000001", "name": "s1-eth1", "type": "copper", "uuid": "s1-eth1"}'), ('/endpoints/endpoint[s1-eth2]', '{"device_uuid": "0000000000000001", "name": "s1-eth2", "type": "copper", "uuid": "s1-eth2"}'), ('/endpoints/endpoint[s4-eth1]', '{"device_uuid": "0000000000000004", "name": "s4-eth1", "type": "copper", "uuid": "s4-eth1"}'), ('/endpoints/endpoint[s4-eth2]', '{"device_uuid": "0000000000000004", "name": "s4-eth2", "type": "copper", "uuid": "s4-eth2"}'), ('/endpoints/endpoint[s3-eth1]', '{"device_uuid": "0000000000000003", "name": "s3-eth1", "type": "copper", "uuid": "s3-eth1"}'), ('/endpoints/endpoint[s3-eth2]', '{"device_uuid": "0000000000000003", "name": "s3-eth2", "type": "copper", "uuid": "s3-eth2"}'), ('/endpoints/endpoint[s2-eth1]', '{"device_uuid": "0000000000000002", "name": "s2-eth1", "type": "copper", "uuid": "s2-eth1"}'), ('/endpoints/endpoint[s2-eth4]', '{"device_uuid": "0000000000000002", "name": "s2-eth4", "type": "copper", "uuid": "s2-eth4"}'), ('/endpoints/endpoint[s2-eth2]', '{"device_uuid": "0000000000000002", "name": "s2-eth2", "type": "copper", "uuid": "s2-eth2"}'), ('/endpoints/endpoint[s2-eth3]', '{"device_uuid": "0000000000000002", "name": "s2-eth3", "type": "copper", "uuid": "s2-eth3"}'), ('/endpoints/endpoint[s5-eth4]', '{"device_uuid": "0000000000000005", "name": "s5-eth4", "type": "copper", "uuid": "s5-eth4"}'), ('/endpoints/endpoint[s5-eth1]', '{"device_uuid": "0000000000000005", "name": "s5-eth1", "type": "copper", "uuid": "s5-eth1"}'), ('/endpoints/endpoint[s5-eth2]', '{"device_uuid": "0000000000000005", "name": "s5-eth2", "type": "copper", "uuid": "s5-eth2"}'), ('/endpoints/endpoint[s5-eth3]', '{"device_uuid": "0000000000000005", "name": "s5-eth3", "type": "copper", "uuid": "s5-eth3"}'), ('/links/link[s3-eth2==s4-eth1]', '{"endpoints": [["0000000000000003", "s3-eth2"], ["0000000000000004", "s4-eth1"]], "name": "0000000000000003-s3-eth2===0000000000000004-s4-eth1", "uuid": "s3-eth2==s4-eth1"}'), ('/links/link[s4-eth1==s3-eth2]', '{"endpoints": [["0000000000000004", "s4-eth1"], ["0000000000000003", "s3-eth2"]], "name": "0000000000000004-s4-eth1===0000000000000003-s3-eth2", "uuid": "s4-eth1==s3-eth2"}'), ('/links/link[s5-eth1==s4-eth2]', '{"endpoints": [["0000000000000005", "s5-eth1"], ["0000000000000004", "s4-eth2"]], "name": "0000000000000005-s5-eth1===0000000000000004-s4-eth2", "uuid": "s5-eth1==s4-eth2"}'), ('/links/link[s5-eth2==s1-eth2]', '{"endpoints": [["0000000000000005", "s5-eth2"], ["0000000000000001", "s1-eth2"]], "name": "0000000000000005-s5-eth2===0000000000000001-s1-eth2", "uuid": "s5-eth2==s1-eth2"}'), ('/links/link[s2-eth2==s3-eth1]', '{"endpoints": [["0000000000000002", "s2-eth2"], ["0000000000000003", "s3-eth1"]], "name": "0000000000000002-s2-eth2===0000000000000003-s3-eth1", "uuid": "s2-eth2==s3-eth1"}'), ('/links/link[s2-eth1==s1-eth1]', '{"endpoints": [["0000000000000002", "s2-eth1"], ["0000000000000001", "s1-eth1"]], "name": "0000000000000002-s2-eth1===0000000000000001-s1-eth1", "uuid": "s2-eth1==s1-eth1"}'), ('/links/link[s1-eth1==s2-eth1]', '{"endpoints": [["0000000000000001", "s1-eth1"], ["0000000000000002", "s2-eth1"]], "name": "0000000000000001-s1-eth1===0000000000000002-s2-eth1", "uuid": "s1-eth1==s2-eth1"}'), ('/links/link[s3-eth1==s2-eth2]', '{"endpoints": [["0000000000000003", "s3-eth1"], ["0000000000000002", "s2-eth2"]], "name": "0000000000000003-s3-eth1===0000000000000002-s2-eth2", "uuid": "s3-eth1==s2-eth2"}'), ('/links/link[s1-eth2==s5-eth2]', '{"endpoints": [["0000000000000001", "s1-eth2"], ["0000000000000005", "s5-eth2"]], "name": "0000000000000001-s1-eth2===0000000000000005-s5-eth2", "uuid": "s1-eth2==s5-eth2"}'), ('/links/link[s4-eth2==s5-eth1]', '{"endpoints": [["0000000000000004", "s4-eth2"], ["0000000000000005", "s5-eth1"]], "name": "0000000000000004-s4-eth2===0000000000000005-s5-eth1", "uuid": "s4-eth2==s5-eth1"}')]
-[2025-01-15 15:50:25,475] DEBUG:context.client.ContextClient:SetDevice request: {"components": [], "controller_id": {}, "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "10.1.7.197"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "8080"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"timeout\": 120\n}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000001]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000001\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000001\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000004]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000004\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000004\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000003]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000003\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000003\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000002]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000002\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000002\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000005]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000005\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000005\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s1-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000001\", \"name\": \"s1-eth1\", \"type\": \"copper\", \"uuid\": \"s1-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s1-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000001\", \"name\": \"s1-eth2\", \"type\": \"copper\", \"uuid\": \"s1-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s4-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000004\", \"name\": \"s4-eth1\", \"type\": \"copper\", \"uuid\": \"s4-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s4-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000004\", \"name\": \"s4-eth2\", \"type\": \"copper\", \"uuid\": \"s4-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s3-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000003\", \"name\": \"s3-eth1\", \"type\": \"copper\", \"uuid\": \"s3-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s3-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000003\", \"name\": \"s3-eth2\", \"type\": \"copper\", \"uuid\": \"s3-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth1\", \"type\": \"copper\", \"uuid\": \"s2-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth4]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth4\", \"type\": \"copper\", \"uuid\": \"s2-eth4\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth2\", \"type\": \"copper\", \"uuid\": \"s2-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth3]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth3\", \"type\": \"copper\", \"uuid\": \"s2-eth3\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth4]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth4\", \"type\": \"copper\", \"uuid\": \"s5-eth4\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth1\", \"type\": \"copper\", \"uuid\": \"s5-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth2\", \"type\": \"copper\", \"uuid\": \"s5-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth3]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth3\", \"type\": \"copper\", \"uuid\": \"s5-eth3\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s3-eth2==s4-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000003\", \"s3-eth2\"], [\"0000000000000004\", \"s4-eth1\"]], \"name\": \"0000000000000003-s3-eth2===0000000000000004-s4-eth1\", \"uuid\": \"s3-eth2==s4-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s4-eth1==s3-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000004\", \"s4-eth1\"], [\"0000000000000003\", \"s3-eth2\"]], \"name\": \"0000000000000004-s4-eth1===0000000000000003-s3-eth2\", \"uuid\": \"s4-eth1==s3-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s5-eth1==s4-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000005\", \"s5-eth1\"], [\"0000000000000004\", \"s4-eth2\"]], \"name\": \"0000000000000005-s5-eth1===0000000000000004-s4-eth2\", \"uuid\": \"s5-eth1==s4-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s5-eth2==s1-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000005\", \"s5-eth2\"], [\"0000000000000001\", \"s1-eth2\"]], \"name\": \"0000000000000005-s5-eth2===0000000000000001-s1-eth2\", \"uuid\": \"s5-eth2==s1-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s2-eth2==s3-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000002\", \"s2-eth2\"], [\"0000000000000003\", \"s3-eth1\"]], \"name\": \"0000000000000002-s2-eth2===0000000000000003-s3-eth1\", \"uuid\": \"s2-eth2==s3-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s2-eth1==s1-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000002\", \"s2-eth1\"], [\"0000000000000001\", \"s1-eth1\"]], \"name\": \"0000000000000002-s2-eth1===0000000000000001-s1-eth1\", \"uuid\": \"s2-eth1==s1-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s1-eth1==s2-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000001\", \"s1-eth1\"], [\"0000000000000002\", \"s2-eth1\"]], \"name\": \"0000000000000001-s1-eth1===0000000000000002-s2-eth1\", \"uuid\": \"s1-eth1==s2-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s3-eth1==s2-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000003\", \"s3-eth1\"], [\"0000000000000002\", \"s2-eth2\"]], \"name\": \"0000000000000003-s3-eth1===0000000000000002-s2-eth2\", \"uuid\": \"s3-eth1==s2-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s1-eth2==s5-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000001\", \"s1-eth2\"], [\"0000000000000005\", \"s5-eth2\"]], \"name\": \"0000000000000001-s1-eth2===0000000000000005-s5-eth2\", \"uuid\": \"s1-eth2==s5-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s4-eth2==s5-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000004\", \"s4-eth2\"], [\"0000000000000005\", \"s5-eth1\"]], \"name\": \"0000000000000004-s4-eth2===0000000000000005-s5-eth1\", \"uuid\": \"s4-eth2==s5-eth1\"}"}}]}, "device_drivers": ["DEVICEDRIVER_RYU"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "openflow-ryu-controller", "name": "RYU"}
-[2025-01-15 15:50:25,504] DEBUG:context.client.ContextClient:SetDevice result: {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}
-[2025-01-15 15:50:25,505] DEBUG:device.service.DeviceServiceServicerImpl:ConfigureDevice reply: {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}
-[2025-01-15 15:50:25,508] DEBUG:device.service.DeviceServiceServicerImpl:ConfigureDevice request: {"components": [], "controller_id": {}, "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "10.1.7.197"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "8080"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"timeout\": 120\n}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000001]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000001\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000001\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000004]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000004\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000004\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000003]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000003\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000003\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000002]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000002\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000002\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000005]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000005\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000005\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s1-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000001\", \"name\": \"s1-eth1\", \"type\": \"copper\", \"uuid\": \"s1-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s1-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000001\", \"name\": \"s1-eth2\", \"type\": \"copper\", \"uuid\": \"s1-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s4-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000004\", \"name\": \"s4-eth1\", \"type\": \"copper\", \"uuid\": \"s4-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s4-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000004\", \"name\": \"s4-eth2\", \"type\": \"copper\", \"uuid\": \"s4-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s3-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000003\", \"name\": \"s3-eth1\", \"type\": \"copper\", \"uuid\": \"s3-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s3-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000003\", \"name\": \"s3-eth2\", \"type\": \"copper\", \"uuid\": \"s3-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth1\", \"type\": \"copper\", \"uuid\": \"s2-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth4]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth4\", \"type\": \"copper\", \"uuid\": \"s2-eth4\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth2\", \"type\": \"copper\", \"uuid\": \"s2-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth3]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth3\", \"type\": \"copper\", \"uuid\": \"s2-eth3\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth4]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth4\", \"type\": \"copper\", \"uuid\": \"s5-eth4\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth1\", \"type\": \"copper\", \"uuid\": \"s5-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth2\", \"type\": \"copper\", \"uuid\": \"s5-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth3]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth3\", \"type\": \"copper\", \"uuid\": \"s5-eth3\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s3-eth2==s4-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000003\", \"s3-eth2\"], [\"0000000000000004\", \"s4-eth1\"]], \"name\": \"0000000000000003-s3-eth2===0000000000000004-s4-eth1\", \"uuid\": \"s3-eth2==s4-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s4-eth1==s3-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000004\", \"s4-eth1\"], [\"0000000000000003\", \"s3-eth2\"]], \"name\": \"0000000000000004-s4-eth1===0000000000000003-s3-eth2\", \"uuid\": \"s4-eth1==s3-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s5-eth1==s4-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000005\", \"s5-eth1\"], [\"0000000000000004\", \"s4-eth2\"]], \"name\": \"0000000000000005-s5-eth1===0000000000000004-s4-eth2\", \"uuid\": \"s5-eth1==s4-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s5-eth2==s1-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000005\", \"s5-eth2\"], [\"0000000000000001\", \"s1-eth2\"]], \"name\": \"0000000000000005-s5-eth2===0000000000000001-s1-eth2\", \"uuid\": \"s5-eth2==s1-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s2-eth2==s3-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000002\", \"s2-eth2\"], [\"0000000000000003\", \"s3-eth1\"]], \"name\": \"0000000000000002-s2-eth2===0000000000000003-s3-eth1\", \"uuid\": \"s2-eth2==s3-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s2-eth1==s1-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000002\", \"s2-eth1\"], [\"0000000000000001\", \"s1-eth1\"]], \"name\": \"0000000000000002-s2-eth1===0000000000000001-s1-eth1\", \"uuid\": \"s2-eth1==s1-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s1-eth1==s2-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000001\", \"s1-eth1\"], [\"0000000000000002\", \"s2-eth1\"]], \"name\": \"0000000000000001-s1-eth1===0000000000000002-s2-eth1\", \"uuid\": \"s1-eth1==s2-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s3-eth1==s2-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000003\", \"s3-eth1\"], [\"0000000000000002\", \"s2-eth2\"]], \"name\": \"0000000000000003-s3-eth1===0000000000000002-s2-eth2\", \"uuid\": \"s3-eth1==s2-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s1-eth2==s5-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000001\", \"s1-eth2\"], [\"0000000000000005\", \"s5-eth2\"]], \"name\": \"0000000000000001-s1-eth2===0000000000000005-s5-eth2\", \"uuid\": \"s1-eth2==s5-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s4-eth2==s5-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000004\", \"s4-eth2\"], [\"0000000000000005\", \"s5-eth1\"]], \"name\": \"0000000000000004-s4-eth2===0000000000000005-s5-eth1\", \"uuid\": \"s4-eth2==s5-eth1\"}"}}, {"action": "CONFIGACTION_UNDEFINED", "custom": {"resource_key": "/device[s2]/flow[h1-h3]", "resource_value": "{\"dpid\": \"0000000000000002\", \"in-port\": \"s2-eth3\", \"out-port\": \"s2-eth1\"}"}}, {"action": "CONFIGACTION_UNDEFINED", "custom": {"resource_key": "/device[s2]/flow[h3-h1]", "resource_value": "{\"dpid\": \"0000000000000002\", \"in-port\": \"s2-eth1\", \"out-port\": \"s2-eth3\"}"}}, {"action": "CONFIGACTION_UNDEFINED", "custom": {"resource_key": "/device[s1]/flow[h1-h3]", "resource_value": "{\"dpid\": \"0000000000000001\", \"in-port\": \"s1-eth1\", \"out-port\": \"s1-eth2\"}"}}, {"action": "CONFIGACTION_UNDEFINED", "custom": {"resource_key": "/device[s1]/flow[h3-h1]", "resource_value": "{\"dpid\": \"0000000000000001\", \"in-port\": \"s1-eth2\", \"out-port\": \"s1-eth1\"}"}}, {"action": "CONFIGACTION_UNDEFINED", "custom": {"resource_key": "/device[s5]/flow[h1-h3]", "resource_value": "{\"dpid\": \"0000000000000005\", \"in-port\": \"s5-eth2\", \"out-port\": \"s5-eth3\"}"}}, {"action": "CONFIGACTION_UNDEFINED", "custom": {"resource_key": "/device[s5]/flow[h3-h1]", "resource_value": "{\"dpid\": \"0000000000000005\", \"in-port\": \"s5-eth3\", \"out-port\": \"s5-eth2\"}"}}]}, "device_drivers": ["DEVICEDRIVER_RYU"], "device_endpoints": [{"endpoint_id": {"device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "endpoint_uuid": {"uuid": "158268b6-968b-582a-968d-da4b922ebc1c"}, "topology_id": {"context_id": {"context_uuid": {"uuid": "43813baf-195e-5da6-af20-b3d0922e71a7"}}, "topology_uuid": {"uuid": "c76135e3-24a8-5e92-9bed-c3c9139359c8"}}}, "endpoint_location": {}, "endpoint_type": "mgmt", "kpi_sample_types": [], "name": "mgmt"}], "device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "openflow-ryu-controller", "name": "RYU"}
-[2025-01-15 15:50:25,508] DEBUG:context.client.ContextClient:Creating channel to 10.152.183.206:1010...
-[2025-01-15 15:50:25,509] DEBUG:context.client.ContextClient:Channel created
-[2025-01-15 15:50:25,509] DEBUG:context.client.ContextClient:SelectDevice request: {"device_ids": {"device_ids": [{"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}]}, "include_components": false, "include_config_rules": true, "include_endpoints": false}
-[2025-01-15 15:50:25,519] DEBUG:context.client.ContextClient:SelectDevice result: {"devices": [{"components": [], "controller_id": {}, "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "10.1.7.197"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "8080"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"timeout\": 120\n}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000001]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000001\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000001\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000004]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000004\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000004\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000003]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000003\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000003\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000002]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000002\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000002\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000005]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000005\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000005\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s1-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000001\", \"name\": \"s1-eth1\", \"type\": \"copper\", \"uuid\": \"s1-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s1-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000001\", \"name\": \"s1-eth2\", \"type\": \"copper\", \"uuid\": \"s1-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s4-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000004\", \"name\": \"s4-eth1\", \"type\": \"copper\", \"uuid\": \"s4-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s4-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000004\", \"name\": \"s4-eth2\", \"type\": \"copper\", \"uuid\": \"s4-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s3-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000003\", \"name\": \"s3-eth1\", \"type\": \"copper\", \"uuid\": \"s3-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s3-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000003\", \"name\": \"s3-eth2\", \"type\": \"copper\", \"uuid\": \"s3-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth1\", \"type\": \"copper\", \"uuid\": \"s2-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth4]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth4\", \"type\": \"copper\", \"uuid\": \"s2-eth4\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth2\", \"type\": \"copper\", \"uuid\": \"s2-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth3]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth3\", \"type\": \"copper\", \"uuid\": \"s2-eth3\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth4]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth4\", \"type\": \"copper\", \"uuid\": \"s5-eth4\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth1\", \"type\": \"copper\", \"uuid\": \"s5-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth2\", \"type\": \"copper\", \"uuid\": \"s5-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth3]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth3\", \"type\": \"copper\", \"uuid\": \"s5-eth3\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s3-eth2==s4-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000003\", \"s3-eth2\"], [\"0000000000000004\", \"s4-eth1\"]], \"name\": \"0000000000000003-s3-eth2===0000000000000004-s4-eth1\", \"uuid\": \"s3-eth2==s4-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s4-eth1==s3-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000004\", \"s4-eth1\"], [\"0000000000000003\", \"s3-eth2\"]], \"name\": \"0000000000000004-s4-eth1===0000000000000003-s3-eth2\", \"uuid\": \"s4-eth1==s3-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s5-eth1==s4-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000005\", \"s5-eth1\"], [\"0000000000000004\", \"s4-eth2\"]], \"name\": \"0000000000000005-s5-eth1===0000000000000004-s4-eth2\", \"uuid\": \"s5-eth1==s4-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s5-eth2==s1-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000005\", \"s5-eth2\"], [\"0000000000000001\", \"s1-eth2\"]], \"name\": \"0000000000000005-s5-eth2===0000000000000001-s1-eth2\", \"uuid\": \"s5-eth2==s1-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s2-eth2==s3-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000002\", \"s2-eth2\"], [\"0000000000000003\", \"s3-eth1\"]], \"name\": \"0000000000000002-s2-eth2===0000000000000003-s3-eth1\", \"uuid\": \"s2-eth2==s3-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s2-eth1==s1-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000002\", \"s2-eth1\"], [\"0000000000000001\", \"s1-eth1\"]], \"name\": \"0000000000000002-s2-eth1===0000000000000001-s1-eth1\", \"uuid\": \"s2-eth1==s1-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s1-eth1==s2-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000001\", \"s1-eth1\"], [\"0000000000000002\", \"s2-eth1\"]], \"name\": \"0000000000000001-s1-eth1===0000000000000002-s2-eth1\", \"uuid\": \"s1-eth1==s2-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s3-eth1==s2-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000003\", \"s3-eth1\"], [\"0000000000000002\", \"s2-eth2\"]], \"name\": \"0000000000000003-s3-eth1===0000000000000002-s2-eth2\", \"uuid\": \"s3-eth1==s2-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s1-eth2==s5-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000001\", \"s1-eth2\"], [\"0000000000000005\", \"s5-eth2\"]], \"name\": \"0000000000000001-s1-eth2===0000000000000005-s5-eth2\", \"uuid\": \"s1-eth2==s5-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s4-eth2==s5-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000004\", \"s4-eth2\"], [\"0000000000000005\", \"s5-eth1\"]], \"name\": \"0000000000000004-s4-eth2===0000000000000005-s5-eth1\", \"uuid\": \"s4-eth2==s5-eth1\"}"}}]}, "device_drivers": ["DEVICEDRIVER_RYU"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "openflow-ryu-controller", "name": "RYU"}]}
-[2025-01-15 15:50:25,519] INFO:device.service.drivers.OpenFlow.OpenFlowDriver:SetConfig_resources:[('_connect/address', '10.1.7.197'), ('_connect/port', '8080'), ('_connect/settings', '{\n"timeout": 120\n}'), ('/devices/device[0000000000000001]', '{"drivers": "DEVICEDRIVER_RYU", "name": "0000000000000001", "status": 2, "type": "packet-switch", "uuid": "0000000000000001"}'), ('/devices/device[0000000000000004]', '{"drivers": "DEVICEDRIVER_RYU", "name": "0000000000000004", "status": 2, "type": "packet-switch", "uuid": "0000000000000004"}'), ('/devices/device[0000000000000003]', '{"drivers": "DEVICEDRIVER_RYU", "name": "0000000000000003", "status": 2, "type": "packet-switch", "uuid": "0000000000000003"}'), ('/devices/device[0000000000000002]', '{"drivers": "DEVICEDRIVER_RYU", "name": "0000000000000002", "status": 2, "type": "packet-switch", "uuid": "0000000000000002"}'), ('/devices/device[0000000000000005]', '{"drivers": "DEVICEDRIVER_RYU", "name": "0000000000000005", "status": 2, "type": "packet-switch", "uuid": "0000000000000005"}'), ('/endpoints/endpoint[s1-eth1]', '{"device_uuid": "0000000000000001", "name": "s1-eth1", "type": "copper", "uuid": "s1-eth1"}'), ('/endpoints/endpoint[s1-eth2]', '{"device_uuid": "0000000000000001", "name": "s1-eth2", "type": "copper", "uuid": "s1-eth2"}'), ('/endpoints/endpoint[s4-eth1]', '{"device_uuid": "0000000000000004", "name": "s4-eth1", "type": "copper", "uuid": "s4-eth1"}'), ('/endpoints/endpoint[s4-eth2]', '{"device_uuid": "0000000000000004", "name": "s4-eth2", "type": "copper", "uuid": "s4-eth2"}'), ('/endpoints/endpoint[s3-eth1]', '{"device_uuid": "0000000000000003", "name": "s3-eth1", "type": "copper", "uuid": "s3-eth1"}'), ('/endpoints/endpoint[s3-eth2]', '{"device_uuid": "0000000000000003", "name": "s3-eth2", "type": "copper", "uuid": "s3-eth2"}'), ('/endpoints/endpoint[s2-eth1]', '{"device_uuid": "0000000000000002", "name": "s2-eth1", "type": "copper", "uuid": "s2-eth1"}'), ('/endpoints/endpoint[s2-eth4]', '{"device_uuid": "0000000000000002", "name": "s2-eth4", "type": "copper", "uuid": "s2-eth4"}'), ('/endpoints/endpoint[s2-eth2]', '{"device_uuid": "0000000000000002", "name": "s2-eth2", "type": "copper", "uuid": "s2-eth2"}'), ('/endpoints/endpoint[s2-eth3]', '{"device_uuid": "0000000000000002", "name": "s2-eth3", "type": "copper", "uuid": "s2-eth3"}'), ('/endpoints/endpoint[s5-eth4]', '{"device_uuid": "0000000000000005", "name": "s5-eth4", "type": "copper", "uuid": "s5-eth4"}'), ('/endpoints/endpoint[s5-eth1]', '{"device_uuid": "0000000000000005", "name": "s5-eth1", "type": "copper", "uuid": "s5-eth1"}'), ('/endpoints/endpoint[s5-eth2]', '{"device_uuid": "0000000000000005", "name": "s5-eth2", "type": "copper", "uuid": "s5-eth2"}'), ('/endpoints/endpoint[s5-eth3]', '{"device_uuid": "0000000000000005", "name": "s5-eth3", "type": "copper", "uuid": "s5-eth3"}'), ('/links/link[s3-eth2==s4-eth1]', '{"endpoints": [["0000000000000003", "s3-eth2"], ["0000000000000004", "s4-eth1"]], "name": "0000000000000003-s3-eth2===0000000000000004-s4-eth1", "uuid": "s3-eth2==s4-eth1"}'), ('/links/link[s4-eth1==s3-eth2]', '{"endpoints": [["0000000000000004", "s4-eth1"], ["0000000000000003", "s3-eth2"]], "name": "0000000000000004-s4-eth1===0000000000000003-s3-eth2", "uuid": "s4-eth1==s3-eth2"}'), ('/links/link[s5-eth1==s4-eth2]', '{"endpoints": [["0000000000000005", "s5-eth1"], ["0000000000000004", "s4-eth2"]], "name": "0000000000000005-s5-eth1===0000000000000004-s4-eth2", "uuid": "s5-eth1==s4-eth2"}'), ('/links/link[s5-eth2==s1-eth2]', '{"endpoints": [["0000000000000005", "s5-eth2"], ["0000000000000001", "s1-eth2"]], "name": "0000000000000005-s5-eth2===0000000000000001-s1-eth2", "uuid": "s5-eth2==s1-eth2"}'), ('/links/link[s2-eth2==s3-eth1]', '{"endpoints": [["0000000000000002", "s2-eth2"], ["0000000000000003", "s3-eth1"]], "name": "0000000000000002-s2-eth2===0000000000000003-s3-eth1", "uuid": "s2-eth2==s3-eth1"}'), ('/links/link[s2-eth1==s1-eth1]', '{"endpoints": [["0000000000000002", "s2-eth1"], ["0000000000000001", "s1-eth1"]], "name": "0000000000000002-s2-eth1===0000000000000001-s1-eth1", "uuid": "s2-eth1==s1-eth1"}'), ('/links/link[s1-eth1==s2-eth1]', '{"endpoints": [["0000000000000001", "s1-eth1"], ["0000000000000002", "s2-eth1"]], "name": "0000000000000001-s1-eth1===0000000000000002-s2-eth1", "uuid": "s1-eth1==s2-eth1"}'), ('/links/link[s3-eth1==s2-eth2]', '{"endpoints": [["0000000000000003", "s3-eth1"], ["0000000000000002", "s2-eth2"]], "name": "0000000000000003-s3-eth1===0000000000000002-s2-eth2", "uuid": "s3-eth1==s2-eth2"}'), ('/links/link[s1-eth2==s5-eth2]', '{"endpoints": [["0000000000000001", "s1-eth2"], ["0000000000000005", "s5-eth2"]], "name": "0000000000000001-s1-eth2===0000000000000005-s5-eth2", "uuid": "s1-eth2==s5-eth2"}'), ('/links/link[s4-eth2==s5-eth1]', '{"endpoints": [["0000000000000004", "s4-eth2"], ["0000000000000005", "s5-eth1"]], "name": "0000000000000004-s4-eth2===0000000000000005-s5-eth1", "uuid": "s4-eth2==s5-eth1"}')]
-[2025-01-15 15:50:25,520] DEBUG:context.client.ContextClient:SetDevice request: {"components": [], "controller_id": {}, "device_config": {"config_rules": [{"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/address", "resource_value": "10.1.7.197"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/port", "resource_value": "8080"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "_connect/settings", "resource_value": "{\n\"timeout\": 120\n}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000001]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000001\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000001\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000004]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000004\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000004\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000003]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000003\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000003\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000002]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000002\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000002\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/devices/device[0000000000000005]", "resource_value": "{\"drivers\": \"DEVICEDRIVER_RYU\", \"name\": \"0000000000000005\", \"status\": 2, \"type\": \"packet-switch\", \"uuid\": \"0000000000000005\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s1-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000001\", \"name\": \"s1-eth1\", \"type\": \"copper\", \"uuid\": \"s1-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s1-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000001\", \"name\": \"s1-eth2\", \"type\": \"copper\", \"uuid\": \"s1-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s4-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000004\", \"name\": \"s4-eth1\", \"type\": \"copper\", \"uuid\": \"s4-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s4-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000004\", \"name\": \"s4-eth2\", \"type\": \"copper\", \"uuid\": \"s4-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s3-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000003\", \"name\": \"s3-eth1\", \"type\": \"copper\", \"uuid\": \"s3-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s3-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000003\", \"name\": \"s3-eth2\", \"type\": \"copper\", \"uuid\": \"s3-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth1\", \"type\": \"copper\", \"uuid\": \"s2-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth4]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth4\", \"type\": \"copper\", \"uuid\": \"s2-eth4\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth2\", \"type\": \"copper\", \"uuid\": \"s2-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s2-eth3]", "resource_value": "{\"device_uuid\": \"0000000000000002\", \"name\": \"s2-eth3\", \"type\": \"copper\", \"uuid\": \"s2-eth3\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth4]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth4\", \"type\": \"copper\", \"uuid\": \"s5-eth4\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth1]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth1\", \"type\": \"copper\", \"uuid\": \"s5-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth2]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth2\", \"type\": \"copper\", \"uuid\": \"s5-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/endpoints/endpoint[s5-eth3]", "resource_value": "{\"device_uuid\": \"0000000000000005\", \"name\": \"s5-eth3\", \"type\": \"copper\", \"uuid\": \"s5-eth3\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s3-eth2==s4-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000003\", \"s3-eth2\"], [\"0000000000000004\", \"s4-eth1\"]], \"name\": \"0000000000000003-s3-eth2===0000000000000004-s4-eth1\", \"uuid\": \"s3-eth2==s4-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s4-eth1==s3-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000004\", \"s4-eth1\"], [\"0000000000000003\", \"s3-eth2\"]], \"name\": \"0000000000000004-s4-eth1===0000000000000003-s3-eth2\", \"uuid\": \"s4-eth1==s3-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s5-eth1==s4-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000005\", \"s5-eth1\"], [\"0000000000000004\", \"s4-eth2\"]], \"name\": \"0000000000000005-s5-eth1===0000000000000004-s4-eth2\", \"uuid\": \"s5-eth1==s4-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s5-eth2==s1-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000005\", \"s5-eth2\"], [\"0000000000000001\", \"s1-eth2\"]], \"name\": \"0000000000000005-s5-eth2===0000000000000001-s1-eth2\", \"uuid\": \"s5-eth2==s1-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s2-eth2==s3-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000002\", \"s2-eth2\"], [\"0000000000000003\", \"s3-eth1\"]], \"name\": \"0000000000000002-s2-eth2===0000000000000003-s3-eth1\", \"uuid\": \"s2-eth2==s3-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s2-eth1==s1-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000002\", \"s2-eth1\"], [\"0000000000000001\", \"s1-eth1\"]], \"name\": \"0000000000000002-s2-eth1===0000000000000001-s1-eth1\", \"uuid\": \"s2-eth1==s1-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s1-eth1==s2-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000001\", \"s1-eth1\"], [\"0000000000000002\", \"s2-eth1\"]], \"name\": \"0000000000000001-s1-eth1===0000000000000002-s2-eth1\", \"uuid\": \"s1-eth1==s2-eth1\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s3-eth1==s2-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000003\", \"s3-eth1\"], [\"0000000000000002\", \"s2-eth2\"]], \"name\": \"0000000000000003-s3-eth1===0000000000000002-s2-eth2\", \"uuid\": \"s3-eth1==s2-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s1-eth2==s5-eth2]", "resource_value": "{\"endpoints\": [[\"0000000000000001\", \"s1-eth2\"], [\"0000000000000005\", \"s5-eth2\"]], \"name\": \"0000000000000001-s1-eth2===0000000000000005-s5-eth2\", \"uuid\": \"s1-eth2==s5-eth2\"}"}}, {"action": "CONFIGACTION_SET", "custom": {"resource_key": "/links/link[s4-eth2==s5-eth1]", "resource_value": "{\"endpoints\": [[\"0000000000000004\", \"s4-eth2\"], [\"0000000000000005\", \"s5-eth1\"]], \"name\": \"0000000000000004-s4-eth2===0000000000000005-s5-eth1\", \"uuid\": \"s4-eth2==s5-eth1\"}"}}]}, "device_drivers": ["DEVICEDRIVER_RYU"], "device_endpoints": [], "device_id": {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}, "device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED", "device_type": "openflow-ryu-controller", "name": "RYU"}
-[2025-01-15 15:50:25,549] DEBUG:context.client.ContextClient:SetDevice result: {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}
-[2025-01-15 15:50:25,549] DEBUG:device.service.DeviceServiceServicerImpl:ConfigureDevice reply: {"device_uuid": {"uuid": "b2ed9526-554d-5a79-9dc9-33e00faecef1"}}
diff --git a/hackfest5/data-2/ietf-l3vpn-service.json b/hackfest5/data-2/ietf-l3vpn-service.json
deleted file mode 100644
index eb86c359bbab1feeba0f570be165f5f18349d2b8..0000000000000000000000000000000000000000
--- a/hackfest5/data-2/ietf-l3vpn-service.json
+++ /dev/null
@@ -1,103 +0,0 @@
-{
-    "ietf-l3vpn-svc:l3vpn-svc": {
-        "vpn-services": {
-            "vpn-service": [
-                {"vpn-id": "ietf-l3vpn-svc"}
-            ]
-        },
-        "sites": {
-            "site": [
-                {
-                    "site-id": "site_DC1",
-                    "management": {"type": "ietf-l3vpn-svc:provider-managed"},
-                    "locations": {"location": [{"location-id": "DC1"}]},
-                    "devices": {"device": [{"device-id": "h1","location": "DC1"}]},
-                    "site-network-accesses": {
-                        "site-network-access": [
-                            {
-                                "site-network-access-id": "h1-eth0",
-                                "site-network-access-type": "ietf-l3vpn-svc:multipoint",
-                                "device-reference": "h1",
-                                "vpn-attachment": {"vpn-id": "ietf-l3vpn-svc", "site-role": "ietf-l3vpn-svc:spoke-role"},
-                                "ip-connection": {
-                                    "ipv4": {
-                                        "address-allocation-type": "ietf-l3vpn-svc:static-address",
-                                        "addresses": {
-                                            "provider-address": "10.0.0.1",
-                                            "customer-address": "10.0.0.1",
-                                            "prefix-length": 8
-                                        }
-                                    }
-                                },
-                                "service": {
-                                    "svc-mtu": 1500,
-                                    "svc-input-bandwidth": 1000000000,
-                                    "svc-output-bandwidth": 1000000000,
-                                    "qos": {
-                                        "qos-profile": {
-                                            "classes": {
-                                                "class": [
-                                                    {
-                                                        "class-id": "qos-realtime",
-                                                        "direction": "ietf-l3vpn-svc:both",
-                                                        "latency": {"latency-boundary": 10},
-                                                        "bandwidth": {"guaranteed-bw-percent": 100}
-                                                    }
-                                                ]
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-                        ]
-                    }
-                },
-                {
-                    "site-id": "site_DC2",
-                    "management": {"type": "ietf-l3vpn-svc:provider-managed"},
-                    "locations": {"location": [{"location-id": "DC2"}]},
-                    "devices": {"device": [{"device-id": "h3", "location": "DC2"}]},
-                    "site-network-accesses": {
-                        "site-network-access": [
-                            {
-                                "site-network-access-id": "h3-eth0",
-                                "site-network-access-type": "ietf-l3vpn-svc:multipoint",
-                                "device-reference": "h3",
-                                "vpn-attachment": {"vpn-id": "ietf-l3vpn-svc", "site-role": "ietf-l3vpn-svc:hub-role"},
-                                "ip-connection": {
-                                    "ipv4": {
-                                        "address-allocation-type": "ietf-l3vpn-svc:static-address",
-                                        "addresses": {
-                                            "provider-address": "10.0.0.1",
-                                            "customer-address": "10.0.0.3",
-                                            "prefix-length": 8
-                                        }
-                                    }
-                                },
-                                "service": {
-                                    "svc-mtu": 1500,
-                                    "svc-input-bandwidth": 1000000000,
-                                    "svc-output-bandwidth": 1000000000,
-                                    "qos": {
-                                        "qos-profile": {
-                                            "classes": {
-                                                "class": [
-                                                    {
-                                                        "class-id": "qos-realtime",
-                                                        "direction": "ietf-l3vpn-svc:both",
-                                                        "latency": {"latency-boundary": 10},
-                                                        "bandwidth": {"guaranteed-bw-percent": 100}
-                                                    }
-                                                ]
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-                        ]
-                    }
-                }
-            ]
-        }
-    }
-}
diff --git a/manifests/deviceservice.yaml b/manifests/deviceservice.yaml
index ef5195eaeb0d16d2ee5c3e5b7ba2417db461b479..950b984420a4cb4d50a455312ecb306752a406fe 100644
--- a/manifests/deviceservice.yaml
+++ b/manifests/deviceservice.yaml
@@ -39,7 +39,7 @@ spec:
             - containerPort: 9192
           env:
             - name: LOG_LEVEL
-              value: "DEBUG"
+              value: "INFO"
           startupProbe:
             exec:
               command: ["/bin/grpc_health_probe", "-addr=:2020"]
diff --git a/manifests/pathcompservice.yaml b/manifests/pathcompservice.yaml
index b6f969bf489bcf8c9f4f67b0a9427172db81596e..0cac6cc18604f346214ebe44e7eb7d2d64763cbd 100644
--- a/manifests/pathcompservice.yaml
+++ b/manifests/pathcompservice.yaml
@@ -36,7 +36,7 @@ spec:
             - containerPort: 9192
           env:
             - name: LOG_LEVEL
-              value: "DEBUG"
+              value: "INFO"
             - name: ENABLE_FORECASTER
               value: "NO"
           readinessProbe:
diff --git a/my_deploy.sh b/my_deploy.sh
index 8dd134eb1510b967e8b73dff5c14087c95db04a6..7ed276fbed77eaea25cdd411e71269f69e9da6f2 100755
--- a/my_deploy.sh
+++ b/my_deploy.sh
@@ -20,7 +20,7 @@
 export TFS_REGISTRY_IMAGES="http://localhost:32000/tfs/"
 
 # Set the list of components, separated by spaces, you want to build images for, and deploy.
-export TFS_COMPONENTS="context device pathcomp service webui nbi"
+export TFS_COMPONENTS="context device pathcomp service slice nbi webui"
 
 # Uncomment to activate Monitoring (old)
 #export TFS_COMPONENTS="${TFS_COMPONENTS} monitoring"
@@ -134,7 +134,7 @@ export CRDB_PASSWORD="tfs123"
 export CRDB_DEPLOY_MODE="single"
 
 # Disable flag for dropping database, if it exists.
-export CRDB_DROP_DATABASE_IF_EXISTS="YES"
+export CRDB_DROP_DATABASE_IF_EXISTS=""
 
 # Disable flag for re-deploying CockroachDB from scratch.
 export CRDB_REDEPLOY=""
@@ -210,4 +210,4 @@ export KFK_NAMESPACE="kafka"
 export KFK_SERVER_PORT="9092"
 
 # Set the flag to YES for redeploying of Apache Kafka
-export KFK_REDEPLOY=""
+export KFK_REDEPLOY=""
\ No newline at end of file
diff --git a/scripts/run_openflow.sh b/scripts/run_openflow.sh
deleted file mode 100755
index 2c525ca70242374ebe7c09993833cee867455167..0000000000000000000000000000000000000000
--- a/scripts/run_openflow.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-PROJECTDIR=`pwd`
-
-cd $PROJECTDIR/src
-RCFILE=$PROJECTDIR/coverage/.coveragerc
-
-# Run unitary tests and analyze coverage of code at same time
-coverage run --rcfile=$RCFILE --append -m pytest --log-level=DEBUG --verbose \
-    device/tests/test_OpenFlow.py
\ No newline at end of file
diff --git a/src/device/service/drivers/OpenFlow/OpenFlowDriver.py b/src/device/service/drivers/OpenFlow/OpenFlowDriver.py
index 541ec83c585a5708305461b8f142e59ff54f3e9b..1c4ce4d8cbefc0270505c5db2d8d4b5592772736 100644
--- a/src/device/service/drivers/OpenFlow/OpenFlowDriver.py
+++ b/src/device/service/drivers/OpenFlow/OpenFlowDriver.py
@@ -20,7 +20,6 @@ from common.method_wrappers.Decorator import MetricsPool, metered_subclass_metho
 from common.type_checkers.Checkers import chk_string, chk_type
 from device.service.driver_api._Driver import _Driver,RESOURCE_ENDPOINTS
 from device.service.drivers.OpenFlow.TfsApiClient import TfsApiClient
-from device.service.drivers.OpenFlow.Tools import find_key, get_switches, get_flows , add_flow , delete_flow , get_desc,get_port_desc, get_links_information,get_switches_information,del_flow_entry
 LOGGER = logging.getLogger(__name__)
 
 DRIVER_NAME = 'ryu'
@@ -96,20 +95,16 @@ class OpenFlowDriver(_Driver):
         url = f"{self.__base_url}/stats/flowentry/add"
         results = []
         LOGGER.info(f"SetConfig_resources: {resources}")
-
         if not resources:
             return results
-
         with self.__lock:
             for resource in resources:
                 try:
                     resource_key, resource_value = resource
-
                     if not resource_key.startswith("/device[") or not "/flow[" in resource_key:
                         LOGGER.error(f"Invalid resource_key format: {resource_key}")
                         results.append(Exception(f"Invalid resource_key format: {resource_key}"))
                         continue
-
                     try:
                         resource_value_dict = json.loads(resource_value)
                         LOGGER.info(f"resource_value_dict: {resource_value_dict}")
@@ -120,9 +115,6 @@ class OpenFlowDriver(_Driver):
                         cookie = self.__cookie_counter
                         ip_address_source = resource_value_dict.get("ip_address_source", "")
                         ip_address_destination = resource_value_dict.get("ip_address_destination", "")
-                        #mac_address_source = resource_value_dict.get("mac_address_source", "")
-                        #mac_address_destination = resource_value_dict.get("mac_address_destination", "")
-
                         if "h1-h3" in resource_key:
                             priority = 65535 
                             match_fields = {
@@ -130,8 +122,6 @@ class OpenFlowDriver(_Driver):
                                 "eth_type": 0x0800,  
                                 "ipv4_src": ip_address_source ,
                                 "ipv4_dst": ip_address_destination,
-                                #"eth_src": mac_address_source,
-                                #"dl_dst": mac_address_destination
                             }
                         elif "h3-h1" in resource_key:
                             priority = 65535
@@ -140,10 +130,7 @@ class OpenFlowDriver(_Driver):
                                 "eth_type": 0x0800,
                                 "ipv4_src": ip_address_source,  
                                 "ipv4_dst": ip_address_destination, 
-                                #"eth_src": mac_address_source,  
-                                #"dl_dst": mac_address_destination  
                             }
-
                         elif "h2-h4" in resource_key:
                             priority = 1500  
                             match_fields = {
@@ -151,8 +138,6 @@ class OpenFlowDriver(_Driver):
                                 "eth_type": 0x0800,  
                                 "ipv4_src": ip_address_source ,
                                 "ipv4_dst": ip_address_destination,
-                                #"eth_src": mac_address_source,
-                                #"eth_dst": mac_address_destination
                             }
                         elif "h4-h2" in resource_key:
                             priority = 1500  
@@ -161,17 +146,12 @@ class OpenFlowDriver(_Driver):
                                 "eth_type": 0x0800,
                                 "ipv4_src": ip_address_source,  
                                 "ipv4_dst": ip_address_destination, 
-                                #"eth_src": mac_address_source,  
-                                #"eth_dst": mac_address_destination  
                             }
-
                     except (KeyError, ValueError, IndexError) as e:
                         LOGGER.error(f"Invalid resource_value: {resource_value}, error: {e}")
                         results.append(Exception(f"Invalid resource_value: {resource_value}"))
                         continue
-
                     LOGGER.debug(f"Flow match fields: {match_fields}")
-
                     flow_entry = {
                         "dpid": dpid,
                         "priority": priority,
@@ -189,46 +169,7 @@ class OpenFlowDriver(_Driver):
                             }
                         ]
                     }
-
-                    #flow_entry_arp_foraward =  {
-                    #                "dpid": dpid,
-                    #                "priority": 65535,
-                    #                "match": {
-                    #                  "eth_dst": "ff:ff:ff:ff:ff:ff",
-                    #                  "eth_type": 0x0806
-                    #                },
-                    #                "instructions": [
-                    #                  {
-                    #                    "type": "APPLY_ACTIONS",
-                    #                    "actions": [
-                    #                      {
-                    #                        "type": "OUTPUT",
-                    #                        "port": "0xfffffffb"
-                    #                      }
-                    #                ]
-                    #            }
-                    #        ]
-                    #    }
-                    #flow_entry_arp_reply =  {
-                    #                "dpid": dpid,
-                    #                "priority": 65535,
-                    #                "match": {
-                    #                "eth_type": 0x0806,
-                    #                "arp_op": 2
-                    #                },
-                    #                "instructions": [
-                    #                  {
-                    #                    "type": "APPLY_ACTIONS",
-                    #                    "actions": [
-                    #                      {
-                    #                        "type": "OUTPUT",
-                    #                        "port": "0xfffffffb"
-                    #                      }
-                    #                ]}]}
-#
                     try:
-                        #response = requests.post(url, json=flow_entry_arp_foraward, timeout=self.__timeout, verify=False, auth=self.__auth)
-                        #response = requests.post(url, json=flow_entry_arp_reply, timeout=self.__timeout, verify=False, auth=self.__auth)
                         response = requests.post(url, json=flow_entry, timeout=self.__timeout, verify=False, auth=self.__auth)
                         response.raise_for_status()
                         results.append(True)
@@ -243,8 +184,6 @@ class OpenFlowDriver(_Driver):
                     LOGGER.error(f"Error processing resource {resource_key}: {e}", exc_info=True)
                     results.append(e)
         return results
-
-
     
     @metered_subclass_method(METRICS_POOL)
     def DeleteConfig(self, resources: List[Tuple[str, Any]]) -> List[Union[bool, Exception]]:
@@ -262,7 +201,6 @@ class OpenFlowDriver(_Driver):
                         LOGGER.error(f"Invalid resource_key format: {resource_key}")
                         results.append(Exception(f"Invalid resource_key format: {resource_key}"))
                         continue
-
                     try:
                         resource_value_dict = json.loads(resource_value)
                         LOGGER.info(f"resource_value_dict: {resource_value_dict}")
@@ -273,9 +211,6 @@ class OpenFlowDriver(_Driver):
                         cookie = self.__cookie_counter
                         ip_address_source = resource_value_dict.get("ip_address_source", "")
                         ip_address_destination = resource_value_dict.get("ip_address_destination", "")
-                        #mac_address_source = resource_value_dict.get("mac_address_source", "")
-                        #mac_address_destination = resource_value_dict.get("mac_address_destination", "")
-
                         if "h1-h3" in resource_key:
                             priority = 65535 
                             match_fields = {
@@ -283,8 +218,6 @@ class OpenFlowDriver(_Driver):
                                 "eth_type": 0x0800,  
                                 "ipv4_src": ip_address_source ,
                                 "ipv4_dst": ip_address_destination,
-                                #"eth_src": mac_address_source,
-                                #"dl_dst": mac_address_destination,
                                 "table_id": 0,
                                 "cookie": 0,
                                 "cookie_mask": 0,
@@ -296,13 +229,10 @@ class OpenFlowDriver(_Driver):
                                 "eth_type": 0x0800,
                                 "ipv4_src": ip_address_source,  
                                 "ipv4_dst": ip_address_destination, 
-                                #"eth_src": mac_address_source,  
-                                #"dl_dst": mac_address_destination,
                                 "table_id": 0,
                                 "cookie": 0,
                                 "cookie_mask": 0,
                             }
-
                         elif "h2-h4" in resource_key:
                             priority = 1500  
                             match_fields = {
@@ -310,8 +240,6 @@ class OpenFlowDriver(_Driver):
                                 "eth_type": 0x0800,  
                                 "ipv4_src": ip_address_source ,
                                 "ipv4_dst": ip_address_destination,
-                                #"eth_src": mac_address_source,
-                                #"eth_dst": mac_address_destination,
                                 "table_id": 0,
                                 "cookie": 0,
                                 "cookie_mask": 0,
@@ -323,23 +251,17 @@ class OpenFlowDriver(_Driver):
                                 "eth_type": 0x0800,
                                 "ipv4_src": ip_address_source,  
                                 "ipv4_dst": ip_address_destination, 
-                                #"eth_src": mac_address_source,  
-                                #"eth_dst": mac_address_destination,
                                 "table_id": 0,
                                 "cookie": 0,
                                 "cookie_mask": 0,
                             }
-
                     except (KeyError, ValueError, IndexError) as e:
                         LOGGER.error(f"Invalid resource_value: {resource_value}, error: {e}")
                         results.append(Exception(f"Invalid resource_value: {resource_value}"))
                         continue
-
                     LOGGER.debug(f"Flow match fields: {match_fields}")
-
                     flow_entry = {
                         "dpid": dpid,
-                        #cookie": 0,
                         "priority": priority,
                         "match": match_fields,  
                         "instructions": [
@@ -351,43 +273,7 @@ class OpenFlowDriver(_Driver):
                                         "type": "OUTPUT",
                                         "port": out_port
                                     }]}]}
-
-                    #flow_entry_arp_foraward =  {
-                    #                "dpid": dpid,
-                    #                "priority": 65535,
-                    #                "match": {
-                    #                  "eth_dst": "ff:ff:ff:ff:ff:ff",
-                    #                  "eth_type": 0x0806
-                    #                },
-                    #                "instructions": [
-                    #                  {
-                    #                    "type": "APPLY_ACTIONS",
-                    #                    "actions": [
-                    #                      {
-                    #                        "type": "OUTPUT",
-                    #                        "port": "0xfffffffb"
-                    #                      }
-                    #                ]}]}
-                    #flow_entry_arp_reply =  {
-                    #                "dpid": dpid,
-                    #                "priority": 65535,
-                    #                "match": {
-                    #                "eth_type": 0x0806,
-                    #                "arp_op": 2
-                    #                },
-                    #                "instructions": [
-                    #                  {
-                    #                    "type": "APPLY_ACTIONS",
-                    #                    "actions": [
-                    #                      {
-                    #                        "type": "OUTPUT",
-                    #                        "port": "0xfffffffb"
-                    #                      }
-                    #                ]}]}
-
                     try:
-                        #response = requests.post(url, json=flow_entry_arp_foraward, timeout=self.__timeout, verify=False, auth=self.__auth)
-                        #response = requests.post(url, json=flow_entry_arp_reply, timeout=self.__timeout, verify=False, auth=self.__auth)
                         response = requests.post(url, json=flow_entry, timeout=self.__timeout, verify=False, auth=self.__auth)
                         response.raise_for_status()
                         results.append(True)
@@ -401,20 +287,4 @@ class OpenFlowDriver(_Driver):
                 except Exception as e:
                     LOGGER.error(f"Error processing resource {resource_key}: {e}", exc_info=True)
                     results.append(e)
-        return results
-
-##    @metered_subclass_method(METRICS_POOL)
-##    def SubscribeState(self, subscriptions : List[Tuple[str, float, float]]) -> List[Union[bool, Exception]]:
-##        # TODO: TAPI does not support monitoring by now
-#        return [False for _ in subscriptions]
-#
-#    @metered_subclass_method(METRICS_POOL)
-#    def UnsubscribeState(self, subscriptions : List[Tuple[str, float, float]]) -> List[Union[bool, Exception]]:
-#        # TODO: TAPI does not support monitoring by now
-#        return [False for _ in subscriptions]
-#
-#    def GetState(
-#        self, blocking=False, terminate : Optional[threading.Event] = None
-#    ) -> Iterator[Tuple[float, str, Any]]:
-#        # TODO: TAPI does not support monitoring by now
-#        return []
+        return results
\ No newline at end of file
diff --git a/src/device/service/drivers/OpenFlow/TfsApiClient.py b/src/device/service/drivers/OpenFlow/TfsApiClient.py
index 55d8c4b6391bf8c9a37774f2b066bde14367ad57..8882220583785333c51118733e1ba3d11d0206c2 100644
--- a/src/device/service/drivers/OpenFlow/TfsApiClient.py
+++ b/src/device/service/drivers/OpenFlow/TfsApiClient.py
@@ -68,27 +68,22 @@ class TfsApiClient:
 
     def get_devices_endpoints(self) -> List[Dict]:
         LOGGER.debug('[get_devices_endpoints] begin')
-
         reply_switches = requests.get(self._devices_url, timeout=TIMEOUT, verify=False, auth=self._auth)
         if reply_switches.status_code not in HTTP_OK_CODES:
             msg = MSG_ERROR.format(str(self._devices_url), str(reply_switches.status_code), str(reply_switches))
             LOGGER.error(msg)
             raise Exception(msg)
-
         json_reply_switches = reply_switches.json()
         LOGGER.info('[get_devices_endpoints] json_reply_switches={:s}'.format(json.dumps(json_reply_switches)))
-
         result = list()
         for json_switch in json_reply_switches:
             device_uuid: str = json_switch['dpid']
             device_ports = json_switch.get('ports', []) 
-
             for port in device_ports: 
                 port_name = port.get('name', '') 
                 device_name = port_name.split('-')[0]
                 port_no = port.get('port_no', '')
                 hw_address = port.get('hw_addr', '')
-
                 device_url = '/devices/device[{:s}]'.format(device_uuid)
                 device_data = {
                     'uuid': device_uuid,
@@ -114,13 +109,11 @@ class TfsApiClient:
                     'type': 'copper',
                 }
                 result.append((endpoint_url, endpoint_data))
-#
         reply = requests.get(self._links_url, timeout=TIMEOUT, verify=False, auth=self._auth)
         if reply.status_code not in HTTP_OK_CODES:
             msg = MSG_ERROR.format(str(self._links_url), str(reply.status_code), str(reply))
             LOGGER.error(msg)
-            raise Exception(msg)
-        
+            raise Exception(msg)        
         for json_link in reply.json():
             dpid_src = json_link.get('src', {}).get('dpid', '')
             dpid_dst = json_link.get('dst', {}).get('dpid', '')
@@ -145,4 +138,4 @@ class TfsApiClient:
             }
             result.append((link_url, link_data))
         LOGGER.debug('[get_devices_endpoints] topology; returning')
-        return result
+        return result
\ No newline at end of file
diff --git a/src/device/service/drivers/OpenFlow/Tools.py b/src/device/service/drivers/OpenFlow/Tools.py
deleted file mode 100644
index e68a47f3a72820b58c9c70efcfc66788e9bdc424..0000000000000000000000000000000000000000
--- a/src/device/service/drivers/OpenFlow/Tools.py
+++ /dev/null
@@ -1,171 +0,0 @@
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import json, logging, operator, requests
-from requests.auth import HTTPBasicAuth
-from typing import Optional
-from device.service.driver_api._Driver import RESOURCE_ENDPOINTS, RESOURCE_SERVICES
-from typing import List, Dict, Optional, Tuple, Union
-
-LOGGER = logging.getLogger(__name__)
-
-RESOURCE_ENDPOINTS = {
-    #get configurations
-    "switches": "/stats/switches",
-    "description": "/stats/desc",
-    "flows": "/stats/flow",
-    "port_description":"/stats/portdesc",
-    "switch_info":"/v1.0/topology/switches",
-    "links_info":"/v1.0/topology/links",
-    #add flow
-    "flow_add": "/stats/flowentry/add",
-    #Delete all matching flow entries of the switch.
-    "flow_delete": "/stats/flowentry/delete",
-    "flowentry_delete":"/stats/flowentry/clear", #according to dpid
-
-}
-
-HTTP_OK_CODES = {
-    200,    # OK
-    201,    # Created
-    202,    # Accepted
-    204,    # No Content
-}
-
-# Utility function to find and extract a specific key from a resource.
-def find_key(resource: Tuple[str, str], key: str) -> Union[dict, str, None]:
-    try:
-        return json.loads(resource[1])[key]
-    except KeyError:
-        LOGGER.warning(f"Key '{key}' not found in resource.")
-        return None
-
-def get_switches(root_url: str, auth: Optional[HTTPBasicAuth] = None, timeout: Optional[int] = None) -> List[Dict]:
-    url = f"{root_url}{RESOURCE_ENDPOINTS['switches']}"
-    result = []
-    try:
-        response = requests.get(url, timeout=timeout, verify=False, auth=auth)
-        response.raise_for_status()
-        switches = response.json()
-        LOGGER.info(f"Successfully retrieved switches: {switches}")
-        result = switches
-    except requests.exceptions.Timeout:
-        LOGGER.exception(f"Timeout connecting to {url}")
-    except requests.exceptions.RequestException as e:
-        LOGGER.exception(f"Error retrieving switches: {str(e)}")
-    return result
-
-def get_switches_information(root_url: str, auth: Optional[HTTPBasicAuth] = None, timeout: Optional[int] = None) -> List[Dict]:
-    url = f"{root_url}{RESOURCE_ENDPOINTS['switch_info']}"
-    result = []
-    try:
-        response = requests.get(url, timeout=timeout, verify=False, auth=auth)
-        response.raise_for_status()
-        switches_info = response.json()
-        LOGGER.info(f"Successfully retrieved switches: {switches_info}")
-        result = switches_info
-    except requests.exceptions.Timeout:
-        LOGGER.exception(f"Timeout connecting to {url}")
-    except requests.exceptions.RequestException as e:
-        LOGGER.exception(f"Error retrieving switches: {str(e)}")
-    return result
-
-def get_links_information(root_url: str, auth: Optional[HTTPBasicAuth] = None, timeout: Optional[int] = None) -> List[Dict]:
-    url = f"{root_url}{RESOURCE_ENDPOINTS['links_info']}"
-    result = []
-    try:
-        response = requests.get(url, timeout=timeout, verify=False, auth=auth)
-        response.raise_for_status()
-        links_info = response.json()
-        LOGGER.info(f"Successfully retrieved switches: {links_info}")
-        result = links_info
-    except requests.exceptions.Timeout:
-        LOGGER.exception(f"Timeout connecting to {url}")
-    except requests.exceptions.RequestException as e:
-        LOGGER.exception(f"Error retrieving switches: {str(e)}")
-    return result
-
-def get_flows(root_url: str, dpid: str, auth: Optional[HTTPBasicAuth] = None, timeout: Optional[int] = None) -> List[Dict]:
-    url = f"{root_url}{RESOURCE_ENDPOINTS['flows']}/{dpid}"
-    try:
-        response = requests.get(url, timeout=timeout, verify=False, auth=auth)
-        response.raise_for_status()
-        flows = response.json()
-        LOGGER.info(f"Successfully retrieved flow rules for DPID {dpid}")
-        return flows
-    except requests.exceptions.RequestException as e:
-        LOGGER.error(f"Failed to retrieve flow rules for DPID {dpid}: {str(e)}")
-        return []
-    
-#get description 
-def get_desc(root_url: str, dpid: str, auth: Optional[HTTPBasicAuth] = None, timeout: Optional[int] = None) -> Dict:
-    url = f"{root_url}{RESOURCE_ENDPOINTS['description']}/{dpid}"
-    try:
-        response = requests.get(url, timeout=timeout, verify=False, auth=auth)
-        response.raise_for_status()
-        desc = response.json()
-        LOGGER.info(f"Successfully retrieved description for DPID {dpid}: {desc}")
-        return desc
-    except requests.exceptions.RequestException as e:
-        LOGGER.error(f"Failed to retrieve description for DPID {dpid}: {str(e)}")
-        return {}
-    
-def get_port_desc(root_url: str, dpid: str, auth: Optional[HTTPBasicAuth] = None, timeout: Optional[int] = None) -> Dict:
-    url = f"{root_url}{RESOURCE_ENDPOINTS['port_description']}/{dpid}"
-    try:
-        response = requests.get(url, timeout=timeout, verify=False, auth=auth)
-        response.raise_for_status()
-        port_desc = response.json()
-        LOGGER.info(f"Successfully retrieved description for DPID {dpid}: {port_desc}")
-        return port_desc
-    except requests.exceptions.RequestException as e:
-        LOGGER.error(f"Failed to retrieve description for DPID {dpid}: {str(e)}")
-        return {}
-
-##according to dpid
-def del_flow_entry(root_url: str, dpid: str, auth: Optional[HTTPBasicAuth] = None, timeout: Optional[int] = None) -> Dict:
-    url = f"{root_url}{RESOURCE_ENDPOINTS['flowentry_delete']}/{dpid}"
-    try:
-        response = requests.delete(url, timeout=timeout, verify=False, auth=auth)
-        response.raise_for_status()
-        flow_desc = response.json()
-        LOGGER.info(f"Successfully retrieved description for DPID {dpid}: {flow_desc}")
-        return flow_desc
-    except requests.exceptions.RequestException as e:
-        LOGGER.error(f"Failed to retrieve description for DPID {dpid}: {str(e)}")
-        return {}
-
-#  to delete a flow based on match criteria.
-def delete_flow(root_url: str, flow_data: dict, auth: Optional[HTTPBasicAuth] = None, timeout: Optional[int] = None) -> bool:
-    url = f"{root_url}{RESOURCE_ENDPOINTS['flow_delete']}"
-    try:
-        response = requests.post(url, json=flow_data, timeout=timeout, verify=False, auth=auth)
-        response.raise_for_status()
-        LOGGER.info(f"Flow configuration deleted successfully for DPID {flow_data.get('dpid')}.")
-        return True
-    except requests.exceptions.RequestException as e:
-        LOGGER.error(f"Failed to delete flow configuration for DPID {flow_data.get('dpid')}: {str(e)}")
-        return False
-    
-def add_flow(root_url: str, flow_data: dict, auth: Optional[HTTPBasicAuth] = None, timeout: Optional[int] = None) -> bool:
-    url = f"{root_url}{RESOURCE_ENDPOINTS['flow_add']}"
-    LOGGER.info(f"Posting flow data: {flow_data} (type: {type(flow_data)}) to URL: {url}") 
-    try:
-        response = requests.post(url, json=flow_data, timeout=timeout, verify=False, auth=auth)
-        response.raise_for_status()
-        LOGGER.info("Flow configuration added successfully.")
-        return True
-    except requests.exceptions.RequestException as e:
-        LOGGER.error(f"Failed to add flow configuration: {str(e)}")
-        return False
-
-
-
diff --git a/src/device/service/drivers/OpenFlow/__init__.py b/src/device/service/drivers/OpenFlow/__init__.py
index 4f3d1a042c69720452803e994c38f7c2e966c684..012cd0ba5dcef6ec39672efee44e2910ed46491a 100644
--- a/src/device/service/drivers/OpenFlow/__init__.py
+++ b/src/device/service/drivers/OpenFlow/__init__.py
@@ -17,4 +17,4 @@ from device.service.driver_api._Driver import RESOURCE_ENDPOINTS, RESOURCE_SERVI
 ALL_RESOURCE_KEYS = [
     RESOURCE_ENDPOINTS,
     RESOURCE_SERVICES,
-]
+]
\ No newline at end of file
diff --git a/src/device/tests/test_OpenFlow.py b/src/device/tests/test_OpenFlow.py
deleted file mode 100644
index c1d3919eafea68633a3ad9ab145a40cebd25df06..0000000000000000000000000000000000000000
--- a/src/device/tests/test_OpenFlow.py
+++ /dev/null
@@ -1,85 +0,0 @@
-import json
-from re import A
-import resource
-import logging, os, sys, time
-
-from joblib import Logger
-#from typing import Dict, Self, Tuple
-os.environ['DEVICE_EMULATED_ONLY'] = 'YES'
-from device.service.drivers.OpenFlow.OpenFlowDriver import OpenFlowDriver
-logging.basicConfig(level=logging.DEBUG)
-LOGGER = logging.getLogger(__name__)
-LOGGER.setLevel(logging.DEBUG)
-
-
-def test_main():
-    driver_settings = {
-        'protocol': 'http', 
-        'username': None,  
-        'password': None,  
-        'use_tls': False, 
-    }
-    driver = OpenFlowDriver('127.0.0.1', 8080 , **driver_settings)
-    driver.Connect()
-
-    import requests
-
-    response = requests.get("http://127.0.0.1:8080/v1.0/topology/switches", timeout=10)
-    LOGGER.info(f'the response is{response}')
-
-  
-    
-    # Test: GetConfig
-    #resource_keys = [ 'flows:1','description:1','switches','port_description:1','switch_info','links_info']
-  #  config = driver.GetConfig(resource_keys )
-  #  LOGGER.info('Specific configuration: %s', config)
-    
-    #resource_delete=["flowentry_delete:1"]
-    #config = driver.DeleteConfig(resource_delete)
-    #LOGGER.info('Specific configuration: %s', config)
-    #a=driver.GetConfig(["flows:1"])
-    #LOGGER.info('flow 1 = {:s}'.format(str(a)))
-#    delete_data = {
-#    "dpid": 2,
-#    "cookie": 1,
-#    "cookie_mask": 1,
-#    "table_id": 0,
-#    "idle_timeout": 30,
-#    "hard_timeout": 30,
-#    "priority": 11111,
-#    "flags": 1,
-#    "match":{
-#        "in_port":2
-#    },
-#    "actions":[
-#        {
-#            "type":"ddf",
-#            "port": 1
-#        }
-#    ]
-# }
-#    delete_result = driver.DeleteConfig([("flow_data", delete_data)])
-#    LOGGER.info('resources_to_delete = {:s}'.format(str(delete_result)))
-#    a=driver.GetConfig(["flows:1"])
-#    LOGGER.info('flow 2 = {:s}'.format(str(a)))
-#    flow_data = { 
-#        "dpid": 2,
-#        "priority": 22224,
-#        "match": {
-#            "in_port": 1
-#        },
-#        "actions": [
-#            {
-#                "type": "GOTO_TABLE",
-#                "table_id": 1
-#            }
-#        ]
-#    }
-#    set_result = driver.SetConfig([('flow_data',flow_data)])
-#    LOGGER.info(set_result)
-#    driver.Disconnect()
-#    
-    raise Exception ()
-
-if __name__ == '__main__':
-    sys.exit(test_main())
diff --git a/src/nbi/service/rest_server/nbi_plugins/ietf_l3vpn/L3VPN_Services.py b/src/nbi/service/rest_server/nbi_plugins/ietf_l3vpn/L3VPN_Services.py
index 980e21200f6a6a869af80019306c3df132a4d597..98d950952702d5cf1df8aa29edc50683e56a296e 100644
--- a/src/nbi/service/rest_server/nbi_plugins/ietf_l3vpn/L3VPN_Services.py
+++ b/src/nbi/service/rest_server/nbi_plugins/ietf_l3vpn/L3VPN_Services.py
@@ -26,11 +26,11 @@ from .YangValidator import YangValidator
 LOGGER = logging.getLogger(__name__)
 
 class L3VPN_Services(Resource):
-    #@HTTP_AUTH.login_required
+    @HTTP_AUTH.login_required
     def get(self):
         return {}
 
-    #@HTTP_AUTH.login_required
+    @HTTP_AUTH.login_required
     def post(self):
         if not request.is_json: raise UnsupportedMediaType('JSON payload is required')
         request_data : Dict = request.json
diff --git a/src/pathcomp/frontend/service/algorithms/tools/ResourceGroups.py b/src/pathcomp/frontend/service/algorithms/tools/ResourceGroups.py
index 27be8e00f57e183b4c17b6dea666aea36cd3270b..b08830332f7fc6f526a19516b120e94a1a98b232 100644
--- a/src/pathcomp/frontend/service/algorithms/tools/ResourceGroups.py
+++ b/src/pathcomp/frontend/service/algorithms/tools/ResourceGroups.py
@@ -25,7 +25,6 @@ DEVICE_TYPE_TO_DEEPNESS = {
     DeviceTypeEnum.EMULATED_CLIENT.value                 : 90,
     DeviceTypeEnum.CLIENT.value                          : 90,
 
-    #DeviceTypeEnum.OPENFLOW_RYU_CONTROLLER.value         : 80,
     DeviceTypeEnum.TERAFLOWSDN_CONTROLLER.value          : 80,
     DeviceTypeEnum.EMULATED_IP_SDN_CONTROLLER.value      : 80,
     DeviceTypeEnum.IP_SDN_CONTROLLER.value               : 80,
diff --git a/src/pathcomp/frontend/service/algorithms/tools/ServiceTypes.py b/src/pathcomp/frontend/service/algorithms/tools/ServiceTypes.py
index 91692f2bdf70790ee94986ab7b89c3c29928b29b..8230092c2decc0b2c988f63a2677f879f7ec944f 100644
--- a/src/pathcomp/frontend/service/algorithms/tools/ServiceTypes.py
+++ b/src/pathcomp/frontend/service/algorithms/tools/ServiceTypes.py
@@ -21,7 +21,7 @@ NETWORK_DEVICE_TYPES = {
 }
 
 PACKET_DEVICE_TYPES = {
-    DeviceTypeEnum.TERAFLOWSDN_CONTROLLER,#DeviceTypeEnum.OPENFLOW_RYU_CONTROLLER,
+    DeviceTypeEnum.TERAFLOWSDN_CONTROLLER,
     DeviceTypeEnum.IP_SDN_CONTROLLER, DeviceTypeEnum.EMULATED_IP_SDN_CONTROLLER,
     DeviceTypeEnum.PACKET_ROUTER, DeviceTypeEnum.EMULATED_PACKET_ROUTER,
     DeviceTypeEnum.PACKET_SWITCH, DeviceTypeEnum.EMULATED_PACKET_SWITCH,
diff --git a/src/service/service/service_handler_api/ServiceHandlerFactory.py b/src/service/service/service_handler_api/ServiceHandlerFactory.py
index 5ced40233949c3eca5352730a00183d1e42bd15c..ec7623c1af6f77408a114b50bea7231c9abfc0b4 100644
--- a/src/service/service/service_handler_api/ServiceHandlerFactory.py
+++ b/src/service/service/service_handler_api/ServiceHandlerFactory.py
@@ -11,6 +11,7 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
+
 import logging, operator
 from enum import Enum
 from typing import TYPE_CHECKING, Any, Dict, Iterable, List, Optional, Set, Tuple
@@ -25,6 +26,7 @@ if TYPE_CHECKING:
     from service.service.service_handler_api._ServiceHandler import _ServiceHandler
 
 LOGGER = logging.getLogger(__name__)
+
 class ServiceHandlerFactory:
     def __init__(self, service_handlers : List[Tuple[type, List[Dict[FilterFieldEnum, Any]]]]) -> None:
         # Dict{field_name => Dict{field_value => Set{ServiceHandler}}}
@@ -39,6 +41,7 @@ class ServiceHandlerFactory:
         from service.service.service_handler_api._ServiceHandler import _ServiceHandler
         if not issubclass(service_handler_class, _ServiceHandler):
             raise UnsupportedServiceHandlerClassException(str(service_handler_class))
+        
         service_handler_name = service_handler_class.__name__
         supported_filter_fields = set(FILTER_FIELD_ALLOWED_VALUES.keys())
         unsupported_filter_fields = set(filter_fields.keys()).difference(supported_filter_fields)
@@ -75,11 +78,8 @@ class ServiceHandlerFactory:
                 raise UnsatisfiedFilterException(filter_fields)
 
             field_enum_values = FILTER_FIELD_ALLOWED_VALUES.get(field_name)
-
             field_candidate_service_handler_classes = set()
-            #LOGGER.debug(f"Filter fields: {filter_fields}")
-            #LOGGER.debug(f"Field indices: {self.__indices}")
-            #LOGGER.debug(f"Candidate handlers after each field: {candidate_service_handler_classes}")
+            
             for field_value in field_values:
                 if field_enum_values is not None and field_value not in field_enum_values:
                     raise UnsupportedFilterFieldValueException(field_name, field_value, field_enum_values)
diff --git a/src/service/service/service_handlers/l3nm_ryu/L3NMryuServiceHandler.py b/src/service/service/service_handlers/l3nm_ryu/L3NMryuServiceHandler.py
index aa8dc5a184f2f9dc6c67c9c5282ad9865dc4f880..cb6a21b4e25e5678d3e46e1d2e4557a75b23f9e1 100644
--- a/src/service/service/service_handlers/l3nm_ryu/L3NMryuServiceHandler.py
+++ b/src/service/service/service_handlers/l3nm_ryu/L3NMryuServiceHandler.py
@@ -26,7 +26,6 @@ from common.tools.grpc.Tools import grpc_message_to_json_string
 from common.tools.object_factory.ConfigRule import json_config_rule_delete, json_config_rule_set,json_config_rule
 from common.tools.object_factory.Device import json_device_id
 from common.type_checkers.Checkers import chk_type
-#from nbi.service.rest_server.nbi_plugins.ietf_network.bindings.networks.network.link import destination
 from service.service.service_handler_api.Tools import get_device_endpoint_uuids, get_endpoint_matching
 from service.service.service_handler_api._ServiceHandler import _ServiceHandler
 from service.service.service_handler_api.SettingsHandler import SettingsHandler
@@ -47,30 +46,15 @@ class RYUServiceHandler(_ServiceHandler):
         self.__task_executor = task_executor
         self.__settings_handler = SettingsHandler(service.service_config, **settings)
 
-
     def _get_endpoint_details(
         self, endpoint : Tuple[str, str, Optional[str]]
     ) -> Tuple[Device, EndPoint]: #Dict]:
         device_uuid, endpoint_uuid = get_device_endpoint_uuids(endpoint)
-        #LOGGER.debug('device_uuid = {:s}'.format(str(device_uuid)))
-        #LOGGER.debug('endpoint_uuid = {:s}'.format(str(endpoint_uuid)))
         device_obj = self.__task_executor.get_device(DeviceId(**json_device_id(device_uuid)))
-        #LOGGER.debug('device_obj = {:s}'.format(str(grpc_message_to_json_string(device_obj))))
         endpoint_obj = get_endpoint_matching(device_obj, endpoint_uuid)
-        #LOGGER.debug('endpoint_obj = {:s}'.format(str(grpc_message_to_json_string(endpoint_obj))))
-        #endpoint_settings = self.__settings_handler.get_endpoint_settings(device_obj, endpoint_obj)
-        #LOGGER.debug('endpoint_settings = {:s}'.format(str(endpoint_settings)))
         device_name = device_obj.name
-        #LOGGER.debug('device_name = {:s}'.format(str(device_name)))
         endpoint_name = endpoint_obj.name
-        #LOGGER.debug('endpoint_name = {:s}'.format(str(endpoint_name)))
-        #if endpoint_settings is None:
-        #    MSG = 'Settings not found for Endpoint(device=[uuid={:s}, name={:s}], endpoint=[uuid={:s}, name={:s}])'
-        #    raise Exception(MSG.format(device_uuid, device_name, endpoint_uuid, endpoint_name))
-        #endpoint_settings_dict : Dict = endpoint_settings.value
-        #LOGGER.debug('endpoint_settings_dict = {:s}'.format(str(endpoint_settings_dict)))
-        return device_obj, endpoint_obj #endpoint_settings_dict
-
+        return device_obj, endpoint_obj 
 
     @metered_subclass_method(METRICS_POOL)
     def SetEndpoint(
@@ -78,22 +62,18 @@ class RYUServiceHandler(_ServiceHandler):
     ) -> List[Union[bool, Exception]]:
         LOGGER.debug('endpoints = {:s}'.format(str(endpoints)))
         chk_type('endpoints', endpoints, list)
+
         if len(endpoints) < 2:
             LOGGER.warning('nothing done: not enough endpoints')
             return []
+        
         service_uuid = self.__service.service_id.service_uuid.uuid
         service_name= self.__service.name
-        #get_device_mac_soruce=self._get_endpoint_details(endpoints[0])
-        #get_device_mac_destination=self._get_endpoint_details(endpoints[-1])
-        #get_device = self.__task_executor.get_device(get_device_mac_soruce)
-        #get_device_2= self.__task_executor.get_device(get_device_mac_destination)
-        #LOGGER.debug('get_device_mac_soruce = {:s}'.format(str(get_device)))
-        #LOGGER.debug('get_device_mac_destination = {:s}'.format(str(get_device_2)))
         service_configuration_rules=self.__service.service_config.config_rules
         LOGGER.debug('service_configuration_rules = {:s}'.format(str(service_configuration_rules)))
         ip_addresses = []
-        #mac_addresses = []
         flow_rules = []
+
         for rule in service_configuration_rules:
             try:
                 custom_field = rule.custom
@@ -101,20 +81,16 @@ class RYUServiceHandler(_ServiceHandler):
                 resource_value = json.loads(resource_value_str)
                 resource_key_str = custom_field.resource_key
                 LOGGER.debug(f"resource_key_str = {resource_key_str}")
-                #resource_key = json.loads(resource_key_str)
                 match = re.search(r"/device\[(.*?)\]/", resource_key_str)
                 if match:
                     device_name = match.group(1)
-                if device_name in ['h1', 'h3'] or device_name in ['h2', 'h4']:
                     flow_rules.append(device_name)
-
                 ip_address = resource_value.get("ip_address")
-                #mac_address = resource_value.get("mac_address")
-                if ip_address in ['10.0.0.1', '10.0.0.3'] or ip_address in ['10.0.0.2','10.0.0.4']:
-                    ip_addresses.append(ip_address)
-                #mac_addresses.append(mac_address)
+                ip_addresses.append(ip_address)
+
             except Exception as e:
                 LOGGER.exception("Error in Rules")
+
         LOGGER.debug('ip_address = {:s}'.format(str(ip_addresses)))
         LOGGER.debug('flow_rules = {:s}'.format(str(flow_rules)))
         if len(flow_rules) < 2:
@@ -123,36 +99,20 @@ class RYUServiceHandler(_ServiceHandler):
         if len(ip_addresses) < 2:
             LOGGER.warning('Not enough IP addresses found')
             return []
-        #if len(ip_addresses) < 2:
-        #    LOGGER.warning('nothing done: no ip address found')
-        #    return []
-        #LOGGER.debug('mac_address = {:s}'.format(str(mac_addresses)))
-        #if len(mac_addresses) < 2:
-        #    LOGGER.warning('nothing done: no mac address found')
-        #    return []
-        #LOGGER.debug('service_name = {:s}'.format(str(service_name)))
-        #if len(service_name) < 2:
-        #    LOGGER.warning('nothing done: no service name found')
-        #    return []
-        #LOGGER.debug('service_uuid = {:s}'.format(str(service_uuid)))
-        #LOGGER.debug('self.__settings_handler = {:s}'.format(str(self.__settings_handler.dump_config_rules())))
+        
         results = []
         try:
             src_device, src_endpoint,  = self._get_endpoint_details(endpoints[0])
             dst_device, dst_endpoint,  = self._get_endpoint_details(endpoints[-1])
             src_controller = self.__task_executor.get_device_controller(src_device)
-            #LOGGER.debug(f"Source controller: {src_controller.device_config.config_rules}")
             del src_controller.device_config.config_rules[:] 
             
             for index in range(len(endpoints) - 1):
                 current_device, current_endpoint = self._get_endpoint_details(endpoints[index])
-                #LOGGER.debug(f"Current device: {current_device.name}, Current endpoint: {current_endpoint.name}")
                 next_device, next_endpoint = self._get_endpoint_details(endpoints[index + 1])
-                #LOGGER.debug(f"Next device: {next_device.name}, Next endpoint: {next_endpoint.name}")
                 if current_device.name == next_device.name:
                     in_port_forward = current_endpoint.name  
                     out_port_forward = next_endpoint.name 
-                    #flow_split = service_name.split('-')
                     dpid_src = int(current_device.name)
                     LOGGER.debug(f"DPID source: {dpid_src}")
                     dpid_dst = int(next_device.name)
@@ -161,15 +121,11 @@ class RYUServiceHandler(_ServiceHandler):
                     flow_rule_reverse = f"{flow_rules[1]}-{flow_rules[0]}"
                     ip_address_source = ip_addresses[0]
                     ip_address_destination = ip_addresses[1]
-                    #mac_address_source = mac_addresses[0]
-                    #mac_address_destination = mac_addresses[1]
                     forward_resource_value = ({"dpid": current_device.name, 
                                                "in-port": in_port_forward, 
                                                "out-port": out_port_forward,
                                                 "ip_address_source": ip_address_source,
                                                 "ip_address_destination": ip_address_destination,
-                                                #"mac_address_source": mac_address_source,
-                                                #"mac_address_destination": mac_address_destination
                                                })
                     forward_rule = json_config_rule_set (
                             resource_key=f"/device[{current_endpoint.name.split('-')[0]}]/flow[{flow_rule_forward}]",
@@ -185,8 +141,6 @@ class RYUServiceHandler(_ServiceHandler):
                         "out-port": out_port_reverse,
                         "ip_address_source": ip_address_destination,
                         "ip_address_destination": ip_address_source,
-                        #"mac_address_source": mac_address_destination,
-                        #"mac_address_destination": mac_address_source
                     }
                     reverse_rule = json_config_rule_set(
                             resource_key=f"/device[{current_endpoint.name.split('-')[0]}]/flow[{flow_rule_reverse}]",
@@ -196,10 +150,10 @@ class RYUServiceHandler(_ServiceHandler):
                     src_controller.device_config.config_rules.append(ConfigRule(**reverse_rule))       
                     self.__task_executor.configure_device(src_controller)
                     results.append(True)
+
             def get_config_rules(controller):
                 try:
                     config_rules = controller.device_config.config_rules
-
                     for rule in config_rules:
                         if rule.HasField("custom"):
                             resource_key = rule.custom.resource_key
@@ -237,19 +191,15 @@ class RYUServiceHandler(_ServiceHandler):
                 resource_value = json.loads(resource_value_str)
                 resource_key_str = custom_field.resource_key
                 LOGGER.debug(f"resource_key_str = {resource_key_str}")
-                #resource_key = json.loads(resource_key_str)
                 match = re.search(r"/device\[(.*?)\]/", resource_key_str)
                 if match:
                     device_name = match.group(1)
                 else:
                     device_name = None
-                if device_name in ['h1', 'h3'] or device_name in ['h2', 'h4']:
                     flow_rules.append(device_name)
-
                 ip_address = resource_value.get("ip_address")
-                #mac_address = resource_value.get("mac_address")
-                if ip_address in ['10.0.0.1', '10.0.0.3'] or ip_address in ['10.0.0.2','10.0.0.4']:
-                    ip_addresses.append(ip_address)
+                ip_addresses.append(ip_address)
+
             except Exception as e:
                 LOGGER.exception("Error in Rules")
         LOGGER.debug('ip_address = {:s}'.format(str(ip_addresses)))
@@ -259,17 +209,13 @@ class RYUServiceHandler(_ServiceHandler):
             src_device, src_endpoint,  = self._get_endpoint_details(endpoints[0])
             dst_device, dst_endpoint,  = self._get_endpoint_details(endpoints[-1])
             src_controller = self.__task_executor.get_device_controller(src_device)
-            #LOGGER.debug(f"Source controller: {src_controller.device_config.config_rules}")
             del src_controller.device_config.config_rules[:]
             for index in range(len(endpoints) - 1):
                 current_device, current_endpoint = self._get_endpoint_details(endpoints[index])
-                #LOGGER.debug(f"Current device: {current_device.name}, Current endpoint: {current_endpoint.name}")
                 next_device, next_endpoint = self._get_endpoint_details(endpoints[index + 1])
-                #LOGGER.debug(f"Next device: {next_device.name}, Next endpoint: {next_endpoint.name}")
                 if current_device.name == next_device.name:
                     in_port_forward = current_endpoint.name  
                     out_port_forward = next_endpoint.name 
-                    #flow_split = service_name.split('-')
                     dpid_src = int(current_device.name)
                     LOGGER.debug(f"DPID source: {dpid_src}")
                     dpid_dst = int(next_device.name)
@@ -278,20 +224,18 @@ class RYUServiceHandler(_ServiceHandler):
                     flow_rule_reverse = f"{flow_rules[1]}-{flow_rules[0]}"
                     ip_address_source = ip_addresses[0]
                     ip_address_destination = ip_addresses[1]
-                    #mac_address_source = mac_addresses[0]
-                    #mac_address_destination = mac_addresses[1]
+
                     forward_resource_value = ({"dpid": current_device.name, 
                                                "in-port": in_port_forward, 
                                                "out-port": out_port_forward,
                                                 "ip_address_source": ip_address_source,
                                                 "ip_address_destination": ip_address_destination,
-                                                #"mac_address_source": mac_address_source,
-                                                #"mac_address_destination": mac_address_destination
                                                })
                     forward_rule = json_config_rule_delete (
                             resource_key=f"/device[{current_endpoint.name.split('-')[0]}]/flow[{flow_rule_forward}]",
                             resource_value=forward_resource_value
                         )
+                    
                     LOGGER.debug(f"Forward configuration rule: {forward_rule}")
                     in_port_reverse = next_endpoint.name         
                     out_port_reverse = current_endpoint.name 
@@ -301,8 +245,6 @@ class RYUServiceHandler(_ServiceHandler):
                         "out-port": out_port_reverse,
                         "ip_address_source": ip_address_destination,
                         "ip_address_destination": ip_address_source,
-                        #"mac_address_source": mac_address_destination,
-                        #"mac_address_destination": mac_address_source
                     }
                     reverse_rule = json_config_rule_delete(
                             resource_key=f"/device[{current_endpoint.name.split('-')[0]}]/flow[{flow_rule_reverse}]",
@@ -318,10 +260,10 @@ class RYUServiceHandler(_ServiceHandler):
             src_controller.device_config.config_rules.append(ConfigRule(**json_config_rule_delete_1))
             self.__task_executor.configure_device(src_controller)
             results.append(True)
+
             def get_config_rules(controller):
                 try:
                     config_rules = controller.device_config.config_rules
-
                     for rule in config_rules:
                         if rule.HasField("custom"):
                             resource_key = rule.custom.resource_key
@@ -329,9 +271,11 @@ class RYUServiceHandler(_ServiceHandler):
                             LOGGER.debug(f"Resource key in config: {resource_key}, Resource value in config: {resource_value}")
                 except Exception as e:
                     print(f"Error accessing config rules: {e}")
+
             get_config_rules(src_controller)
             LOGGER.debug(f"Configuration rules: {src_controller.device_config.config_rules}")
             return results
+        
         except Exception as e:
             LOGGER.exception(f"Error in DeleteEndpoint")
-            return [e]  
+            return [e] 
\ No newline at end of file
diff --git a/CURL/ietf-l3vpn-service.json b/src/tests/OpenFlow-Ryu-NBI-Request/ietf-l3vpn-service.json
similarity index 100%
rename from CURL/ietf-l3vpn-service.json
rename to src/tests/OpenFlow-Ryu-NBI-Request/ietf-l3vpn-service.json