aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormaopengzhang <zhang.maopeng1@zte.com.cn>2019-03-21 19:43:12 +0800
committermaopengzhang <zhang.maopeng1@zte.com.cn>2019-03-21 21:50:23 +0800
commita42b1d5797a2ae3fd6942afce23dae676f9f462e (patch)
tree19a4372973822156642df8dce12c9b8fc474d82c
parent33cccf1ce1c762bf0a26b3dbfb6ccc4b5b219c68 (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__.py13
-rw-r--r--lcm/ns/serializers/deprecated/ns_serializers.py196
-rw-r--r--lcm/ns/serializers/sol/__init__.py13
-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.py22
-rw-r--r--lcm/ns/urls.py20
-rw-r--r--lcm/ns/views/deprecated/create_ns_view.py17
-rw-r--r--lcm/ns/views/deprecated/get_del_ns_view.py10
-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.py11
-rw-r--r--lcm/ns/views/deprecated/term_ns_view.py13
-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.py17
-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.py12
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(