Loading src/common/tools/object_factory/EndPoint.py +1 −1 Original line number Original line Diff line number Diff line Loading @@ -57,6 +57,6 @@ def json_endpoints( return [ return [ json_endpoint( json_endpoint( device_id, endpoint_data['uuid'], endpoint_data['type'], topology_id=topology_id, device_id, endpoint_data['uuid'], endpoint_data['type'], topology_id=topology_id, kpi_sample_types=endpoint_data['sample_types']) kpi_sample_types=endpoint_data.get('sample_types'), location=endpoint_data.get('location')) for endpoint_data in endpoint_descriptors for endpoint_data in endpoint_descriptors ] ] src/service/service/ServiceServiceServicerImpl.py +25 −21 Original line number Original line Diff line number Diff line Loading @@ -98,9 +98,19 @@ class ServiceServiceServicerImpl(ServiceServiceServicer): service = Service() service = Service() service.CopyFrom(request if _service is None else _service) service.CopyFrom(request if _service is None else _service) if service.service_type == ServiceTypeEnum.SERVICETYPE_UNKNOWN: # pylint: disable=no-member service.service_type = request.service_type # pylint: disable=no-member service.service_status.service_status = ServiceStatusEnum.SERVICESTATUS_PLANNED # pylint: disable=no-member del service.service_endpoint_ids[:] # pylint: disable=no-member for endpoint_id in request.service_endpoint_ids: service.service_endpoint_ids.add().CopyFrom(endpoint_id) # pylint: disable=no-member for constraint in request.service_constraints: for constraint in request.service_constraints: if constraint.action == ConstraintActionEnum.CONSTRAINTACTION_SET: if constraint.action != ConstraintActionEnum.CONSTRAINTACTION_SET: continue if constraint.WhichOneof('constraint') == 'endpoint_location' and not constraint.endpoint_location.HasField('endpoint_id'): if constraint.WhichOneof('constraint') != 'endpoint_location': continue if constraint.endpoint_location.HasField('endpoint_id'): continue device_list = context_client.ListDevices(Empty()) device_list = context_client.ListDevices(Empty()) service_location = constraint.endpoint_location.location service_location = constraint.endpoint_location.location distances = {} distances = {} Loading @@ -114,19 +124,13 @@ class ServiceServiceServicerImpl(ServiceServiceServicer): closer_endpoint_id = distances[min(distances)] closer_endpoint_id = distances[min(distances)] constraint.endpoint_location.endpoint_id.CopyFrom(closer_endpoint_id) constraint.endpoint_location.endpoint_id.CopyFrom(closer_endpoint_id) if closer_endpoint_id not in [endpoint.endpoint_id.endpoint_uuid for endpoint in service.service_endpoint_ids]: service_endpoint_ids = [ endpoint.endpoint_id.endpoint_uuid for endpoint in service.service_endpoint_ids ] if closer_endpoint_id not in service_endpoint_ids: service.service_endpoint_ids.append(closer_endpoint_id) service.service_endpoint_ids.append(closer_endpoint_id) if service.service_type == ServiceTypeEnum.SERVICETYPE_UNKNOWN: # pylint: disable=no-member service.service_type = request.service_type # pylint: disable=no-member service.service_status.service_status = ServiceStatusEnum.SERVICESTATUS_PLANNED # pylint: disable=no-member del service.service_endpoint_ids[:] # pylint: disable=no-member for endpoint_id in request.service_endpoint_ids: service.service_endpoint_ids.add().CopyFrom(endpoint_id) # pylint: disable=no-member del service.service_constraints[:] # pylint: disable=no-member del service.service_constraints[:] # pylint: disable=no-member for constraint in request.service_constraints: for constraint in request.service_constraints: service.service_constraints.add().CopyFrom(constraint) # pylint: disable=no-member service.service_constraints.add().CopyFrom(constraint) # pylint: disable=no-member Loading Loading
src/common/tools/object_factory/EndPoint.py +1 −1 Original line number Original line Diff line number Diff line Loading @@ -57,6 +57,6 @@ def json_endpoints( return [ return [ json_endpoint( json_endpoint( device_id, endpoint_data['uuid'], endpoint_data['type'], topology_id=topology_id, device_id, endpoint_data['uuid'], endpoint_data['type'], topology_id=topology_id, kpi_sample_types=endpoint_data['sample_types']) kpi_sample_types=endpoint_data.get('sample_types'), location=endpoint_data.get('location')) for endpoint_data in endpoint_descriptors for endpoint_data in endpoint_descriptors ] ]
src/service/service/ServiceServiceServicerImpl.py +25 −21 Original line number Original line Diff line number Diff line Loading @@ -98,9 +98,19 @@ class ServiceServiceServicerImpl(ServiceServiceServicer): service = Service() service = Service() service.CopyFrom(request if _service is None else _service) service.CopyFrom(request if _service is None else _service) if service.service_type == ServiceTypeEnum.SERVICETYPE_UNKNOWN: # pylint: disable=no-member service.service_type = request.service_type # pylint: disable=no-member service.service_status.service_status = ServiceStatusEnum.SERVICESTATUS_PLANNED # pylint: disable=no-member del service.service_endpoint_ids[:] # pylint: disable=no-member for endpoint_id in request.service_endpoint_ids: service.service_endpoint_ids.add().CopyFrom(endpoint_id) # pylint: disable=no-member for constraint in request.service_constraints: for constraint in request.service_constraints: if constraint.action == ConstraintActionEnum.CONSTRAINTACTION_SET: if constraint.action != ConstraintActionEnum.CONSTRAINTACTION_SET: continue if constraint.WhichOneof('constraint') == 'endpoint_location' and not constraint.endpoint_location.HasField('endpoint_id'): if constraint.WhichOneof('constraint') != 'endpoint_location': continue if constraint.endpoint_location.HasField('endpoint_id'): continue device_list = context_client.ListDevices(Empty()) device_list = context_client.ListDevices(Empty()) service_location = constraint.endpoint_location.location service_location = constraint.endpoint_location.location distances = {} distances = {} Loading @@ -114,19 +124,13 @@ class ServiceServiceServicerImpl(ServiceServiceServicer): closer_endpoint_id = distances[min(distances)] closer_endpoint_id = distances[min(distances)] constraint.endpoint_location.endpoint_id.CopyFrom(closer_endpoint_id) constraint.endpoint_location.endpoint_id.CopyFrom(closer_endpoint_id) if closer_endpoint_id not in [endpoint.endpoint_id.endpoint_uuid for endpoint in service.service_endpoint_ids]: service_endpoint_ids = [ endpoint.endpoint_id.endpoint_uuid for endpoint in service.service_endpoint_ids ] if closer_endpoint_id not in service_endpoint_ids: service.service_endpoint_ids.append(closer_endpoint_id) service.service_endpoint_ids.append(closer_endpoint_id) if service.service_type == ServiceTypeEnum.SERVICETYPE_UNKNOWN: # pylint: disable=no-member service.service_type = request.service_type # pylint: disable=no-member service.service_status.service_status = ServiceStatusEnum.SERVICESTATUS_PLANNED # pylint: disable=no-member del service.service_endpoint_ids[:] # pylint: disable=no-member for endpoint_id in request.service_endpoint_ids: service.service_endpoint_ids.add().CopyFrom(endpoint_id) # pylint: disable=no-member del service.service_constraints[:] # pylint: disable=no-member del service.service_constraints[:] # pylint: disable=no-member for constraint in request.service_constraints: for constraint in request.service_constraints: service.service_constraints.add().CopyFrom(constraint) # pylint: disable=no-member service.service_constraints.add().CopyFrom(constraint) # pylint: disable=no-member Loading