Commit 83d3a5f6 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Device component:

- Improved update of ConfigRules changed in Context
parent 3b11d31e
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -121,11 +121,7 @@ class DeviceServiceServicerImpl(DeviceServiceServicer):
                for error in errors: LOGGER.error(error)
                raise OperationFailedException('ConfigureDevice', extra_details=errors)

            # Rules updated by configure_rules() and deconfigure_rules() methods.
            # Code to be removed soon if not needed.
            del device.device_config.config_rules[:]
            populate_config_rules(device, driver)

            # Note: Rules are updated by configure_rules() and deconfigure_rules() methods.
            device_id = context_client.SetDevice(device)
            return device_id
        finally:
+4 −6
Original line number Diff line number Diff line
@@ -107,7 +107,7 @@ def populate_endpoints(device : Device, driver : _Driver, monitoring_loops : Mon
    return errors

def _raw_config_rules_to_grpc(
    device_uuid : str, device_config : DeviceConfig, error_template : str, default_config_action : ConfigActionEnum,
    device_uuid : str, device_config : DeviceConfig, error_template : str, config_action : ConfigActionEnum,
    raw_config_rules : List[Tuple[str, Union[Any, Exception, None]]]
) -> List[str]:
    errors : List[str] = list()
@@ -118,7 +118,7 @@ def _raw_config_rules_to_grpc(
            continue

        config_rule = device_config.config_rules.add()
        config_rule.action = default_config_action
        config_rule.action = config_action
        config_rule.custom.resource_key = resource_key
        config_rule.custom.resource_value = \
            resource_value if isinstance(resource_value, str) else json.dumps(resource_value, sort_keys=True)
@@ -177,9 +177,8 @@ def configure_rules(device : Device, driver : _Driver, resources_to_set : List[T
        for (resource_key, resource_value), result in zip(resources_to_set, results_setconfig)
    ]

    device_config = DeviceConfig() # ignored; added at the end of ConfigureDevice
    return _raw_config_rules_to_grpc(
        device_uuid, device_config, ERROR_SET, ConfigActionEnum.CONFIGACTION_SET, results_setconfig)
        device_uuid, device.device_config, ERROR_SET, ConfigActionEnum.CONFIGACTION_SET, results_setconfig)

def deconfigure_rules(device : Device, driver : _Driver, resources_to_delete : List[Tuple[str, Any]]) -> List[str]:
    device_uuid = device.device_id.device_uuid.uuid
@@ -190,9 +189,8 @@ def deconfigure_rules(device : Device, driver : _Driver, resources_to_delete : L
        for (resource_key, resource_value), result in zip(resources_to_delete, results_deleteconfig)
    ]

    device_config = DeviceConfig() # ignored; added at the end of ConfigureDevice
    return _raw_config_rules_to_grpc(
        device_uuid, device_config, ERROR_DELETE, ConfigActionEnum.CONFIGACTION_DELETE, results_deleteconfig)
        device_uuid, device.device_config, ERROR_DELETE, ConfigActionEnum.CONFIGACTION_DELETE, results_deleteconfig)

def subscribe_kpi(request : MonitoringSettings, driver : _Driver, monitoring_loops : MonitoringLoops) -> List[str]:
    kpi_uuid = request.kpi_id.kpi_id.uuid