diff --git a/src/device/service/DeviceServiceServicerImpl.py b/src/device/service/DeviceServiceServicerImpl.py index 179b7795b541801afb1db63f1ab532253a8cc851..5b537609b89bde3fe5812662379c629665ab56aa 100644 --- a/src/device/service/DeviceServiceServicerImpl.py +++ b/src/device/service/DeviceServiceServicerImpl.py @@ -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: diff --git a/src/device/service/Tools.py b/src/device/service/Tools.py index d2cd0b48104857ac8a4525feb28a4ca480e0aec1..b4dc66dde9562364342dd736405d4d4dcbd9772a 100644 --- a/src/device/service/Tools.py +++ b/src/device/service/Tools.py @@ -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