diff --git a/src/device/service/DeviceServiceServicerImpl.py b/src/device/service/DeviceServiceServicerImpl.py index 205d769acb76992aeba33fc54b7e7b8fbbdc8d06..6567935f432f0fa8895b6e1b7695deeadcf443f8 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')