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

NBI component - IETF L2VPN:

- Added log messages to debug weird libyang.util.LibyangError: validation failed: Duplicate instance of "vpn-service"
parent ae61e83e
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ from flask_restful import Resource
from werkzeug.exceptions import UnsupportedMediaType
from common.proto.context_pb2 import ServiceTypeEnum
from common.tools.context_queries.Service import get_services
from common.tools.grpc.Tools import grpc_message_list_to_json_string
from context.client.ContextClient import ContextClient
from nbi.service._tools.Authentication import HTTP_AUTH
from nbi.service._tools.HttpStatusCodes import (
@@ -117,7 +118,14 @@ class L2VPN_SiteNetworkAccesses(Resource):
            for service in get_services(context_client):
                if service.service_type != ServiceTypeEnum.SERVICETYPE_L2NM: continue

                MSG = '[_prepare_request_payload] LOOP service={:s}'
                LOGGER.warning(MSG.format(grpc_message_list_to_json_string(service)))

                vpn_ids = [service.service_id.service_uuid.uuid, service.name]

                MSG = '[_prepare_request_payload] LOOP vpn_ids={:s}'
                LOGGER.warning(MSG.format(str(vpn_ids)))

                for vpn_id in vpn_ids:
                    vpn_services.append({
                        'vpn-id': vpn_id,
@@ -128,6 +136,12 @@ class L2VPN_SiteNetworkAccesses(Resource):
                        'ce-vlan-cos-preservation': True,
                    })

                MSG = '[_prepare_request_payload] LOOP vpn_services={:s}'
                LOGGER.warning(MSG.format(str(vpn_services)))

            MSG = '[_prepare_request_payload] FINAL vpn_services={:s}'
            LOGGER.warning(MSG.format(str(vpn_services)))

            request_data = {'ietf-l2vpn-svc:l2vpn-svc': {
                'vpn-services': {
                    'vpn-service': vpn_services
@@ -145,6 +159,10 @@ class L2VPN_SiteNetworkAccesses(Resource):
                    }
                }]}
            }}

            MSG = '[_prepare_request_payload] FINAL request_data={:s}'
            LOGGER.warning(MSG.format(str(request_data)))

            return request_data

        errors.append('Unexpected request: {:s}'.format(str(request_data)))