summaryrefslogtreecommitdiffstats
path: root/lcm/lcm/nf/biz/common.py
diff options
context:
space:
mode:
authorShobana Jothi <shobana.jothi@verizon.com>2018-08-29 11:45:57 +0530
committerShobana Jothi <shobana.jothi@verizon.com>2018-09-14 16:44:14 +0530
commit49b87c030e4ae60b141268f9c2f89b8010acd050 (patch)
treebf623da156ca38404f49e27d926906821ac7a742 /lcm/lcm/nf/biz/common.py
parent9975ee2ab76998715538fa3aeee377b947125b7e (diff)
Add Heal Api in GVNFM
Change-Id: If825c7a03cd38a6694d2cc0d28fbff391a3f4a95 Signed-off-by: Shobana Jothi<shobana.jothi@verizon.com> Issue-ID: VFC-995
Diffstat (limited to 'lcm/lcm/nf/biz/common.py')
-rw-r--r--lcm/lcm/nf/biz/common.py145
1 files changed, 145 insertions, 0 deletions
diff --git a/lcm/lcm/nf/biz/common.py b/lcm/lcm/nf/biz/common.py
new file mode 100644
index 00000000..308ba060
--- /dev/null
+++ b/lcm/lcm/nf/biz/common.py
@@ -0,0 +1,145 @@
+# Copyright 2017 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.
+
+import uuid
+
+from lcm.pub.database.models import VmInstModel, NetworkInstModel, \
+ SubNetworkInstModel, PortInstModel, StorageInstModel, FlavourInstModel, VNFCInstModel
+from lcm.pub.utils.jobutil import JobUtil
+from lcm.pub.utils.values import ignore_case_get, get_none, get_boolean, get_integer
+
+
+def volume_save(job_id, nf_inst_id, ret):
+ JobUtil.add_job_status(job_id, 25, 'Create vloumns!')
+ StorageInstModel.objects.create(
+ storageid=str(uuid.uuid4()),
+ vimid=ignore_case_get(ret, "vimId"),
+ resourceid=ignore_case_get(ret, "id"),
+ name=ignore_case_get(ret, "name"),
+ tenant=ignore_case_get(ret, "tenantId"),
+ create_time=ignore_case_get(ret, "createTime"),
+ storagetype=get_none(ignore_case_get(ret, "type")),
+ size=ignore_case_get(ret, "size"),
+ insttype=0,
+ is_predefined=ignore_case_get(ret, "returnCode"),
+ nodeId=ignore_case_get(ret, "nodeId"),
+ instid=nf_inst_id)
+
+
+def network_save(job_id, nf_inst_id, ret):
+ JobUtil.add_job_status(job_id, 35, 'Create networks!')
+ NetworkInstModel.objects.create(
+ networkid=str(uuid.uuid4()),
+ name=ignore_case_get(ret, "name"),
+ vimid=ignore_case_get(ret, "vimId"),
+ resourceid=ignore_case_get(ret, "id"),
+ tenant=ignore_case_get(ret, "tenantId"),
+ segmentid=str(ignore_case_get(ret, "segmentationId")),
+ network_type=ignore_case_get(ret, "networkType"),
+ physicalNetwork=ignore_case_get(ret, "physicalNetwork"),
+ vlantrans=get_boolean(ignore_case_get(ret, "vlanTransparent")),
+ is_shared=get_boolean(ignore_case_get(ret, "shared")),
+ routerExternal=get_boolean(ignore_case_get(ret, "routerExternal")),
+ insttype=0,
+ is_predefined=ignore_case_get(ret, "returnCode"),
+ nodeId=ignore_case_get(ret, "nodeId"),
+ instid=nf_inst_id)
+
+
+def subnet_save(job_id, nf_inst_id, ret):
+ JobUtil.add_job_status(job_id, 40, 'Create subnets!')
+ SubNetworkInstModel.objects.create(
+ subnetworkid=str(uuid.uuid4()),
+ name=ignore_case_get(ret, "name"),
+ vimid=ignore_case_get(ret, "vimId"),
+ resourceid=ignore_case_get(ret, "id"),
+ tenant=ignore_case_get(ret, "tenantId"),
+ networkid=ignore_case_get(ret, "networkId"),
+ cidr=ignore_case_get(ret, "cidr"),
+ ipversion=ignore_case_get(ret, "ipversion"),
+ isdhcpenabled=ignore_case_get(ret, "enableDhcp"),
+ gatewayip=ignore_case_get(ret, "gatewayIp"),
+ dnsNameservers=ignore_case_get(ret, "dnsNameservers"),
+ hostRoutes=ignore_case_get(ret, "hostRoutes"),
+ allocationPools=ignore_case_get(ret, "allocationPools"),
+ insttype=0,
+ is_predefined=ignore_case_get(ret, "returnCode"),
+ instid=nf_inst_id)
+
+
+def port_save(job_id, nf_inst_id, ret):
+ JobUtil.add_job_status(job_id, 50, 'Create ports!')
+ PortInstModel.objects.create(
+ portid=str(uuid.uuid4()),
+ networkid=ignore_case_get(ret, "networkId"),
+ subnetworkid=ignore_case_get(ret, "subnetId"),
+ name=ignore_case_get(ret, "name"),
+ vimid=ignore_case_get(ret, "vimId"),
+ resourceid=ignore_case_get(ret, "id"),
+ tenant=ignore_case_get(ret, "tenantId"),
+ macaddress=ignore_case_get(ret, "macAddress"),
+ ipaddress=ignore_case_get(ret, "ip"),
+ typevirtualnic=ignore_case_get(ret, "vnicType"),
+ securityGroups=ignore_case_get(ret, "securityGroups"),
+ insttype=0,
+ is_predefined=ignore_case_get(ret, "returnCode"),
+ nodeId=ignore_case_get(ret, "nodeId"),
+ instid=nf_inst_id)
+
+
+def flavor_save(job_id, nf_inst_id, ret):
+ JobUtil.add_job_status(job_id, 60, 'Create flavors!')
+ FlavourInstModel.objects.create(
+ flavourid=str(uuid.uuid4()),
+ name=ignore_case_get(ret, "name"),
+ vimid=ignore_case_get(ret, "vimId"),
+ resourceid=ignore_case_get(ret, "id"),
+ tenant=ignore_case_get(ret, "tenantId"),
+ vcpu=get_integer(ignore_case_get(ret, "vcpu")),
+ memory=get_integer(ignore_case_get(ret, "memory")),
+ disk=get_integer(ignore_case_get(ret, "disk")),
+ ephemeral=get_integer(ignore_case_get(ret, "ephemeral")),
+ swap=get_integer(ignore_case_get(ret, "swap")),
+ isPublic=get_boolean(ignore_case_get(ret, "isPublic")),
+ extraspecs=ignore_case_get(ret, "extraSpecs"),
+ is_predefined=ret.get("returnCode", int(0)),
+ instid=nf_inst_id)
+
+
+def vm_save(job_id, nf_inst_id, ret):
+ JobUtil.add_job_status(job_id, 70, 'Create vms!')
+ vm_id = str(uuid.uuid4())
+ VmInstModel.objects.create(
+ vmid=vm_id,
+ vmname=ignore_case_get(ret, "name"),
+ vimid=ignore_case_get(ret, "vimId"),
+ resourceid=ignore_case_get(ret, "id"),
+ tenant=ignore_case_get(ret, "tenantId"),
+ nic_array=ignore_case_get(ret, "nicArray"),
+ metadata=ignore_case_get(ret, "metadata"),
+ volume_array=ignore_case_get(ret, "volumeArray"),
+ server_group=ignore_case_get(ret, "serverGroup"),
+ availability_zone=str(ignore_case_get(ret, "availabilityZone", "undefined")),
+ flavor_id=ignore_case_get(ret, "flavorId"),
+ security_groups=ignore_case_get(ret, "securityGroups"),
+ operationalstate=ignore_case_get(ret, "status"),
+ insttype=0,
+ is_predefined=ignore_case_get(ret, "returnCode"),
+ instid=nf_inst_id)
+ VNFCInstModel.objects.create(
+ vnfcinstanceid=str(uuid.uuid4()),
+ vduid=ignore_case_get(ret, "id"),
+ is_predefined=ignore_case_get(ret, "returnCode"),
+ instid=nf_inst_id,
+ vmid=vm_id)