Skip to content
Snippets Groups Projects
Commit d4486859 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Device component:

- Updated get_device calls according to new Common.Tools.ContextQueries methods
parent a89e0fe4
No related branches found
No related tags found
2 merge requests!142Release TeraFlowSDN 2.1,!87Context & Device Performance Enhancements
...@@ -105,7 +105,9 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): ...@@ -105,7 +105,9 @@ class DeviceServiceServicerImpl(DeviceServiceServicer):
context_client.SetLink(sub_links) context_client.SetLink(sub_links)
# Update endpoint monitoring resources with UUIDs # 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) populate_endpoint_monitoring_resources(device_with_uuids, self.monitoring_loops)
context_client.close() context_client.close()
...@@ -121,23 +123,31 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): ...@@ -121,23 +123,31 @@ class DeviceServiceServicerImpl(DeviceServiceServicer):
self.mutex_queues.wait_my_turn(device_uuid) self.mutex_queues.wait_my_turn(device_uuid)
try: try:
context_client = ContextClient() 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: if device is None:
raise NotFoundException('Device', device_uuid, extra_details='loading in ConfigureDevice') raise NotFoundException('Device', device_uuid, extra_details='loading in ConfigureDevice')
device_controller_uuid = get_device_controller_uuid(device) device_controller_uuid = get_device_controller_uuid(device)
if device_controller_uuid is not None: 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: if device is None:
raise NotFoundException( raise NotFoundException(
'Device', device_controller_uuid, extra_details='loading in ConfigureDevice') '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) driver : _Driver = get_driver(self.driver_instance_cache, device)
if driver is None: if driver is None:
msg = ERROR_MISSING_DRIVER.format(device_uuid=str(device_uuid)) msg = ERROR_MISSING_DRIVER.format(device_uuid=str(device_uuid))
raise OperationFailedException('ConfigureDevice', extra_details=msg) raise OperationFailedException('ConfigureDevice', extra_details=msg)
if DeviceDriverEnum.DEVICEDRIVER_P4 in device.device_drivers: 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 # P4 Driver, by now, has no means to retrieve endpoints
# We allow defining the endpoints manually # We allow defining the endpoints manually
update_endpoints(request, device) update_endpoints(request, device)
...@@ -179,7 +189,9 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): ...@@ -179,7 +189,9 @@ class DeviceServiceServicerImpl(DeviceServiceServicer):
self.mutex_queues.wait_my_turn(device_uuid) self.mutex_queues.wait_my_turn(device_uuid)
try: try:
context_client = ContextClient() 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: if device is None:
raise NotFoundException('Device', device_uuid, extra_details='loading in DeleteDevice') raise NotFoundException('Device', device_uuid, extra_details='loading in DeleteDevice')
device_uuid = device.device_id.device_uuid.uuid device_uuid = device.device_id.device_uuid.uuid
...@@ -198,7 +210,9 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): ...@@ -198,7 +210,9 @@ class DeviceServiceServicerImpl(DeviceServiceServicer):
self.mutex_queues.wait_my_turn(device_uuid) self.mutex_queues.wait_my_turn(device_uuid)
try: try:
context_client = ContextClient() 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: if device is None:
raise NotFoundException('Device', device_uuid, extra_details='loading in DeleteDevice') raise NotFoundException('Device', device_uuid, extra_details='loading in DeleteDevice')
...@@ -237,7 +251,9 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): ...@@ -237,7 +251,9 @@ class DeviceServiceServicerImpl(DeviceServiceServicer):
self.mutex_queues.wait_my_turn(device_uuid) self.mutex_queues.wait_my_turn(device_uuid)
try: try:
context_client = ContextClient() 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: if device is None:
raise NotFoundException('Device', device_uuid, extra_details='loading in DeleteDevice') raise NotFoundException('Device', device_uuid, extra_details='loading in DeleteDevice')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment