diff options
author | yunlong ying <ying.yunlong@zte.com.cn> | 2019-04-03 01:02:05 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2019-04-03 01:02:05 +0000 |
commit | beedfac1cf7e7c0ad5d127dcdd32b779a214c950 (patch) | |
tree | e9489a1958389a172a5f5291cab2cac400aacb39 | |
parent | bab594a77d838838b071d6c402c72ead8cbccd09 (diff) | |
parent | 8eb82aa3245fcfc77490a8f23bc580b7f292765c (diff) |
Merge changes Id32773c0,Id876742f
* changes:
fix NS Subscription url error
fix NS Subscription serializer error
-rw-r--r-- | lcm/ns/biz/create_subscription.py | 2 | ||||
-rw-r--r-- | lcm/ns/const.py | 3 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/lccn_filter_data.py | 33 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/lccn_subscription.py | 13 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/lccn_subscription_request.py | 17 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/ns_instance_subscription_filter.py | 30 | ||||
-rw-r--r-- | lcm/ns/urls.py | 6 |
7 files changed, 56 insertions, 48 deletions
diff --git a/lcm/ns/biz/create_subscription.py b/lcm/ns/biz/create_subscription.py index 907353a9..76f478ba 100644 --- a/lcm/ns/biz/create_subscription.py +++ b/lcm/ns/biz/create_subscription.py @@ -135,7 +135,7 @@ class CreateSubscription: "%s to the database" % self.subscription_id) links = { "self": { - "href": const.ROOT_URI + self.subscription_id + "href": const.SUBSCRIPTION_ROOT_URI % self.subscription_id } } SubscriptionModel.objects.create(subscription_id=self.subscription_id, diff --git a/lcm/ns/const.py b/lcm/ns/const.py index 53f49308..c0293598 100644 --- a/lcm/ns/const.py +++ b/lcm/ns/const.py @@ -106,8 +106,6 @@ IPADDRESSES_TYPES = enum( IPV6='IPV6' ) -ROOT_URI = "api/nslcm/v1/subscriptions/" - LCCNNOTIFICATION = "NsLcmOperationOccurrenceNotification" NOTIFICATION_TYPES = [ @@ -175,3 +173,4 @@ CHANGE_RESULT = [ NS_INSTANCE_BASE_URI = MSB_BASE_URL + '/api/nslcm/v1/ns_instances/%s' NS_OCC_BASE_URI = MSB_BASE_URL + '/api/nslcm/v1/ns_lcm_op_occs/%s' +SUBSCRIPTION_ROOT_URI = MSB_BASE_URL + "/api/nslcm/v1/subscriptions/%s" diff --git a/lcm/ns/serializers/sol/lccn_filter_data.py b/lcm/ns/serializers/sol/lccn_filter_data.py index fe4c8304..dd259051 100644 --- a/lcm/ns/serializers/sol/lccn_filter_data.py +++ b/lcm/ns/serializers/sol/lccn_filter_data.py @@ -1,4 +1,5 @@ # Copyright (c) 2019, CMCC Technologies Co., Ltd. +# Copyright 2019 ZTE Corporation. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -22,27 +23,35 @@ from lcm.ns.const import NOTIFICATION_TYPES, NS_LCM_OP_TYPES, LCM_OPERATION_STAT class LifeCycleChangeNotificationsFilter(serializers.Serializer): nsInstanceSubscriptionFilter = NsInstanceSubscriptionFilter( help_text="Filter criteria to select NS instances about which to notify.", - required=False, allow_null=False) + required=False, + allow_null=False) notificationTypes = serializers.ListField( + help_text="Match particular notification types.", child=serializers.ChoiceField(required=True, choices=NOTIFICATION_TYPES), - help_text="Match particular notification types", allow_null=False, required=False) + required=False, + allow_null=False) operationTypes = serializers.ListField( + help_text="Match particular NS lifecycle operation types for the notification of type NsLcmOperationOccurrenceNotification.", child=serializers.ChoiceField(required=True, choices=NS_LCM_OP_TYPES), - help_text="Match particular NS lifecycle operation types for the notification of type " - "NsLcmOperationOccurrenceNotification.", allow_null=False, required=False) + required=False, + allow_null=False) operationStates = serializers.ListField( + help_text="Match particular LCM operation state values as reported in notifications of type NsLcmOperationOccurrenceNotification.", child=serializers.ChoiceField(required=True, choices=LCM_OPERATION_STATE_TYPES), - help_text="Match particular LCM operation state values as reported in notifications of type " - "NsLcmOperationOccurrenceNotification.", allow_null=False, required=False) + required=False, + allow_null=False) nsComponentTypes = serializers.ListField( - child=serializers.ChoiceField(required=True, choices=NS_COMPOMENT_TYPE), help_text="Match particular NS component types for the notification of type NsChangeNotification. ", - required=False, allow_null=False) + child=serializers.ChoiceField(required=True, choices=NS_COMPOMENT_TYPE), + required=False, + allow_null=False) lcmOpNameImpactingNsComponent = serializers.ListField( + help_text="Match particular LCM operation names for the notification of type NsChangeNotification.", child=serializers.ChoiceField(required=True, choices=LCM_OPName_For_Change_Notification_Type), - help_text="Match particular LCM operation names for the notification of type NsChangeNotification. ", - required=False, allow_null=False) + required=False, + allow_null=False) lcmOpOccStatusImpactingNsComponent = serializers.ListField( + help_text="Match particular LCM operation status values as reported in notifications of type NsChangeNotification.", child=serializers.ChoiceField(required=True, choices=LCM_OpOcc_Status_For_ChangeNotification_Type), - help_text="Match particular LCM operation status values as reported in notifications of type " - "NsChangeNotification.", required=False, allow_null=False) + required=False, + allow_null=False) diff --git a/lcm/ns/serializers/sol/lccn_subscription.py b/lcm/ns/serializers/sol/lccn_subscription.py index 42a9eb1c..d25de474 100644 --- a/lcm/ns/serializers/sol/lccn_subscription.py +++ b/lcm/ns/serializers/sol/lccn_subscription.py @@ -1,4 +1,5 @@ # Copyright (c) 2019, CMCC Technologies Co., Ltd. +# Copyright 2019 ZTE Corporation. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -28,20 +29,18 @@ class LccnSubscriptionLinkSerializer(serializers.Serializer): class LccnSubscriptionSerializer(serializers.Serializer): id = serializers.CharField( help_text="Identifier of this subscription resource.", - max_length=255, required=True, allow_null=False) + filter = LifeCycleChangeNotificationsFilter( + help_text="Filter settings for this subscription, to define the of all notifications this subscription relates to.", + required=False) callbackUri = serializers.CharField( help_text="The URI of the endpoint to send the notification to.", - max_length=255, required=True, allow_null=False) - filter = LifeCycleChangeNotificationsFilter( - help_text="Filter settings for this subscription, to define the of all notifications this " - "subscription relates to A particular notification is sent to the subscriber if the filter" - " matches, or if there is no filter.", required=False) _links = LccnSubscriptionLinkSerializer( - help_text="Links to resources related to this resource.", required=True) + help_text="Links to resources related to this resource.", + required=True) class LccnSubscriptionsSerializer(serializers.ListSerializer): diff --git a/lcm/ns/serializers/sol/lccn_subscription_request.py b/lcm/ns/serializers/sol/lccn_subscription_request.py index 9c119295..d821a2f9 100644 --- a/lcm/ns/serializers/sol/lccn_subscription_request.py +++ b/lcm/ns/serializers/sol/lccn_subscription_request.py @@ -1,4 +1,5 @@ # Copyright (c) 2019, CMCC Technologies Co., Ltd. +# Copyright 2019 ZTE Corporation. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,16 +20,12 @@ from lcm.ns.serializers.sol.subscription_auth_data import SubscriptionAuthentica class LccnSubscriptionRequestSerializer(serializers.Serializer): + filter = LifeCycleChangeNotificationsFilter( + help_text="Filter settings for this subscription, to define the subset of all notifications this subscription relates to.", + required=False) callbackUri = serializers.CharField( help_text="The URI of the endpoint to send the notification to.", - required=True, - allow_null=False) - filter = LifeCycleChangeNotificationsFilter( - help_text="Filter settings for this subscription, to define the subset of all notifications this" - " subscription relates to A particular notification is sent to the subscriber if the " - "filter matches, or if there is no filter.", required=False, allow_null=True) + required=True) authentication = SubscriptionAuthenticationSerializer( - help_text="Authentication parameters to conFigure the use of Authorization when sending " - "notifications corresponding to this subscription, as defined in clause 4.5.3 This" - " attribute shall only be present if the subscriber requires authorization of" - " notifications.", required=False, allow_null=True) + help_text="Authentication parameters to conFigure the use of Authorization when sending notifications corresponding to this subscription.", + required=False) diff --git a/lcm/ns/serializers/sol/ns_instance_subscription_filter.py b/lcm/ns/serializers/sol/ns_instance_subscription_filter.py index eb1d040e..2072fc11 100644 --- a/lcm/ns/serializers/sol/ns_instance_subscription_filter.py +++ b/lcm/ns/serializers/sol/ns_instance_subscription_filter.py @@ -1,4 +1,5 @@ # Copyright (c) 2019, CMCC Technologies Co., Ltd. +# Copyright 2019 ZTE Corporation. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,26 +18,29 @@ from rest_framework import serializers class NsInstanceSubscriptionFilter(serializers.Serializer): nsdIds = serializers.ListField( - child=serializers.UUIDField(), - help_text="If present, match NS instances that were created based on a NSD identified by one of the" - " nsdId values listed in this attribute.", required=False, allow_null=False) + help_text="Match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.", + child=serializers.CharField(), + required=False, + allow_null=False) vnfdIds = serializers.ListField( - child=serializers.UUIDField(), - help_text="If present, match NS instances that contain VNF instances that were created based on" + help_text="Match NS instances that contain VNF instances that were created based on" " identified by one of the vnfdId values listed in this attribute.", - required=False, allow_null=False) + child=serializers.CharField(), + required=False, + allow_null=False) pnfdIds = serializers.ListField( - child=serializers.UUIDField(), - help_text="If present, match NS instances that contain PNFs that are represented by a PNFD" + help_text="Match NS instances that contain PNFs that are represented by a PNFD" " identified by one of the pnfdId values listed in this attribute", - required=False, allow_null=False) + child=serializers.CharField(), + required=False, + allow_null=False) nsInstanceIds = serializers.ListField( - child=serializers.UUIDField(), - help_text="If present, match NS instances with an instance identifier listed in this attribute", + help_text="Match NS instances with an instance identifier listed in this attribute", + child=serializers.CharField(), required=False, allow_null=False) nsInstanceNames = serializers.ListField( - child=serializers.CharField(max_length=255, required=True), - help_text="If present, match NS instances with a NS Instance Name listed in this attribute.", + help_text="Match NS instances with a NS Instance Name listed in this attribute.", + child=serializers.CharField(), required=False, allow_null=False) diff --git a/lcm/ns/urls.py b/lcm/ns/urls.py index d24ad6c2..1e859d3d 100644 --- a/lcm/ns/urls.py +++ b/lcm/ns/urls.py @@ -49,13 +49,13 @@ urlpatterns = [ # SOL005 URL API definition url(r'^api/nslcm/v1/ns_instances$', NSInstancesView.as_view()), + url(r'^api/nslcm/v1/ns_instances/(?P<ns_instance_id>[0-9a-zA-Z_-]+)$', IndividualNsInstanceView.as_view()), url(r'^api/nslcm/v1/ns_instances/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/instantiate$', InstantiateNsView.as_view()), - url(r'^api/nslcm/v1/ns_instances/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/terminate$', TerminateNsView.as_view()), - url(r'^api/nslcm/v1/ns_lcm_op_occs/(?P<lcmopoccid>[0-9a-zA-Z_-]+)$', QuerySingleNsLcmOpOcc.as_view()), url(r'^api/nslcm/v1/ns_instances/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/update$', UpdateNSView.as_view()), url(r'^api/nslcm/v1/ns_instances/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/scale$', ScaleNSView.as_view()), url(r'^api/nslcm/v1/ns_instances/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/heal$', HealNSView.as_view()), - url(r'^api/nslcm/v1/ns_instances/(?P<ns_instance_id>[0-9a-zA-Z_-]+)$', IndividualNsInstanceView.as_view()), + url(r'^api/nslcm/v1/ns_instances/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/terminate$', TerminateNsView.as_view()), + url(r'^api/nslcm/v1/ns_lcm_op_occs/(?P<lcmopoccid>[0-9a-zA-Z_-]+)$', QuerySingleNsLcmOpOcc.as_view()), url(r'^api/nslcm/v1/subscriptions$', SubscriptionsView.as_view()), url(r'^api/nslcm/v1/ns_lcm_op_occs$', QueryMultiNsLcmOpOccs.as_view()), |