diff options
author | maopengzhang <zhang.maopeng1@zte.com.cn> | 2019-03-21 19:43:12 +0800 |
---|---|---|
committer | maopengzhang <zhang.maopeng1@zte.com.cn> | 2019-03-21 21:50:23 +0800 |
commit | a42b1d5797a2ae3fd6942afce23dae676f9f462e (patch) | |
tree | 19a4372973822156642df8dce12c9b8fc474d82c | |
parent | 33cccf1ce1c762bf0a26b3dbfb6ccc4b5b219c68 (diff) |
seperate sol and deprecated api
seperate sol and deprecated api
Change-Id: I4c841bdfe45876c9b44c729ac840fa496f944db9
Issue-ID: VFC-1211
Signed-off-by: maopengzhang <zhang.maopeng1@zte.com.cn>
-rw-r--r-- | lcm/ns/serializers/deprecated/__init__.py | 13 | ||||
-rw-r--r-- | lcm/ns/serializers/deprecated/ns_serializers.py | 196 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/__init__.py | 13 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/affected_nss.py (renamed from lcm/ns/serializers/affected_nss.py) | 0 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/affected_pnfs.py (renamed from lcm/ns/serializers/affected_pnfs.py) | 0 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/affected_saps.py (renamed from lcm/ns/serializers/affected_saps.py) | 0 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/affected_vls.py (renamed from lcm/ns/serializers/affected_vls.py) | 0 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/affected_vnffgs.py (renamed from lcm/ns/serializers/affected_vnffgs.py) | 0 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/affected_vnfs.py (renamed from lcm/ns/serializers/affected_vnfs.py) | 5 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/create_ns_serializers.py (renamed from lcm/ns/serializers/create_ns_serializers.py) | 26 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/ext_link_port_info.py (renamed from lcm/ns/serializers/ext_link_port_info.py) | 2 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/ext_virtual_link_info.py (renamed from lcm/ns/serializers/ext_virtual_link_info.py) | 4 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/heal_serializers.py (renamed from lcm/ns/serializers/heal_serializers.py) | 0 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/inst_ns_serializers.py (renamed from lcm/ns/serializers/inst_ns_serializers.py) | 4 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/lccn_filter_data.py (renamed from lcm/ns/serializers/lccn_filter_data.py) | 0 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/lccn_subscription.py (renamed from lcm/ns/serializers/lccn_subscription.py) | 4 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/lccn_subscription_request.py (renamed from lcm/ns/serializers/lccn_subscription_request.py) | 4 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/lccn_subscriptions.py (renamed from lcm/ns/serializers/lccn_subscriptions.py) | 0 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/link.py (renamed from lcm/ns/serializers/link.py) | 0 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/ns_instance_subscription_filter.py (renamed from lcm/ns/serializers/ns_instance_subscription_filter.py) | 0 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/ns_lcm_op_occ.py (renamed from lcm/ns/serializers/ns_lcm_op_occ.py) | 17 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/ns_lcm_op_occs.py (renamed from lcm/ns/serializers/ns_lcm_op_occs.py) | 0 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/pub_serializers.py (renamed from lcm/ns/serializers/pub_serializers.py) | 3 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/resource_handle.py (renamed from lcm/ns/serializers/resource_handle.py) | 0 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/response.py (renamed from lcm/ns/serializers/response.py) | 0 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/scale_ns_serializers.py (renamed from lcm/ns/serializers/scale_ns_serializers.py) | 7 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/subscription_auth_data.py (renamed from lcm/ns/serializers/subscription_auth_data.py) | 0 | ||||
-rw-r--r-- | lcm/ns/serializers/sol/update_serializers.py (renamed from lcm/ns/serializers/update_serializers.py) | 6 | ||||
-rw-r--r-- | lcm/ns/serializers/terminate_ns_serializer.py | 22 | ||||
-rw-r--r-- | lcm/ns/urls.py | 20 | ||||
-rw-r--r-- | lcm/ns/views/deprecated/create_ns_view.py | 17 | ||||
-rw-r--r-- | lcm/ns/views/deprecated/get_del_ns_view.py | 10 | ||||
-rw-r--r-- | lcm/ns/views/deprecated/inst_ns_post_deal_view.py (renamed from lcm/ns/views/inst_ns_post_deal_view.py) | 9 | ||||
-rw-r--r-- | lcm/ns/views/deprecated/inst_ns_view.py | 11 | ||||
-rw-r--r-- | lcm/ns/views/deprecated/term_ns_view.py | 13 | ||||
-rw-r--r-- | lcm/ns/views/sol/heal_ns_view.py (renamed from lcm/ns/views/heal_ns_view.py) | 6 | ||||
-rw-r--r-- | lcm/ns/views/sol/instantiate_ns_views.py (renamed from lcm/ns/views/sol/nslcm_op_views.py) | 19 | ||||
-rw-r--r-- | lcm/ns/views/sol/lcm_op_occs_view.py (renamed from lcm/ns/views/lcm_op_occs_view.py) | 6 | ||||
-rw-r--r-- | lcm/ns/views/sol/ns_instances_views.py | 17 | ||||
-rw-r--r-- | lcm/ns/views/sol/scale_ns_views.py (renamed from lcm/ns/views/scale_ns_views.py) | 6 | ||||
-rw-r--r-- | lcm/ns/views/sol/subscriptions_view.py (renamed from lcm/ns/views/subscriptions_view.py) | 12 | ||||
-rw-r--r-- | lcm/ns/views/sol/terminate_ns_view.py (renamed from lcm/ns/serializers/common_Link.py) | 21 | ||||
-rw-r--r-- | lcm/ns/views/sol/update_ns_view.py (renamed from lcm/ns/views/update_ns_view.py) | 7 | ||||
-rw-r--r-- | lcm/ns_vnfs/serializers/grant_vnf_serializer.py | 12 |
44 files changed, 349 insertions, 163 deletions
diff --git a/lcm/ns/serializers/deprecated/__init__.py b/lcm/ns/serializers/deprecated/__init__.py new file mode 100644 index 00000000..0c847b7d --- /dev/null +++ b/lcm/ns/serializers/deprecated/__init__.py @@ -0,0 +1,13 @@ +# 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. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. diff --git a/lcm/ns/serializers/deprecated/ns_serializers.py b/lcm/ns/serializers/deprecated/ns_serializers.py new file mode 100644 index 00000000..19c3d1ea --- /dev/null +++ b/lcm/ns/serializers/deprecated/ns_serializers.py @@ -0,0 +1,196 @@ +# Copyright 2018 ZTE Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from rest_framework import serializers +from lcm.ns_pnfs.serializers.pnf_serializer import PnfInstanceSerializer + + +class _ContextSerializer(serializers.Serializer): + globalCustomerId = serializers.CharField(help_text="Global customer ID", required=False, allow_null=True, allow_blank=True) + serviceType = serializers.CharField(help_text="Service type", required=False, allow_null=True, allow_blank=True) + + +class _CreateNsReqSerializer(serializers.Serializer): + csarId = serializers.CharField(help_text="Package ID of NS", required=False, allow_null=True, allow_blank=True) + nsName = serializers.CharField(help_text="Name of NS", required=False, allow_null=True, allow_blank=True) + description = serializers.CharField(help_text="Description of NS", required=False, allow_null=True, allow_blank=True) + context = _ContextSerializer(help_text="Context of NS", required=False) + + +class _CreateNsRespSerializer(serializers.Serializer): + nsInstanceId = serializers.CharField(help_text="ID of NS instance", required=True) + + +class _VnfInstSerializer(serializers.Serializer): + vnfInstanceId = serializers.CharField(help_text="ID of VNF instance", required=True) + vnfInstanceName = serializers.CharField(help_text="Name of VNF instance", required=False, allow_null=True, allow_blank=True) + vnfdId = serializers.CharField(help_text="ID of VNFD", required=False, allow_null=True, allow_blank=True) + + +class _CpInstInfoSerializer(serializers.Serializer): + cpInstanceId = serializers.CharField(help_text="ID of CP instance", required=True) + cpInstanceName = serializers.CharField(help_text="Name of CP instance", required=False, allow_null=True, allow_blank=True) + cpdId = serializers.CharField(help_text="ID of CPD", required=False, allow_null=True, allow_blank=True) + + +class _VlInstSerializer(serializers.Serializer): + vlInstanceId = serializers.CharField(help_text="ID of VL instance", required=True) + vlInstanceName = serializers.CharField(help_text="Name of VL instance", required=False, allow_null=True, allow_blank=True) + vldId = serializers.CharField(help_text="ID of VLD", required=False, allow_null=True, allow_blank=True) + relatedCpInstanceId = _CpInstInfoSerializer(help_text="Related CP instances", many=True) + + +class _VnffgInstSerializer(serializers.Serializer): + vnffgInstanceId = serializers.CharField(help_text="ID of VNFFG instance", required=True) + vnfdId = serializers.CharField(help_text="ID of VNFD", required=False, allow_null=True, allow_blank=True) + pnfId = serializers.CharField(help_text="ID of PNF", required=False, allow_null=True, allow_blank=True) + virtualLinkId = serializers.CharField(help_text="ID of virtual link", required=False, allow_null=True, allow_blank=True) + cpdId = serializers.CharField(help_text="ID of CPD", required=False, allow_null=True, allow_blank=True) + nfp = serializers.CharField(help_text="nfp", required=False, allow_null=True, allow_blank=True) + + +class _QueryNsRespSerializer(serializers.Serializer): + nsInstanceId = serializers.CharField(help_text="ID of NS instance", required=True) + nsName = serializers.CharField(help_text="Name of NS instance", required=False, allow_null=True, allow_blank=True) + description = serializers.CharField(help_text="Description of NS instance", required=False, allow_null=True, allow_blank=True) + nsdId = serializers.CharField(help_text="ID of NSD", required=True) + vnfInfo = _VnfInstSerializer(help_text="VNF instances", many=True, required=False, allow_null=True) + pnfInfo = PnfInstanceSerializer(help_text="PNF instances", many=True, required=False, allow_null=True) + vlInfo = _VlInstSerializer(help_text="VL instances", many=True, required=False, allow_null=True) + vnffgInfo = _VnffgInstSerializer(help_text="VNFFG instances", many=True, required=False, allow_null=True) + nsState = serializers.CharField(help_text="State of NS instance", required=False, allow_null=True, allow_blank=True) + + +class _VnfLocationSerializer(serializers.Serializer): + vimId = serializers.CharField(help_text="ID of VIM", required=False, allow_null=True, allow_blank=True) + + +class _LocationConstraintSerializer(serializers.Serializer): + vnfProfileId = serializers.CharField(help_text="ID of VNF profile", required=False, allow_null=True, allow_blank=True) + locationConstraints = _VnfLocationSerializer(help_text="Location constraint", required=False, allow_null=True) + + +class _AddressRange(serializers.Serializer): + minAddress = serializers.IPAddressField(help_text="Lowest IP address belonging to the range.", required=True) + maxAddress = serializers.IPAddressField(help_text="Highest IP address belonging to the range.", required=True) + + +class _IpAddress(serializers.Serializer): + type = serializers.ChoiceField(help_text="The type of the IP addresses.", required=True, choices=["IPV4", "IPV6"]) + fixedAddresses = serializers.ListField(child=serializers.CharField(help_text="Fixed addresses to assign."), required=False) + numDynamicAddresses = serializers.IntegerField(help_text="Number of dynamic addresses to assign.", required=False) + addressRange = _AddressRange(help_text="An IP address range to be used.", required=False) + subnetId = serializers.CharField(help_text="Subnet defined by the identifier of the subnet resource in the VIM.", required=False, allow_null=True, allow_blank=True) + + +class _IpOverEthernetSerializer(serializers.Serializer): + macAddress = serializers.CharField(help_text="MAC address.", required=False, allow_null=True, allow_blank=True) + ipAddresses = _IpAddress(help_text="List of IP addresses to assign to the extCP instance.", required=False, many=True) + + +class _CpProtocolInfoSerializer(serializers.Serializer): + layerProtocol = serializers.ChoiceField( + help_text="The identifier of layer(s) and protocol(s) associated to the network address information.", + choices=["IP_OVER_ETHERNET"], + required=True, + allow_null=False) + ipOverEthernet = _IpOverEthernetSerializer( + help_text="IP addresses over Ethernet to assign to the extCP instance.", + required=False, + allow_null=True) + + +class _PnfExtCpData(serializers.Serializer): + cpInstanceId = serializers.CharField(help_text="Identifier of the CP", required=False, allow_null=True, allow_blank=True) + cpdId = serializers.CharField(help_text="Identifier of the Connection Point Descriptor", required=False, allow_null=True, allow_blank=True) + cpProtocolData = _CpProtocolInfoSerializer(help_text="Address assigned for this CP", required=True, allow_null=False, many=True) + + +class _AddPnfData(serializers.Serializer): + pnfId = serializers.CharField(help_text="Identifier of the PNF", required=True, allow_null=False, allow_blank=True) + pnfName = serializers.CharField(help_text="Name of the PNF", required=True, allow_null=True, allow_blank=True) + pnfdId = serializers.CharField(help_text="Identifier of the PNFD", required=True, allow_null=False, allow_blank=True) + pnfProfileId = serializers.CharField(help_text="Identifier of related PnfProfile in the NSD", required=True, allow_null=False, allow_blank=True) + cpData = _PnfExtCpData(help_text="Address assigned for the PNF external CP", required=False, many=True) + + +class _InstantNsReqSerializer(serializers.Serializer): + locationConstraints = _LocationConstraintSerializer(help_text="Location constraints", required=False, many=True) + additionalParamForNs = serializers.DictField( + help_text="Additional param for NS", + child=serializers.CharField(help_text="KeyValue Pairs", allow_blank=True), + required=False, + allow_null=True + ) + addpnfData = _AddPnfData(help_text="Information on the PNF", required=False, many=True) + + +class _NsOperateJobSerializer(serializers.Serializer): + jobId = serializers.CharField(help_text="ID of NS operate job", required=True) + + +class _TerminateNsReqSerializer(serializers.Serializer): + terminationType = serializers.CharField(help_text="Type of NS termination", required=False, allow_null=True, allow_blank=True) + gracefulTerminationTimeout = serializers.CharField(help_text="Timeout of NS graceful termination", required=False, allow_null=True, allow_blank=True) + + +class _ActionVmSerializer(serializers.Serializer): + vmid = serializers.CharField(help_text="ID of VM", required=False, allow_null=True, allow_blank=True) + vduid = serializers.CharField(help_text="ID of vdu", required=False, allow_null=True, allow_blank=True) + vmname = serializers.CharField(help_text="Name of VM", required=False, allow_null=True, allow_blank=True) + + +class _HealNsAdditionalParamsSerializer(serializers.Serializer): + action = serializers.CharField(help_text="Action of NS heal", required=False, allow_null=True, allow_blank=True) + actionvminfo = _ActionVmSerializer(help_text="VM info of action", required=False, allow_null=True) + + +class _HealVnfDataSerializer(serializers.Serializer): + vnfInstanceId = serializers.CharField(help_text="ID of VNF Instance", required=True) + cause = serializers.CharField(help_text="Cause of NS heal", required=False, allow_null=True, allow_blank=True) + additionalParams = _HealNsAdditionalParamsSerializer(help_text="Additional params of NS heal", required=False, allow_null=True) + + +class _HealNsDataSerializer(serializers.Serializer): + degreeHealing = serializers.ChoiceField(help_text="degree of healing", choices=["HEAL_RESTORE", "HEAL_QOS", "HEAL_RESET", "PARTIAL_HEALING"], required=True) + actionsHealing = serializers.ListField( + help_text="A list of actions", + child=serializers.CharField(help_text="One action", required=True), + required=False) + healScript = serializers.CharField(help_text="script of NS heal", required=False, allow_null=True, allow_blank=True) + additionalParamsforNs = serializers.CharField(help_text="Addition params of NS heal", required=False, allow_null=True, allow_blank=True) + + +class _HealNsReqSerializer(serializers.Serializer): + healVnfData = _HealVnfDataSerializer(help_text="Data of heal VNF", required=False, allow_null=True) + healNsData = _HealNsDataSerializer(help_text="Data of heal NS", required=False, allow_null=True) + + +class _InstNsPostDealReqSerializer(serializers.Serializer): + status = serializers.CharField(help_text="Status of NS Inst", required=True) + + +class _ScaleNsByStepsSerializer(serializers.Serializer): + aspectId = serializers.CharField(help_text="ID of aspect", required=True) + numberOfSteps = serializers.CharField(help_text="Number of steps", required=True) + scalingDirection = serializers.CharField(help_text="Scaling direction", required=True) + + +class _ScaleNsDataSerializer(serializers.Serializer): + scaleNsByStepsData = _ScaleNsByStepsSerializer(help_text="Scale NS by steps data", many=True) + + +class _ManualScaleNsReqSerializer(serializers.Serializer): + scaleType = serializers.CharField(help_text="Type of NS Scale", required=True) + scaleNsData = _ScaleNsDataSerializer(help_text="Scale NS data", many=True) diff --git a/lcm/ns/serializers/sol/__init__.py b/lcm/ns/serializers/sol/__init__.py new file mode 100644 index 00000000..0c847b7d --- /dev/null +++ b/lcm/ns/serializers/sol/__init__.py @@ -0,0 +1,13 @@ +# 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. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. diff --git a/lcm/ns/serializers/affected_nss.py b/lcm/ns/serializers/sol/affected_nss.py index 208e311b..208e311b 100644 --- a/lcm/ns/serializers/affected_nss.py +++ b/lcm/ns/serializers/sol/affected_nss.py diff --git a/lcm/ns/serializers/affected_pnfs.py b/lcm/ns/serializers/sol/affected_pnfs.py index 4b01f6d7..4b01f6d7 100644 --- a/lcm/ns/serializers/affected_pnfs.py +++ b/lcm/ns/serializers/sol/affected_pnfs.py diff --git a/lcm/ns/serializers/affected_saps.py b/lcm/ns/serializers/sol/affected_saps.py index eadd287e..eadd287e 100644 --- a/lcm/ns/serializers/affected_saps.py +++ b/lcm/ns/serializers/sol/affected_saps.py diff --git a/lcm/ns/serializers/affected_vls.py b/lcm/ns/serializers/sol/affected_vls.py index 26e0c9b1..26e0c9b1 100644 --- a/lcm/ns/serializers/affected_vls.py +++ b/lcm/ns/serializers/sol/affected_vls.py diff --git a/lcm/ns/serializers/affected_vnffgs.py b/lcm/ns/serializers/sol/affected_vnffgs.py index 63e90278..63e90278 100644 --- a/lcm/ns/serializers/affected_vnffgs.py +++ b/lcm/ns/serializers/sol/affected_vnffgs.py diff --git a/lcm/ns/serializers/affected_vnfs.py b/lcm/ns/serializers/sol/affected_vnfs.py index 972c3dee..c4d9a2bc 100644 --- a/lcm/ns/serializers/affected_vnfs.py +++ b/lcm/ns/serializers/sol/affected_vnfs.py @@ -14,11 +14,10 @@ from rest_framework import serializers -from lcm.ns.serializers.update_serializers import ModifyVnfInfoDataSerializer -from ext_virtual_link_info import ExtVirtualLinkInfoSerializer from lcm.ns.const import CHANGE_TYPES, CHANGE_RESULT - +from lcm.ns.serializers.sol.ext_virtual_link_info import ExtVirtualLinkInfoSerializer +from lcm.ns.serializers.sol.update_serializers import ModifyVnfInfoDataSerializer CHANGE_TYPE = [ CHANGE_TYPES.ADD, diff --git a/lcm/ns/serializers/create_ns_serializers.py b/lcm/ns/serializers/sol/create_ns_serializers.py index ad5899f1..915323ce 100644 --- a/lcm/ns/serializers/create_ns_serializers.py +++ b/lcm/ns/serializers/sol/create_ns_serializers.py @@ -14,22 +14,15 @@ from rest_framework import serializers -from lcm.ns.serializers.pub_serializers import Links, ipAddressesSerializer, CpProtocolDataSerializer -from resource_handle import ResourceHandleSerializer +from lcm.ns.serializers.sol.pub_serializers import Links, ipAddressesSerializer, CpProtocolDataSerializer +from lcm.ns.serializers.sol.resource_handle import ResourceHandleSerializer -class ContextSerializer(serializers.Serializer): - globalCustomerId = serializers.CharField(help_text="Global customer ID", required=False, allow_null=True) - serviceType = serializers.CharField(help_text="Service type", required=False, allow_null=True) - - -class CreateNsReqSerializer(serializers.Serializer): - csarId = serializers.CharField(help_text="Package ID of NS", required=False, allow_null=True) +class CreateNsRequestSerializer(serializers.Serializer): nsdId = serializers.CharField(help_text="Identifier of the NSD that defines the NS instance to be" "created.", required=True, allow_null=False) nsName = serializers.CharField(help_text="Name of NS", required=False, allow_null=True) nsDescription = serializers.CharField(help_text="Description of NS", required=False, allow_null=True) - context = ContextSerializer(help_text="Context of NS", required=False) class VnfInstanceSerializer(serializers.Serializer): @@ -64,19 +57,6 @@ class PnfInfoSerializer(serializers.Serializer): required=True, many=True) -# class ResourceHandleSerializer(serializers.Serializer): -# vimId = serializers.CharField(help_text="Identifier of the VIM under whose control this resource is" -# "placed.", required=False, allow_null=True) -# resourceProviderId = serializers.CharField(help_text="Identifier of the entity responsible for the" -# "management of the resource", required=False, -# allow_null=True) -# resourceId = serializers.CharField(help_text="Identifier of the resource in the scope of the VIM or the " -# "resource provider.", required=True) -# vimLevelResourceType = serializers.CharField(help_text="Type of the resource in the scope of the VIM or" -# "the resource provider", -# required=False, allow_null=True) - - class NsVirtualLinkInfoSerializer(serializers.Serializer): id = serializers.CharField(help_text="Identifier of the VL instance.", required=True) nsVirtualLinkDescId = serializers.CharField(help_text="Identifier of the VLD in the NSD.", required=True) diff --git a/lcm/ns/serializers/ext_link_port_info.py b/lcm/ns/serializers/sol/ext_link_port_info.py index e2ca15b2..fc13f82f 100644 --- a/lcm/ns/serializers/ext_link_port_info.py +++ b/lcm/ns/serializers/sol/ext_link_port_info.py @@ -14,7 +14,7 @@ from rest_framework import serializers -from resource_handle import ResourceHandleSerializer +from lcm.ns.serializers.sol.resource_handle import ResourceHandleSerializer class ExtlinkPortInfoSerializer(serializers.Serializer): diff --git a/lcm/ns/serializers/ext_virtual_link_info.py b/lcm/ns/serializers/sol/ext_virtual_link_info.py index 7e67e6fc..edb8004c 100644 --- a/lcm/ns/serializers/ext_virtual_link_info.py +++ b/lcm/ns/serializers/sol/ext_virtual_link_info.py @@ -14,8 +14,8 @@ from rest_framework import serializers -from resource_handle import ResourceHandleSerializer -from ext_link_port_info import ExtlinkPortInfoSerializer +from lcm.ns.serializers.sol.ext_link_port_info import ExtlinkPortInfoSerializer +from lcm.ns.serializers.sol.resource_handle import ResourceHandleSerializer class ExtVirtualLinkInfoSerializer(serializers.Serializer): diff --git a/lcm/ns/serializers/heal_serializers.py b/lcm/ns/serializers/sol/heal_serializers.py index a935fded..a935fded 100644 --- a/lcm/ns/serializers/heal_serializers.py +++ b/lcm/ns/serializers/sol/heal_serializers.py diff --git a/lcm/ns/serializers/inst_ns_serializers.py b/lcm/ns/serializers/sol/inst_ns_serializers.py index bd67a762..5f189c68 100644 --- a/lcm/ns/serializers/inst_ns_serializers.py +++ b/lcm/ns/serializers/sol/inst_ns_serializers.py @@ -14,8 +14,8 @@ from rest_framework import serializers -from lcm.ns.serializers.update_serializers import AddPnfDataSerializer, VnfInstanceDataSerializer, SapDataSerializer -from lcm.ns.serializers.create_ns_serializers import AffinityOrAntiAffinityRuleSerializer +from lcm.ns.serializers.sol.create_ns_serializers import AffinityOrAntiAffinityRuleSerializer +from lcm.ns.serializers.sol.update_serializers import AddPnfDataSerializer, VnfInstanceDataSerializer, SapDataSerializer class civicAddressElementSerializer(serializers.Serializer): diff --git a/lcm/ns/serializers/lccn_filter_data.py b/lcm/ns/serializers/sol/lccn_filter_data.py index fe4c8304..fe4c8304 100644 --- a/lcm/ns/serializers/lccn_filter_data.py +++ b/lcm/ns/serializers/sol/lccn_filter_data.py diff --git a/lcm/ns/serializers/lccn_subscription.py b/lcm/ns/serializers/sol/lccn_subscription.py index d639656c..5211784f 100644 --- a/lcm/ns/serializers/lccn_subscription.py +++ b/lcm/ns/serializers/sol/lccn_subscription.py @@ -14,8 +14,8 @@ from rest_framework import serializers -from link import linkSerializer -from lccn_filter_data import LifeCycleChangeNotificationsFilter +from lcm.ns.serializers.sol.lccn_filter_data import LifeCycleChangeNotificationsFilter +from lcm.ns.serializers.sol.link import linkSerializer class LinkSerializer(serializers.Serializer): diff --git a/lcm/ns/serializers/lccn_subscription_request.py b/lcm/ns/serializers/sol/lccn_subscription_request.py index 9a5437ef..9c119295 100644 --- a/lcm/ns/serializers/lccn_subscription_request.py +++ b/lcm/ns/serializers/sol/lccn_subscription_request.py @@ -14,8 +14,8 @@ from rest_framework import serializers -from lccn_filter_data import LifeCycleChangeNotificationsFilter -from subscription_auth_data import SubscriptionAuthenticationSerializer +from lcm.ns.serializers.sol.lccn_filter_data import LifeCycleChangeNotificationsFilter +from lcm.ns.serializers.sol.subscription_auth_data import SubscriptionAuthenticationSerializer class LccnSubscriptionRequestSerializer(serializers.Serializer): diff --git a/lcm/ns/serializers/lccn_subscriptions.py b/lcm/ns/serializers/sol/lccn_subscriptions.py index 82a80384..82a80384 100644 --- a/lcm/ns/serializers/lccn_subscriptions.py +++ b/lcm/ns/serializers/sol/lccn_subscriptions.py diff --git a/lcm/ns/serializers/link.py b/lcm/ns/serializers/sol/link.py index a976f6a7..a976f6a7 100644 --- a/lcm/ns/serializers/link.py +++ b/lcm/ns/serializers/sol/link.py diff --git a/lcm/ns/serializers/ns_instance_subscription_filter.py b/lcm/ns/serializers/sol/ns_instance_subscription_filter.py index eb1d040e..eb1d040e 100644 --- a/lcm/ns/serializers/ns_instance_subscription_filter.py +++ b/lcm/ns/serializers/sol/ns_instance_subscription_filter.py diff --git a/lcm/ns/serializers/ns_lcm_op_occ.py b/lcm/ns/serializers/sol/ns_lcm_op_occ.py index afe4e3ed..b68486df 100644 --- a/lcm/ns/serializers/ns_lcm_op_occ.py +++ b/lcm/ns/serializers/sol/ns_lcm_op_occ.py @@ -15,16 +15,15 @@ from rest_framework import serializers -from affected_vnfs import AffectedVnfsSerializer -from affected_pnfs import AffectedPnfsSerializer -from affected_vls import AffectedVLsSerializer -from affected_vnffgs import AffectedVnffgsSerializer -from affected_nss import AffectedNssSerializer -from affected_saps import AffectedSapsSerializer - -from link import linkSerializer -from response import ProblemDetailsSerializer from lcm.ns import const +from lcm.ns.serializers.sol.affected_nss import AffectedNssSerializer +from lcm.ns.serializers.sol.affected_pnfs import AffectedPnfsSerializer +from lcm.ns.serializers.sol.affected_saps import AffectedSapsSerializer +from lcm.ns.serializers.sol.affected_vls import AffectedVLsSerializer +from lcm.ns.serializers.sol.affected_vnffgs import AffectedVnffgsSerializer +from lcm.ns.serializers.sol.affected_vnfs import AffectedVnfsSerializer +from lcm.ns.serializers.sol.link import linkSerializer +from lcm.ns.serializers.sol.response import ProblemDetailsSerializer class ResourceChangesSerializer(serializers.Serializer): diff --git a/lcm/ns/serializers/ns_lcm_op_occs.py b/lcm/ns/serializers/sol/ns_lcm_op_occs.py index cede4e39..cede4e39 100644 --- a/lcm/ns/serializers/ns_lcm_op_occs.py +++ b/lcm/ns/serializers/sol/ns_lcm_op_occs.py diff --git a/lcm/ns/serializers/pub_serializers.py b/lcm/ns/serializers/sol/pub_serializers.py index 33973a70..7cca5984 100644 --- a/lcm/ns/serializers/pub_serializers.py +++ b/lcm/ns/serializers/sol/pub_serializers.py @@ -13,7 +13,8 @@ # limitations under the License. from rest_framework import serializers -from link import linkSerializer + +from lcm.ns.serializers.sol.link import linkSerializer from lcm.ns_pnfs.serializers.pnf_serializer import PnfInstanceSerializer diff --git a/lcm/ns/serializers/resource_handle.py b/lcm/ns/serializers/sol/resource_handle.py index 79ec53b4..79ec53b4 100644 --- a/lcm/ns/serializers/resource_handle.py +++ b/lcm/ns/serializers/sol/resource_handle.py diff --git a/lcm/ns/serializers/response.py b/lcm/ns/serializers/sol/response.py index b6f269cc..b6f269cc 100644 --- a/lcm/ns/serializers/response.py +++ b/lcm/ns/serializers/sol/response.py diff --git a/lcm/ns/serializers/scale_ns_serializers.py b/lcm/ns/serializers/sol/scale_ns_serializers.py index 2a8c597f..97219cf5 100644 --- a/lcm/ns/serializers/scale_ns_serializers.py +++ b/lcm/ns/serializers/sol/scale_ns_serializers.py @@ -13,9 +13,10 @@ # limitations under the License. from rest_framework import serializers -from lcm.ns.serializers.update_serializers import VnfInstanceDataSerializer -from lcm.ns.serializers.create_ns_serializers import NsScaleInfoSerializer -from lcm.ns.serializers.inst_ns_serializers import VnfLocationConstraintSerializer, ParamsForVnfSerializer + +from lcm.ns.serializers.sol.create_ns_serializers import NsScaleInfoSerializer +from lcm.ns.serializers.sol.inst_ns_serializers import VnfLocationConstraintSerializer, ParamsForVnfSerializer +from lcm.ns.serializers.sol.update_serializers import VnfInstanceDataSerializer # class VnfInstanceDataSerializer(serializers.Serializer): diff --git a/lcm/ns/serializers/subscription_auth_data.py b/lcm/ns/serializers/sol/subscription_auth_data.py index d5680b05..d5680b05 100644 --- a/lcm/ns/serializers/subscription_auth_data.py +++ b/lcm/ns/serializers/sol/subscription_auth_data.py diff --git a/lcm/ns/serializers/update_serializers.py b/lcm/ns/serializers/sol/update_serializers.py index 58a056e6..f6079a52 100644 --- a/lcm/ns/serializers/update_serializers.py +++ b/lcm/ns/serializers/sol/update_serializers.py @@ -14,10 +14,10 @@ from rest_framework import serializers -from lcm.ns.serializers.pub_serializers import IpAddressSerialzier -from lcm.ns.serializers.pub_serializers import CpProtocolDataSerializer -from lcm.ns.serializers.create_ns_serializers import ResourceHandleSerializer, NsCpHandleSerializer, \ +from lcm.ns.serializers.sol.create_ns_serializers import ResourceHandleSerializer, NsCpHandleSerializer, \ NfpRuleSerializer +from lcm.ns.serializers.sol.pub_serializers import CpProtocolDataSerializer +from lcm.ns.serializers.sol.pub_serializers import IpAddressSerialzier class VnfInstanceDataSerializer(serializers.Serializer): diff --git a/lcm/ns/serializers/terminate_ns_serializer.py b/lcm/ns/serializers/terminate_ns_serializer.py deleted file mode 100644 index d669a6b8..00000000 --- a/lcm/ns/serializers/terminate_ns_serializer.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (c) 2019, CMCC Technologies Co., Ltd. - -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at - -# http://www.apache.org/licenses/LICENSE-2.0 - -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from rest_framework import serializers - - -class TerminateNsReqSerializer(serializers.Serializer): - terminationType = serializers.CharField(help_text="Type of NS termination", - required=False, allow_null=True, allow_blank=True) - gracefulTerminationTimeout = serializers.CharField(help_text="Timeout of NS graceful termination", - required=False, allow_null=True, allow_blank=True) diff --git a/lcm/ns/urls.py b/lcm/ns/urls.py index 0a12ed7e..86b8ac01 100644 --- a/lcm/ns/urls.py +++ b/lcm/ns/urls.py @@ -11,21 +11,23 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + from django.conf.urls import url +from lcm.ns.views.sol.scale_ns_views import NSManualScaleView +from lcm.ns.views.sol.update_ns_view import NSUpdateView from rest_framework.urlpatterns import format_suffix_patterns from lcm.ns.views.deprecated.create_ns_view import CreateNSView from lcm.ns.views.deprecated.get_del_ns_view import NSDetailView +from lcm.ns.views.deprecated.inst_ns_post_deal_view import NSInstPostDealView from lcm.ns.views.deprecated.inst_ns_view import NSInstView from lcm.ns.views.deprecated.term_ns_view import TerminateNSView +from lcm.ns.views.sol.heal_ns_view import NSHealView +from lcm.ns.views.sol.lcm_op_occs_view import QueryMultiNsLcmOpOccs, QuerySingleNsLcmOpOcc from lcm.ns.views.sol.ns_instances_views import NSInstancesView, IndividualNsInstanceView -from lcm.ns.views.sol.nslcm_op_views import InstantiateNsView, TerminateNsView -from lcm.ns.views.heal_ns_view import NSHealView -from lcm.ns.views.inst_ns_post_deal_view import NSInstPostDealView -from lcm.ns.views.lcm_op_occs_view import QueryMultiNsLcmOpOccs, QuerySingleNsLcmOpOcc -from lcm.ns.views.scale_ns_views import NSManualScaleView -from lcm.ns.views.subscriptions_view import SubscriptionsView -from lcm.ns.views.update_ns_view import NSUpdateView +from lcm.ns.views.sol.instantiate_ns_views import InstantiateNsView +from lcm.ns.views.sol.terminate_ns_view import TerminateNsView +from lcm.ns.views.sol.subscriptions_view import SubscriptionsView urlpatterns = [ # API will be deprecated in the future release @@ -36,8 +38,6 @@ urlpatterns = [ url(r'^api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/postdeal$', NSInstPostDealView.as_view()), url(r'^api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/scale$', NSManualScaleView.as_view()), url(r'^api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/heal$', NSHealView.as_view()), - url(r'^api/nslcm/v1/ns_lcm_op_occs$', QueryMultiNsLcmOpOccs.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/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/update$', NSUpdateView.as_view()), # SOL005 URL API definition @@ -46,6 +46,8 @@ urlpatterns = [ 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_instances$/(?P<ns_instance_id>[0-9a-zA-Z_-]+)$', IndividualNsInstanceView.as_view()), url(r'^api/nslcm/v1/subscriptions$', SubscriptionsView.as_view()), + url(r'^api/nslcm/v1/ns_lcm_op_occs$', QueryMultiNsLcmOpOccs.as_view()), + url(r'^api/nslcm/v1/ns_lcm_op_occs/(?P<lcmopoccid>[0-9a-zA-Z_-]+)$', QuerySingleNsLcmOpOcc.as_view()), ] diff --git a/lcm/ns/views/deprecated/create_ns_view.py b/lcm/ns/views/deprecated/create_ns_view.py index e03ed959..ae07d14f 100644 --- a/lcm/ns/views/deprecated/create_ns_view.py +++ b/lcm/ns/views/deprecated/create_ns_view.py @@ -14,15 +14,14 @@ import logging import traceback +from drf_yasg.utils import swagger_auto_schema from rest_framework import status from rest_framework.response import Response from rest_framework.views import APIView -from drf_yasg.utils import swagger_auto_schema from lcm.ns.biz.ns_create import CreateNSService from lcm.ns.biz.ns_get import GetNSInfoService -from lcm.ns.serializers.create_ns_serializers import CreateNsReqSerializer, CreateNsRespSerializer -from lcm.ns.serializers.pub_serializers import QueryNsRespSerializer +from lcm.ns.serializers.deprecated.ns_serializers import _CreateNsReqSerializer, _CreateNsRespSerializer, _QueryNsRespSerializer from lcm.pub.exceptions import NSLCMException from lcm.pub.utils.values import ignore_case_get @@ -33,7 +32,7 @@ class CreateNSView(APIView): @swagger_auto_schema( request_body=None, responses={ - status.HTTP_200_OK: QueryNsRespSerializer(help_text="NS instances", many=True), + status.HTTP_200_OK: _QueryNsRespSerializer(help_text="NS instances", many=True), status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error" } ) @@ -42,7 +41,7 @@ class CreateNSView(APIView): logger.debug("CreateNSView::get") ret = GetNSInfoService().get_ns_info() logger.debug("CreateNSView::get::ret=%s", ret) - resp_serializer = QueryNsRespSerializer(data=ret, many=True) + resp_serializer = _QueryNsRespSerializer(data=ret, many=True) if not resp_serializer.is_valid(): raise NSLCMException(resp_serializer.errors) return Response(data=resp_serializer.data, status=status.HTTP_200_OK) @@ -52,16 +51,16 @@ class CreateNSView(APIView): return Response(data={'error': e.message}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) @swagger_auto_schema( - request_body=CreateNsReqSerializer(), + request_body=_CreateNsReqSerializer(), responses={ - status.HTTP_201_CREATED: CreateNsRespSerializer(), + status.HTTP_201_CREATED: _CreateNsRespSerializer(), status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error" } ) def post(self, request): logger.debug("Enter CreateNS: %s", request.data) try: - req_serializer = CreateNsReqSerializer(data=request.data) + req_serializer = _CreateNsReqSerializer(data=request.data) if not req_serializer.is_valid(): raise NSLCMException(req_serializer.errors) @@ -74,7 +73,7 @@ class CreateNSView(APIView): ns_inst_id = CreateNSService(csar_id, ns_name, description, context).do_biz() logger.debug("CreateNSView::post::ret={'nsInstanceId':%s}", ns_inst_id) - resp_serializer = CreateNsRespSerializer( + resp_serializer = _CreateNsRespSerializer( data={'nsInstanceId': ns_inst_id, 'nsInstanceName': 'nsInstanceName', 'nsInstanceDescription': 'nsInstanceDescription', diff --git a/lcm/ns/views/deprecated/get_del_ns_view.py b/lcm/ns/views/deprecated/get_del_ns_view.py index ce0692ec..da403b0b 100644 --- a/lcm/ns/views/deprecated/get_del_ns_view.py +++ b/lcm/ns/views/deprecated/get_del_ns_view.py @@ -14,15 +14,15 @@ import logging import traceback +from drf_yasg.utils import swagger_auto_schema from rest_framework import status from rest_framework.response import Response from rest_framework.views import APIView -from drf_yasg.utils import swagger_auto_schema -from lcm.ns.biz.ns_get import GetNSInfoService from lcm.ns.biz.ns_delete import DeleteNsService -from lcm.ns.serializers.pub_serializers import QueryNsRespSerializer +from lcm.ns.biz.ns_get import GetNSInfoService from lcm.pub.exceptions import NSLCMException +from lcm.ns.serializers.deprecated.ns_serializers import _QueryNsRespSerializer logger = logging.getLogger(__name__) @@ -31,7 +31,7 @@ class NSDetailView(APIView): @swagger_auto_schema( request_body=None, responses={ - status.HTTP_200_OK: QueryNsRespSerializer(help_text="NS instance", many=True), + status.HTTP_200_OK: _QueryNsRespSerializer(help_text="NS instance", many=True), status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error", status.HTTP_404_NOT_FOUND: "Ns instance does not exist" } @@ -44,7 +44,7 @@ class NSDetailView(APIView): if not ret: return Response(status=status.HTTP_404_NOT_FOUND) logger.debug("Leave NSDetailView::get::ret=%s", ret) - resp_serializer = QueryNsRespSerializer(data=ret[0]) + resp_serializer = _QueryNsRespSerializer(data=ret[0]) if not resp_serializer.is_valid(): raise NSLCMException(resp_serializer.errors) return Response(data=resp_serializer.data, status=status.HTTP_200_OK) diff --git a/lcm/ns/views/inst_ns_post_deal_view.py b/lcm/ns/views/deprecated/inst_ns_post_deal_view.py index 865b4497..b87a7ba1 100644 --- a/lcm/ns/views/inst_ns_post_deal_view.py +++ b/lcm/ns/views/deprecated/inst_ns_post_deal_view.py @@ -11,16 +11,17 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + import json import logging import traceback +from drf_yasg.utils import swagger_auto_schema from rest_framework import status from rest_framework.response import Response from rest_framework.views import APIView -from drf_yasg.utils import swagger_auto_schema -from lcm.ns.serializers.inst_ns_serializers import InstNsPostDealReqSerializer +from lcm.ns.serializers.deprecated.ns_serializers import _InstNsPostDealReqSerializer from lcm.pub.database.models import NSInstModel, ServiceBaseInfoModel from lcm.pub.exceptions import NSLCMException from lcm.pub.utils.restcall import req_by_msb @@ -31,7 +32,7 @@ logger = logging.getLogger(__name__) class NSInstPostDealView(APIView): @swagger_auto_schema( - request_body=InstNsPostDealReqSerializer(help_text="NS instant post deal"), + request_body=_InstNsPostDealReqSerializer(help_text="NS instant post deal"), responses={ status.HTTP_202_ACCEPTED: "NS instant post deal success", status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error" @@ -43,7 +44,7 @@ class NSInstPostDealView(APIView): ns_status = 'ACTIVE' if ns_post_status == 'true' else 'FAILED' ns_opr_status = 'success' if ns_post_status == 'true' else 'failed' try: - req_serializer = InstNsPostDealReqSerializer(data=request.data) + req_serializer = _InstNsPostDealReqSerializer(data=request.data) if not req_serializer.is_valid(): raise NSLCMException(req_serializer.errors) NSInstModel.objects.filter(id=ns_instance_id).update(status=ns_status) diff --git a/lcm/ns/views/deprecated/inst_ns_view.py b/lcm/ns/views/deprecated/inst_ns_view.py index eddd9a97..45c0270f 100644 --- a/lcm/ns/views/deprecated/inst_ns_view.py +++ b/lcm/ns/views/deprecated/inst_ns_view.py @@ -13,30 +13,29 @@ # limitations under the License. import logging +from drf_yasg.utils import swagger_auto_schema from rest_framework import status from rest_framework.response import Response from rest_framework.views import APIView -from drf_yasg.utils import swagger_auto_schema from lcm.ns.biz.ns_instant import InstantNSService -from lcm.ns.serializers.inst_ns_serializers import InstantNsReqSerializer -from lcm.ns.serializers.pub_serializers import NsOperateJobSerializer +from lcm.ns.serializers.deprecated.ns_serializers import _InstantNsReqSerializer, _NsOperateJobSerializer logger = logging.getLogger(__name__) class NSInstView(APIView): @swagger_auto_schema( - request_body=InstantNsReqSerializer(), + request_body=_InstantNsReqSerializer(), responses={ - status.HTTP_200_OK: NsOperateJobSerializer(), + status.HTTP_200_OK: _NsOperateJobSerializer(), status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error" } ) def post(self, request, ns_instance_id): logger.debug("Enter NSInstView::post::ns_instance_id=%s", ns_instance_id) logger.debug("request.data=%s", request.data) - req_serializer = InstantNsReqSerializer(data=request.data) + req_serializer = _InstantNsReqSerializer(data=request.data) if not req_serializer.is_valid(): logger.debug("request.data is not valid,error: %s" % req_serializer.errors) return Response({'error': req_serializer.errors}, diff --git a/lcm/ns/views/deprecated/term_ns_view.py b/lcm/ns/views/deprecated/term_ns_view.py index 0ae655b6..fd78b95a 100644 --- a/lcm/ns/views/deprecated/term_ns_view.py +++ b/lcm/ns/views/deprecated/term_ns_view.py @@ -13,33 +13,32 @@ # limitations under the License. import logging +from drf_yasg.utils import swagger_auto_schema from rest_framework import status from rest_framework.response import Response from rest_framework.views import APIView -from drf_yasg.utils import swagger_auto_schema from lcm.ns.biz.ns_terminate import TerminateNsService -from lcm.ns.serializers.pub_serializers import NsOperateJobSerializer -from lcm.ns.serializers.terminate_ns_serializer import TerminateNsReqSerializer from lcm.pub.exceptions import NSLCMException from lcm.pub.utils.jobutil import JobUtil, JOB_TYPE from lcm.pub.utils.values import ignore_case_get +from lcm.ns.serializers.deprecated.ns_serializers import _TerminateNsReqSerializer, _NsOperateJobSerializer logger = logging.getLogger(__name__) class TerminateNSView(APIView): @swagger_auto_schema( - request_body=TerminateNsReqSerializer(), + request_body=_TerminateNsReqSerializer(), responses={ - status.HTTP_202_ACCEPTED: NsOperateJobSerializer(), + status.HTTP_202_ACCEPTED: _NsOperateJobSerializer(), status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error" } ) def post(self, request, ns_instance_id): try: logger.debug("Enter TerminateNSView::post %s", request.data) - req_serializer = TerminateNsReqSerializer(data=request.data) + req_serializer = _TerminateNsReqSerializer(data=request.data) if not req_serializer.is_valid(): raise NSLCMException(req_serializer.errors) @@ -48,7 +47,7 @@ class TerminateNSView(APIView): job_id = JobUtil.create_job("NS", JOB_TYPE.TERMINATE_NS, ns_instance_id) TerminateNsService(ns_instance_id, termination_type, graceful_termination_timeout, job_id).start() - resp_serializer = NsOperateJobSerializer(data={'jobId': job_id}) + resp_serializer = _NsOperateJobSerializer(data={'jobId': job_id}) if not resp_serializer.is_valid(): raise NSLCMException(resp_serializer.errors) logger.debug("Leave TerminateNSView::post ret=%s", resp_serializer.data) diff --git a/lcm/ns/views/heal_ns_view.py b/lcm/ns/views/sol/heal_ns_view.py index 9133b8ef..6cd15828 100644 --- a/lcm/ns/views/heal_ns_view.py +++ b/lcm/ns/views/sol/heal_ns_view.py @@ -13,14 +13,14 @@ # limitations under the License. import logging +from drf_yasg.utils import swagger_auto_schema from rest_framework import status from rest_framework.response import Response from rest_framework.views import APIView -from drf_yasg.utils import swagger_auto_schema from lcm.ns.biz.ns_heal import NSHealService -from lcm.ns.serializers.heal_serializers import HealNsReqSerializer -from lcm.ns.serializers.pub_serializers import NsOperateJobSerializer +from lcm.ns.serializers.sol.heal_serializers import HealNsReqSerializer +from lcm.ns.serializers.sol.pub_serializers import NsOperateJobSerializer from lcm.pub.exceptions import NSLCMException from lcm.pub.utils.jobutil import JobUtil, JOB_TYPE diff --git a/lcm/ns/views/sol/nslcm_op_views.py b/lcm/ns/views/sol/instantiate_ns_views.py index 9e165c4c..104a8753 100644 --- a/lcm/ns/views/sol/nslcm_op_views.py +++ b/lcm/ns/views/sol/instantiate_ns_views.py @@ -24,25 +24,6 @@ class InstantiateNsView(APIView): return -class HealNsView(APIView): - - def post(self, request, id): - # todo - return - - -class ScaleNsView(APIView): - def post(self, request, id): - # todo - return - - -class UpdateNsView(APIView): - def post(self, request, id): - # todo - return - - class TerminateNsView(APIView): def post(self, request, id): # todo diff --git a/lcm/ns/views/lcm_op_occs_view.py b/lcm/ns/views/sol/lcm_op_occs_view.py index e2feb499..dd060a19 100644 --- a/lcm/ns/views/lcm_op_occs_view.py +++ b/lcm/ns/views/sol/lcm_op_occs_view.py @@ -16,14 +16,14 @@ import logging import traceback from drf_yasg.utils import swagger_auto_schema +from lcm.ns.serializers.sol.ns_lcm_op_occ import NSLCMOpOccSerializer from rest_framework import status from rest_framework.response import Response from rest_framework.views import APIView from lcm.ns.biz.query_ns_lcm_op_occ import QueryNsLcmOpOcc -from lcm.ns.serializers.response import ProblemDetailsSerializer -from lcm.ns.serializers.ns_lcm_op_occ import NSLCMOpOccSerializer -from lcm.ns.serializers.ns_lcm_op_occs import NSLCMOpOccsSerializer +from lcm.ns.serializers.sol.ns_lcm_op_occs import NSLCMOpOccsSerializer +from lcm.ns.serializers.sol.response import ProblemDetailsSerializer from lcm.pub.exceptions import NSLCMException logger = logging.getLogger(__name__) diff --git a/lcm/ns/views/sol/ns_instances_views.py b/lcm/ns/views/sol/ns_instances_views.py index 7ab324c0..60683ec8 100644 --- a/lcm/ns/views/sol/ns_instances_views.py +++ b/lcm/ns/views/sol/ns_instances_views.py @@ -19,14 +19,31 @@ from rest_framework import status from rest_framework.response import Response from rest_framework.views import APIView +from lcm.ns.serializers.sol.create_ns_serializers import CreateNsRequestSerializer, CreateNsRespSerializer +from lcm.ns.serializers.sol.pub_serializers import QueryNsRespSerializer + logger = logging.getLogger(__name__) class NSInstancesView(APIView): + @swagger_auto_schema( + request_body=None, + responses={ + status.HTTP_200_OK: QueryNsRespSerializer(help_text="NS instances", many=True), + status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error" + } + ) def get(self, request): logger.debug(request.query_params) # todo + @swagger_auto_schema( + request_body=CreateNsRequestSerializer(), + responses={ + status.HTTP_201_CREATED: CreateNsRespSerializer(), + status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error" + } + ) def post(self, request): logger.debug("Enter NSInstancesView::POST ns_instances %s", request.data) # todo diff --git a/lcm/ns/views/scale_ns_views.py b/lcm/ns/views/sol/scale_ns_views.py index 9b0da9e7..3a7e8314 100644 --- a/lcm/ns/views/scale_ns_views.py +++ b/lcm/ns/views/sol/scale_ns_views.py @@ -14,14 +14,14 @@ import logging import traceback +from drf_yasg.utils import swagger_auto_schema from rest_framework import status from rest_framework.response import Response from rest_framework.views import APIView -from drf_yasg.utils import swagger_auto_schema from lcm.ns.biz.ns_manual_scale import NSManualScaleService -from lcm.ns.serializers.scale_ns_serializers import ManualScaleNsReqSerializer -from lcm.ns.serializers.pub_serializers import NsOperateJobSerializer +from lcm.ns.serializers.sol.pub_serializers import NsOperateJobSerializer +from lcm.ns.serializers.sol.scale_ns_serializers import ManualScaleNsReqSerializer from lcm.pub.exceptions import NSLCMException from lcm.pub.utils.jobutil import JobUtil, JOB_TYPE diff --git a/lcm/ns/views/subscriptions_view.py b/lcm/ns/views/sol/subscriptions_view.py index a015839a..e66855b0 100644 --- a/lcm/ns/views/subscriptions_view.py +++ b/lcm/ns/views/sol/subscriptions_view.py @@ -18,16 +18,16 @@ import logging import traceback from drf_yasg.utils import swagger_auto_schema -from lcm.ns.biz.create_subscription import CreateSubscription -from lcm.ns.biz.query_subscription import QuerySubscription +from lcm.ns.serializers.sol.lccn_subscription import LccnSubscriptionSerializer +from lcm.ns.serializers.sol.lccn_subscriptions import LccnSubscriptionsSerializer from rest_framework import status from rest_framework.response import Response from rest_framework.views import APIView -from lcm.ns.serializers.lccn_subscription_request import LccnSubscriptionRequestSerializer -from lcm.ns.serializers.lccn_subscription import LccnSubscriptionSerializer -from lcm.ns.serializers.lccn_subscriptions import LccnSubscriptionsSerializer -from lcm.ns.serializers.response import ProblemDetailsSerializer +from lcm.ns.biz.create_subscription import CreateSubscription +from lcm.ns.biz.query_subscription import QuerySubscription +from lcm.ns.serializers.sol.lccn_subscription_request import LccnSubscriptionRequestSerializer +from lcm.ns.serializers.sol.response import ProblemDetailsSerializer from lcm.pub.exceptions import NSLCMException logger = logging.getLogger(__name__) diff --git a/lcm/ns/serializers/common_Link.py b/lcm/ns/views/sol/terminate_ns_view.py index a36ccedb..d6eed059 100644 --- a/lcm/ns/serializers/common_Link.py +++ b/lcm/ns/views/sol/terminate_ns_view.py @@ -1,19 +1,24 @@ -# Copyright (c) 2018, 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. # You may obtain a copy of the License at - -# http://www.apache.org/licenses/LICENSE-2.0 - +# +# http://www.apache.org/licenses/LICENSE-2.0 +# # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -from rest_framework import serializers +import logging +from rest_framework.views import APIView + +logger = logging.getLogger(__name__) -class LinkSerializer(serializers.Serializer): - href = serializers.CharField(help_text="URI of the referenced resource.", required=True) +class TerminateNsView(APIView): + def post(self, request, id): + # todo + return diff --git a/lcm/ns/views/update_ns_view.py b/lcm/ns/views/sol/update_ns_view.py index 9c2276d7..19a03c82 100644 --- a/lcm/ns/views/update_ns_view.py +++ b/lcm/ns/views/sol/update_ns_view.py @@ -14,13 +14,14 @@ import logging +from drf_yasg.utils import swagger_auto_schema from rest_framework import status from rest_framework.response import Response from rest_framework.views import APIView -from drf_yasg.utils import swagger_auto_schema + from lcm.ns.biz.ns_update import NSUpdateService -from lcm.ns.serializers.pub_serializers import NsOperateJobSerializer -from lcm.ns.serializers.update_serializers import UpdateNsReqSerializer +from lcm.ns.serializers.sol.pub_serializers import NsOperateJobSerializer +from lcm.ns.serializers.sol.update_serializers import UpdateNsReqSerializer from lcm.pub.exceptions import NSLCMException from lcm.pub.utils.jobutil import JobUtil, JOB_TYPE diff --git a/lcm/ns_vnfs/serializers/grant_vnf_serializer.py b/lcm/ns_vnfs/serializers/grant_vnf_serializer.py index fd98ee75..fcc81ff4 100644 --- a/lcm/ns_vnfs/serializers/grant_vnf_serializer.py +++ b/lcm/ns_vnfs/serializers/grant_vnf_serializer.py @@ -13,11 +13,13 @@ # limitations under the License. from rest_framework import serializers -from lcm.ns.serializers.resource_handle import ResourceHandleSerializer -from lcm.ns.serializers.link import linkSerializer -from lcm.ns.serializers.pub_serializers import AddressRangeSerializer -from lcm.ns.serializers.ext_virtual_link_info import ExtVirtualLinkInfoSerializer -from lcm.ns.serializers.response import ProblemDetailsSerializer + +from lcm.ns.serializers.sol.ext_virtual_link_info import ExtVirtualLinkInfoSerializer +from lcm.ns.serializers.sol.link import linkSerializer +from lcm.ns.serializers.sol.pub_serializers import AddressRangeSerializer +from lcm.ns.serializers.sol.resource_handle import ResourceHandleSerializer +from lcm.ns.serializers.sol.response import ProblemDetailsSerializer + # class ResourceHandleSerializer(serializers.Serializer): # vimConnectionId = serializers.CharField( |