From d44868594b635e8bec74b078c6e04019f467249e Mon Sep 17 00:00:00 2001
From: gifrerenom <lluis.gifre@cttc.es>
Date: Thu, 20 Apr 2023 08:26:15 +0000
Subject: [PATCH] Device component:

- Updated get_device calls according to new Common.Tools.ContextQueries methods
---
 .../service/DeviceServiceServicerImpl.py      | 28 +++++++++++++++----
 1 file changed, 22 insertions(+), 6 deletions(-)

diff --git a/src/device/service/DeviceServiceServicerImpl.py b/src/device/service/DeviceServiceServicerImpl.py
index 205d769ac..6567935f4 100644
--- a/src/device/service/DeviceServiceServicerImpl.py
+++ b/src/device/service/DeviceServiceServicerImpl.py
@@ -105,7 +105,9 @@ class DeviceServiceServicerImpl(DeviceServiceServicer):
                 context_client.SetLink(sub_links)
 
             # Update endpoint monitoring resources with UUIDs
-            device_with_uuids = context_client.GetDevice(device_id)
+            device_with_uuids = get_device(
+                context_client, device_id.device_uuid.uuid, rw_copy=False, include_endpoints=True,
+                include_components=False, include_config_rules=False)
             populate_endpoint_monitoring_resources(device_with_uuids, self.monitoring_loops)
 
             context_client.close()
@@ -121,23 +123,31 @@ class DeviceServiceServicerImpl(DeviceServiceServicer):
         self.mutex_queues.wait_my_turn(device_uuid)
         try:
             context_client = ContextClient()
-            device = get_device(context_client, device_uuid, rw_copy=True)
+            device = get_device(
+                context_client, device_uuid, rw_copy=True, include_endpoints=False, include_components=False,
+                include_config_rules=True)
             if device is None:
                 raise NotFoundException('Device', device_uuid, extra_details='loading in ConfigureDevice')
 
             device_controller_uuid = get_device_controller_uuid(device)
             if device_controller_uuid is not None:
-                device = get_device(context_client, device_controller_uuid, rw_copy=True)
+                device = get_device(
+                    context_client, device_controller_uuid, rw_copy=True, include_endpoints=False,
+                    include_components=False, include_config_rules=True)
                 if device is None:
                     raise NotFoundException(
                         'Device', device_controller_uuid, extra_details='loading in ConfigureDevice')
 
+            device_uuid = device.device_id.device_uuid.uuid
             driver : _Driver = get_driver(self.driver_instance_cache, device)
             if driver is None:
                 msg = ERROR_MISSING_DRIVER.format(device_uuid=str(device_uuid))
                 raise OperationFailedException('ConfigureDevice', extra_details=msg)
 
             if DeviceDriverEnum.DEVICEDRIVER_P4 in device.device_drivers:
+                device = get_device(
+                    context_client, device_uuid, rw_copy=False, include_endpoints=True, include_components=False,
+                    include_config_rules=True)
                 # P4 Driver, by now, has no means to retrieve endpoints
                 # We allow defining the endpoints manually
                 update_endpoints(request, device)
@@ -179,7 +189,9 @@ class DeviceServiceServicerImpl(DeviceServiceServicer):
         self.mutex_queues.wait_my_turn(device_uuid)
         try:
             context_client = ContextClient()
-            device = get_device(context_client, device_uuid, rw_copy=False)
+            device = get_device(
+                context_client, device_uuid, rw_copy=False, include_endpoints=False, include_config_rules=False,
+                include_components=False)
             if device is None:
                 raise NotFoundException('Device', device_uuid, extra_details='loading in DeleteDevice')
             device_uuid = device.device_id.device_uuid.uuid
@@ -198,7 +210,9 @@ class DeviceServiceServicerImpl(DeviceServiceServicer):
         self.mutex_queues.wait_my_turn(device_uuid)
         try:
             context_client = ContextClient()
-            device = get_device(context_client, device_uuid, rw_copy=False)
+            device = get_device(
+                context_client, device_uuid, rw_copy=False, include_endpoints=False, include_components=False,
+                include_config_rules=True)
             if device is None:
                 raise NotFoundException('Device', device_uuid, extra_details='loading in DeleteDevice')
 
@@ -237,7 +251,9 @@ class DeviceServiceServicerImpl(DeviceServiceServicer):
         self.mutex_queues.wait_my_turn(device_uuid)
         try:
             context_client = ContextClient()
-            device = get_device(context_client, device_uuid, rw_copy=False)
+            device = get_device(
+                context_client, device_uuid, rw_copy=False, include_endpoints=False, include_components=False,
+                include_config_rules=True)
             if device is None:
                 raise NotFoundException('Device', device_uuid, extra_details='loading in DeleteDevice')
 
-- 
GitLab