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

Compute component:

- Updated endpoint mapping for ECOC'22 scenario
- Swapped get-service and get-slice methods to priorize slices over services
parent f36bd488
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -56,8 +56,8 @@ BEARER_MAPPINGS = {
    #'R4@D2:3/3': ('R4@D2', '3/3', '10.0.2.4', '65002:104', 100, '2.4.3.3', 24),

    # ECOC'22
    'CE1-PE1': ('PE1', '1/1', '10.0.0.101', '65000:101', 300, None, None),
    'CE2-PE2': ('PE2', '1/1', '10.0.0.102', '65000:102', 300, None, None),
    'CE3-PE3': ('PE3', '1/1', '10.0.0.103', '65000:103', 300, None, None),
    'CE4-PE4': ('PE4', '1/1', '10.0.0.104', '65000:104', 300, None, None),
    'DC1-GW:CS1-GW1': ('CS1-GW1', '10/1', '10.0.1.101', '65000:101', 300, None, None),
    'DC1-GW:CS1-GW2': ('CS1-GW2', '10/1', '10.0.2.101', '65000:102', 300, None, None),
    'DC2-GW:CS2-GW1': ('CS2-GW1', '10/1', '10.0.1.102', '65000:103', 300, None, None),
    'DC2-GW:CS2-GW2': ('CS2-GW2', '10/1', '10.0.2.102', '65000:104', 300, None, None),
}
+21 −19
Original line number Diff line number Diff line
@@ -36,24 +36,26 @@ class L2VPN_Service(Resource):
        try:
            context_client = ContextClient()

            target = get_service(context_client, vpn_id)
            if target is not None:
                if target.service_id.service_uuid.uuid != vpn_id: # pylint: disable=no-member
                    raise Exception('Service retrieval failed. Wrong Service Id was returned')
                service_ready_status = ServiceStatusEnum.SERVICESTATUS_ACTIVE
                service_status = target.service_status.service_status # pylint: disable=no-member
                response.status_code = HTTP_OK if service_status == service_ready_status else HTTP_GATEWAYTIMEOUT
                return response

            target = get_slice(context_client, vpn_id)
            if target is not None:
                if target.slice_id.slice_uuid.uuid != vpn_id: # pylint: disable=no-member
                    raise Exception('Slice retrieval failed. Wrong Slice Id was returned')
                slice_ready_status = SliceStatusEnum.SLICESTATUS_ACTIVE
                slice_status = target.slice_status.slice_status # pylint: disable=no-member
                response = jsonify({})
                response.status_code = HTTP_OK if slice_status == slice_ready_status else HTTP_GATEWAYTIMEOUT
                return response

            target = get_service(context_client, vpn_id)
            if target is not None:
                if target.service_id.service_uuid.uuid != vpn_id: # pylint: disable=no-member
                    raise Exception('Service retrieval failed. Wrong Service Id was returned')
                service_ready_status = ServiceStatusEnum.SERVICESTATUS_ACTIVE
                service_status = target.service_status.service_status # pylint: disable=no-member
                response = jsonify({})
                response.status_code = HTTP_OK if service_status == service_ready_status else HTTP_GATEWAYTIMEOUT
                return response

            raise Exception('VPN({:s}) not found in database'.format(str(vpn_id)))
        except Exception as e: # pylint: disable=broad-except
            LOGGER.exception('Something went wrong Retrieving VPN({:s})'.format(str(vpn_id)))
@@ -69,16 +71,6 @@ class L2VPN_Service(Resource):
        try:
            context_client = ContextClient()

            target = get_service(context_client, vpn_id)
            if target is not None:
                if target.service_id.service_uuid.uuid != vpn_id: # pylint: disable=no-member
                    raise Exception('Service retrieval failed. Wrong Service Id was returned')
                service_client = ServiceClient()
                service_client.DeleteService(target.service_id)
                response = jsonify({})
                response.status_code = HTTP_NOCONTENT
                return response

            target = get_slice(context_client, vpn_id)
            if target is not None:
                if target.slice_id.slice_uuid.uuid != vpn_id: # pylint: disable=no-member
@@ -89,6 +81,16 @@ class L2VPN_Service(Resource):
                response.status_code = HTTP_NOCONTENT
                return response

            target = get_service(context_client, vpn_id)
            if target is not None:
                if target.service_id.service_uuid.uuid != vpn_id: # pylint: disable=no-member
                    raise Exception('Service retrieval failed. Wrong Service Id was returned')
                service_client = ServiceClient()
                service_client.DeleteService(target.service_id)
                response = jsonify({})
                response.status_code = HTTP_NOCONTENT
                return response

            raise Exception('VPN({:s}) not found in database'.format(str(vpn_id)))
        except Exception as e: # pylint: disable=broad-except
            LOGGER.exception('Something went wrong Deleting VPN({:s})'.format(str(vpn_id)))
+1 −1
Original line number Diff line number Diff line
@@ -68,8 +68,8 @@ def process_site_network_access(context_client : ContextClient, site_id : str, s
    device_uuid,endpoint_uuid,router_id,route_distinguisher,sub_if_index,address_ip,address_prefix = mapping

    target : Union[Service, Slice, None] = None
    if target is None: target = get_service(context_client, vpn_id)
    if target is None: target = get_slice  (context_client, vpn_id)
    if target is None: target = get_service(context_client, vpn_id)
    if target is None: raise Exception('VPN({:s}) not found in database'.format(str(vpn_id)))

    if isinstance(target, Service):