Commit 9fe3c1a1 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Device component:

- added copy of connection config rules when creating device
- added log messages for testing purposes
parent 65d65441
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ class DeviceServiceServicerImpl(DeviceServiceServicer):
            device.device_type = request.device_type
            device.device_operational_status = DeviceOperationalStatusEnum.DEVICEOPERATIONALSTATUS_UNDEFINED
            device.device_drivers.extend(request.device_drivers)    # pylint: disable=no-member
            device.device_config.CopyFrom(request.device_config)    # pylint: disable=no-member
            device_id = context_client.SetDevice(device)
            device = get_device(context_client, device_id.device_uuid.uuid, rw_copy=True)

+11 −1
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

import json
import json, logging
from typing import Any, Dict, List, Tuple, Union
from common.Constants import DEFAULT_CONTEXT_NAME, DEFAULT_TOPOLOGY_NAME
from common.method_wrappers.ServiceExceptions import InvalidArgumentException
@@ -26,6 +26,8 @@ from .Errors import (
    ERROR_BAD_ENDPOINT, ERROR_DELETE, ERROR_GET, ERROR_GET_INIT, ERROR_MISSING_KPI, ERROR_SAMPLETYPE, ERROR_SET,
    ERROR_SUBSCRIBE, ERROR_UNSUBSCRIBE)

LOGGER = logging.getLogger(__name__)

def check_connect_rules(device_config : DeviceConfig) -> Dict[str, Any]:
    connection_config_rules = dict()
    unexpected_config_rules = list()
@@ -77,10 +79,14 @@ def populate_endpoints(device : Device, driver : _Driver, monitoring_loops : Mon
    device_uuid = device.device_id.device_uuid.uuid

    resources_to_get = [RESOURCE_ENDPOINTS]
    LOGGER.warning('resources_to_get = {:s}'.format(str(resources_to_get)))
    results_getconfig = driver.GetConfig(resources_to_get)
    LOGGER.warning('results_getconfig = {:s}'.format(str(results_getconfig)))

    errors : List[str] = list()
    for endpoint in results_getconfig:
        LOGGER.warning('endpoint = {:s}'.format(str(endpoint)))

        if len(endpoint) != 2:
            errors.append(ERROR_BAD_ENDPOINT.format(device_uuid, str(endpoint)))
            continue
@@ -90,6 +96,8 @@ def populate_endpoints(device : Device, driver : _Driver, monitoring_loops : Mon
            errors.append(ERROR_GET.format(device_uuid, str(resource_key), str(resource_value)))
            continue

        LOGGER.warning('resource_value = {:s}'.format(str(resource_value)))

        endpoint_uuid = resource_value.get('uuid')

        device_endpoint = device.device_endpoints.add()
@@ -104,6 +112,8 @@ def populate_endpoints(device : Device, driver : _Driver, monitoring_loops : Mon
            device_endpoint.kpi_sample_types.append(kpi_sample_type)
            monitoring_loops.add_resource_key(device_uuid, endpoint_uuid, kpi_sample_type, monitor_resource_key)

    LOGGER.warning('device.device_endpoints = {:s}'.format(str(device.device_endpoints)))
    LOGGER.warning('errors = {:s}'.format(str(errors)))
    return errors

def _raw_config_rules_to_grpc(
+1 −1
Original line number Diff line number Diff line
@@ -84,7 +84,7 @@ def get_driver(driver_instance_cache : DriverInstanceCache, device : Device) ->
    driver_filter_fields = get_device_driver_filter_fields(device)
    connect_rules = get_connect_rules(device.device_config)

    #LOGGER.info('[get_driver] connect_rules = {:s}'.format(str(connect_rules)))
    LOGGER.info('[get_driver] connect_rules = {:s}'.format(str(connect_rules)))
    address  = connect_rules.get('address',  '127.0.0.1')
    port     = connect_rules.get('port',     '0')
    settings = connect_rules.get('settings', '{}')