Commit db81efc6 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Pre-merge code cleanup

parent 39504ce4
Loading
Loading
Loading
Loading
+37 −43
Original line number Original line Diff line number Diff line
@@ -117,6 +117,28 @@ class ServiceServiceServicerImpl(ServiceServiceServicer):
            service.service_type = request.service_type                                     # 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
        service.service_status.service_status = ServiceStatusEnum.SERVICESTATUS_PLANNED     # pylint: disable=no-member


        if service.service_type == ServiceTypeEnum.SERVICETYPE_TE:
            # TE service:
            context_client.SetService(request)

            te_service_client = TEServiceClient()
            service_status = te_service_client.RequestLSP(service)

            if service_status.service_status == ServiceStatusEnum.SERVICESTATUS_ACTIVE:
                _service : Optional[Service] = get_service_by_id(
                    context_client, request.service_id, rw_copy=True,
                    include_config_rules=False, include_constraints=False, include_endpoint_ids=False)
                _service.service_status.service_status = ServiceStatusEnum.SERVICESTATUS_ACTIVE
                service_id = context_client.SetService(_service)
                return service_id
            else:
                MSG = 'RequestLSP for Service({:s}) returned ServiceStatus({:s})'
                context_uuid = request.service_id.context_id.context_uuid.uuid
                service_uuid = request.service_id.service_uuid.uuid
                service_key = '{:s}/{:s}'.format(context_uuid, service_uuid)
                str_service_status = ServiceStatusEnum.Name(service_status.service_status)
                raise Exception(MSG.format(service_key, str_service_status))

        del service.service_endpoint_ids[:] # pylint: disable=no-member
        del service.service_endpoint_ids[:] # pylint: disable=no-member
        for endpoint_id in request.service_endpoint_ids:
        for endpoint_id in request.service_endpoint_ids:
            service.service_endpoint_ids.add().CopyFrom(endpoint_id)    # pylint: disable=no-member
            service.service_endpoint_ids.add().CopyFrom(endpoint_id)    # pylint: disable=no-member
@@ -169,34 +191,6 @@ class ServiceServiceServicerImpl(ServiceServiceServicer):
            context_client, service_id_with_uuids, rw_copy=False,
            context_client, service_id_with_uuids, rw_copy=False,
            include_config_rules=True, include_constraints=True, include_endpoint_ids=True)
            include_config_rules=True, include_constraints=True, include_endpoint_ids=True)


        if service.service_type == ServiceTypeEnum.SERVICETYPE_TE:
            # TE service:
            te_service_client = TEServiceClient()

            # Note: TE should update the service in Context.
            #       By now we update it manually for debugging purposes
            service = Service()
            service.CopyFrom(request)
            service.service_status.service_status = ServiceStatusEnum.SERVICESTATUS_PLANNED
            context_client.SetService(request)

            service_status = te_service_client.RequestLSP(service)

            if service_status.service_status == ServiceStatusEnum.SERVICESTATUS_ACTIVE:
                _service : Optional[Service] = get_service(context_client, request.service_id)
                service = Service()
                service.CopyFrom(_service)
                service.service_status.service_status = ServiceStatusEnum.SERVICESTATUS_ACTIVE
                context_client.SetService(service)
            else:
                MSG = 'RequestLSP for Service({:s}) returned ServiceStatus({:s})'
                context_uuid = request.service_id.context_id.context_uuid.uuid
                service_uuid = request.service_id.service_uuid.uuid
                service_key = '{:s}/{:s}'.format(context_uuid, service_uuid)
                str_service_status = ServiceStatusEnum.Name(service_status.service_status)
                raise Exception(MSG.format(service_key, str_service_status))
        else:
            # Normal service:
        num_disjoint_paths = None
        num_disjoint_paths = None
        for constraint in request.service_constraints:
        for constraint in request.service_constraints:
            if constraint.WhichOneof('constraint') == 'sla_availability':
            if constraint.WhichOneof('constraint') == 'sla_availability':
@@ -253,7 +247,8 @@ class ServiceServiceServicerImpl(ServiceServiceServicer):
            te_service_client = TEServiceClient()
            te_service_client = TEServiceClient()
            te_service_client.DeleteLSP(request)
            te_service_client.DeleteLSP(request)
            context_client.RemoveService(request)
            context_client.RemoveService(request)
        else:
            return Empty()

        # Normal service
        # Normal service
        # Feed TaskScheduler with this service and the sub-services and sub-connections related to this service.
        # Feed TaskScheduler with this service and the sub-services and sub-connections related to this service.
        # TaskScheduler identifies inter-dependencies among them and produces a schedule of tasks (an ordered list of
        # TaskScheduler identifies inter-dependencies among them and produces a schedule of tasks (an ordered list of
@@ -261,7 +256,6 @@ class ServiceServiceServicerImpl(ServiceServiceServicer):
        tasks_scheduler = TasksScheduler(self.service_handler_factory)
        tasks_scheduler = TasksScheduler(self.service_handler_factory)
        tasks_scheduler.compose_from_service(service, is_delete=True)
        tasks_scheduler.compose_from_service(service, is_delete=True)
        tasks_scheduler.execute_all()
        tasks_scheduler.execute_all()

        return Empty()
        return Empty()


    @safe_and_metered_rpc_method(METRICS_POOL, LOGGER)
    @safe_and_metered_rpc_method(METRICS_POOL, LOGGER)