refactor codes for vnflcm 36/85736/1
authorfujinhua <fu.jinhua@zte.com.cn>
Fri, 19 Apr 2019 02:19:40 +0000 (10:19 +0800)
committerfujinhua <fu.jinhua@zte.com.cn>
Fri, 19 Apr 2019 02:19:40 +0000 (10:19 +0800)
Change-Id: I5e1d539a80ab4c8cbf0e26eccc618292ece4b45c
Issue-ID: VFC-1307
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
lcm/lcm/nf/const.py
lcm/lcm/nf/tests/const.py [new file with mode: 0644]
lcm/lcm/nf/tests/test_create_vnf.py
lcm/lcm/nf/tests/test_heal_vnf.py
lcm/lcm/nf/tests/test_instantiate_vnf.py

index e61c5a2..b14e50d 100644 (file)
@@ -11,7 +11,6 @@
 # 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
 
 from lcm.pub.config import config
 from lcm.pub.utils.jobutil import enum
@@ -151,1070 +150,3 @@ LCM_OPERATION_STATE_TYPES = [
     OPERATION_STATE_TYPE.ROLLING_BACK,
     OPERATION_STATE_TYPE.ROLLED_BACK
 ]
-
-
-inst_req_data = {
-    "flavourId": "flavour_1",
-    "instantiationLevelId": "instantiationLevel_1",
-    "extVirtualLinks": [
-        {
-            "id": "extVirtualLink_1",
-            "vimConnectionId": "vimConnection_1",
-            "resourceProviderId": "resourceProvider_1",
-            "resourceId": "resource_1",
-            "resourceSubnetId": "resourceSubnet_1",
-            "extCps": [
-                {
-                    "cpdId": "cpd_1",
-                    "cpConfig": [
-                        {
-                            "cpInstanceId": "cpInstance_1",
-                            "linkPortId": "linkPort_1",
-                            "cpProtocolData": [
-                                {
-                                    "layerProtocol": "IP_OVER_ETHERNET",
-                                    "ipOverEthernet": {
-                                        "macAddress": "00:f3:43:20:a2:a3",
-                                        "ipAddresses": [
-                                            {
-                                                "type": "IPV4",
-                                                "fixedAddresses": ["192.168.104.2", ],
-                                                "numDynamicAddresses": 0,
-                                                "addressRange": None,
-                                                "subnetId": "subnet_1",
-                                            }
-                                        ]
-                                    }
-                                }
-                            ]
-                        }
-                    ]
-                }
-            ],
-            "extLinkPorts": [
-                {
-                    "id": "extLinkPort_1",
-                    "resourceHandle": {
-                        "vimConnectionId": "vimConnection_1",
-                        "resourceProviderId": "resourceProvider_1",
-                        "resourceId": "resource_1",
-                        "vimLevelResourceType": "vimLevelResourceType_1",
-                    }
-                }
-            ]
-        }
-    ],
-    "extManagedVirtualLinks": [
-        {
-            "id": 'extManagedVirtualLink_1',
-            "virtualLinkDescId": 'virtualLinkDesc_1',
-            "vimConnectionId": 'vimConnection_1',
-            "resourceProviderId": 'resourceProvider_1',
-            "resourceId": 'resource_1',
-        }
-    ],
-    "vimConnectionInfo": [
-        {
-            "id": 'vimConnection_1',
-            "vimId": 'vim_1',
-            "vimType": 'vim',
-            "interfaceInfo": {
-                "apiVersion": "apiVersion_1",
-                "protocolType": "http"
-            },
-            "accessInfo": {
-                "tenant": "tenant_vCPE",
-                "username": "vCPE",
-                "password": "vCPE_321",
-            },
-            "extra": None,
-        }
-    ],
-    "localizationLanguage": "en_US",
-    "additionalParams": {
-        "vimId": "vim_1",
-        "key1": "test1",
-        "key2": "test2",
-    }
-}
-
-
-vnfd_model_dict = {
-    'metadata': {
-        'vendor': u'zte',
-        'is_shared': False,
-        'description': '',
-        'domain_type': u'CN',
-        'version': u'v4.14.10',
-        'vmnumber_overquota_alarm': False,
-        'cross_dc': False,
-        'vnf_type': u'SSS',
-        'vnfd_version': u'V00000001',
-        'id': u'sss-vnf-template',
-        'name': u'sss-vnf-template'
-    },
-    'vdus': [
-        {
-            "vdu_id": "vdu1Id",
-            "description": "vdu description",
-            "properties": {
-                "name": "vduinstname",
-                "vdu_type": "OMP",
-                "key_vdu": True,
-                "support_scaling": True,
-                "location_info": {
-                    "vimid": "vimid",
-                    "tenant": "tenantname",
-                    "availability_zone": "zone1",
-                    "host": "host1"
-                },
-                "local_affinity_antiaffinity_rule": [
-                    {
-                        "affinity_antiaffinity": "anti-affinity",
-                        "scope": "node"
-                    },
-                    {
-                        "affinity_antiaffinity": "affinity",
-                        "scope": "zone"
-                    }
-                ],
-                "inject_data_list": [
-                    {
-                        "file_name": "abc.xml",
-                        "file_data": "<a>xxx</a><b>ssss</b>"
-                    }
-                ],
-                "storage_policy": "HIGH",
-                "template_id": "26",
-                "manual_scale_select_vim": False,
-                "watchdog": {
-                    "enabledelay": 600000,
-                    "action": "reset"
-                },
-                "is_predefined": False,
-                "allow_scale_updown": False,
-                "inject_network_address": True,
-                "inner_hugepage_num": 100,
-                "inner_hugepage_size": "2048",
-                "action": "add"
-            },
-            "image_file": u'sss',
-            "local_storages": [
-                "local_storage_id1",
-                "local_storage_id2"
-            ],
-            "virtual_storages": [
-                {
-                    "virtual_storage_id": "volume_storage1",
-                    "location": "/usr/data",
-                    "device": "/dev/hda1"
-                }
-            ],
-            "dependencies": [
-                "vdu1Id",
-                "vduNId"
-            ],
-            "nfv_compute": {
-                "num_cpus": 4,
-                "mem_size": "1 GB",
-                "cpu_frequency": "1GHz",
-                "flavor_extra_specs": {
-                    "hw: cpu_policy": "shared",
-                    "hw: cpu_max_threads": 50,
-                    "hw: cpu_sockets": 10,
-                    "hw: cpu_max_sockets": 20,
-                    "hw: cpu_max_cores": 8,
-                    "hw: cpu_threads": 30,
-                    "hw: numa_mem.0": 12288,
-                    "hw: hugepage_num": 100,
-                    "hw: high_performance": "dvs_high",
-                    "hw: numa_nodes": 1,
-                    "hw: numa_cpus.0": "2,4,8",
-                    "hw: numa_pci": True,
-                    "hw: cpu_cores": 4,
-                    "pci_passthrough: alias": "ColetoCreek: 1",
-                    "hw: mem_page_size": "large",
-                    "hw: mem_paging_mechanism": "EPT"
-                }
-            },
-            "vls": [
-                "vlId1",
-            ],
-            "cps": [
-                "cpId1",
-            ],
-            "scalable": {
-                "min_instances": 1,
-                "max_instances": 2,
-                "default_instances": 1
-            },
-            "interfaces": {
-                "Standard": {
-                    "create": {
-                        "implementation": "<implementationScript>",
-                        "inputs": {
-                            "param1Name": "value1",
-                            "paramNName": "valueN"
-                        }
-                    },
-                    "configure": {
-                        "implementation": "<implementationScript>",
-                        "inputs": {
-                            "param1Name": "value1",
-                            "paramNName": "valueN"
-                        }
-                    },
-                    "start": {
-                        "implementation": "<implementationScript>",
-                        "inputs": {
-                            "param1Name": "value1",
-                            "paramNName": "valueN"
-                        }
-                    },
-                    "stop": {
-                        "implementation": "<implementationScript>",
-                        "inputs": {
-                            "param1Name": "value1",
-                            "paramNName": "valueN"
-                        }
-                    },
-                    "delete": {
-                        "implementation": "<implementationScript>",
-                        "inputs": {
-                            "param1Name": "value1",
-                            "paramNName": "valueN"
-                        }
-                    }
-                }
-            },
-            "artifacts": [
-            ]
-        }
-    ],
-    'volume_storages': [
-        {
-            "volume_storage_id": "volume_storage1",
-            "description": "",
-            "properties": {
-                "size": "\"100 GB\"",
-                "volume_id": "",
-                "volume_name": "volumeStorage1",
-                "custom_volume_type": "type1",
-                "disk_type": "data",
-                "delete_on_termination_vm": True,
-                "location_info": {
-                    "vimid": "vimid_1",
-                    "tenant": "tenantname_1",
-                    "availability_zone": "zone1"
-                },
-                "is_predefined": False,
-                "is_shared": False
-            },
-            "image_file": [
-                "volume_image"
-            ]
-        }
-    ],
-    'policies': {
-        'scaling': {
-            'targets': {
-
-            },
-            'policy_id': u'policy_scale_sss-vnf-template',
-            'properties': {
-                'policy_file': '*-vnfd.zip/*-vnf-policy.xml'
-            },
-            'description': ''
-        }
-    },
-    'image_files': [
-        {
-            'description': '',
-            'properties': {
-                'name': u'opencos_sss_omm_img_release_20150723-1-disk1.vmdk',
-                'checksum': '',
-                'disk_format': u'VMDK',
-                'file_url': u'./zte-cn-sss-main-image/OMM/opencos_sss_omm_img_release_20150723-1-disk1.vmdk',
-                'container_type': 'vm',
-                'version': '',
-                'hypervisor_type': 'kvm'
-            },
-            'image_file_id': u'opencos_sss_omm_img_release_20150723-1-disk1'
-        },
-        {
-            'description': '',
-            'properties': {
-                'name': u'sss.vmdk',
-                'checksum': '',
-                'disk_format': u'VMDK',
-                'file_url': u'./zte-cn-sss-main-image/NE/sss.vmdk',
-                'container_type': 'vm',
-                'version': '',
-                'hypervisor_type': 'kvm'
-            },
-            'image_file_id': u'sss'
-        }
-    ],
-    'vls': [
-        {
-            "vl_id": "vldId1",
-            "description": "",
-            "properties": {
-                "name": "umac_241_control",
-                "network_name": "umac_control",
-                "is_predefined": False,
-                "vendor": "zte",
-                "netmask": "255.255.255.0",
-                "mtu": 1500,
-                "network_type": "vlan",
-                "physical_network": "phynet01",
-                "segmentation_id": "30",
-                "vlan_transparent": False,
-                "vds_name": "vds1",
-                "cidr": "192.168.199.0/24",
-                "ip_version": 4,
-                "gateway_ip": "192.168.199.1",
-                "dhcp_enabled": False,
-                "dns_nameservers": [
-                    "192.168.0.4",
-                    "192.168.0.10"
-                ],
-                "start_ip": "192.168.199.2",
-                "end_ip": "192.168.199.254",
-                "host_routes": [
-                    {
-                        "destination": "10.43.26.0/24",
-                        "nexthop": "10.41.23.1"
-                    }
-                ],
-                "location_info": {
-                    "vimid": "vimid_1",
-                    "tenant": "tenantname_1"
-                },
-                "cloud_type": "IaaS"
-            },
-            "route_id": "router01",
-            "route_external": False
-        }
-    ],
-    'cps': [
-        {
-            "cp_id": "cpId1",
-            "description": "",
-            "properties": {
-                "name": "",
-                "mac_address": "00:d9:00:82:11:e1",
-                "ip_address:": "192.168.1.21",
-                "ip_range_start": "192.168.1.20",
-                "ip_range_end": "192.168.1.29",
-                "floating_ip_address": {
-                    "external_network": "extnet01",
-                    "ip_address": "10.43.53.23"
-                },
-                "service_ip_address": "192.168.1.23",
-                "order": 1,
-                "bandwidth": 1000,
-                "vnic_type": "normal",
-                "allowed_address_pairs": [
-                    {
-                        "ip": "192.168.1.13",
-                        "mac": "00:f3:43:20:a2:a3"
-                    }
-                ],
-                "bond": "none",
-                "bond_index": 1,
-                "macbond": "00:d9:00:82:11:d1",
-                "sfc_encapsulation": "",
-                "direction": "",
-                "gateway_ip": "192.168.199.1",
-                "netmask": "255.255.255.0",
-                "interface_name": "fe-01-02",
-                "is_virtual": False,
-                "function": "control"
-            },
-            "vl_id": "vldId1",
-            "vdu_id": "vdu1Id"
-        }
-    ],
-    'local_storages': [
-
-    ],
-}
-
-# get_tenant_id
-c1_data_get_tenant_id = {
-    "tenants": [
-        {
-            "id": "1",
-            "name": "chinamobile"
-        }
-    ]
-}
-c1_data_get_tenant_id_1 = {
-    "tenants": [
-        {
-            "id": "1",
-            "name": "tenantname"
-        }
-    ]
-}
-
-
-# create_volume
-c2_data_create_volume = {
-    "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
-    "name": "volume1",
-    "returnCode": 1,
-    "vimId": "vim_volume_1",
-    "vimName": "vim_volume_1",
-    "tenantId": "vim_volume_1",
-    "volumeType": "123",
-    "availabilityZone": "availabilityZone",
-    "status": "availuable",
-    "createTime": "2015-12-02T06:39:40.000000",
-    "type": None,
-    "size": 40
-}
-
-# get_volume
-c3_data_get_volume = {
-    "status": "available",
-    "name": "wangsong",
-    "attachments": [
-        {
-            "device": "/dev/vdc",
-            "serverId": "3030e666-528e-4954-88f5-cc21dab1262b",
-            "volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
-            "hostName": None,
-            "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31"
-        }
-    ],
-    "createTime": "2015-12-02T06:39:40.000000",
-    "type": None,
-    "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
-    "size": 40
-}
-
-# create_network
-c4_data_create_network = {
-    "returnCode": 0,
-    "vimId": "11111",
-    "vimName": "11111",
-    "status": "ACTIVE",
-    "id": "3c9eebdbbfd345658269340b9ea6fb73",
-    "name": "net1",
-    "tenantId": "tenant1",
-    "networkName": "ommnet",
-    "shared": True,
-    "vlanTransparent": True,
-    "networkType": "vlan",
-    "segmentationId": 202,
-    "physicalNetwork": "physnet1",
-    "routerExternal": False
-}
-
-# create_subnet
-c5_data_create_subnet = {
-    "returnCode": 0,
-    "vimId": "11111",
-    "vimName": "11111",
-    "status": " ACTIVE",
-    "id": "d62019d3-bc6e-4319-9c1d-6722fc136a23",
-    "tenantId": "tenant1",
-    "networkId": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
-    "networkName": "networkName",
-    "name": "subnet1",
-    "cidr": "10.43.35.0/24",
-    "ipVersion": 4,
-    "enableDhcp": 1,
-    "gatewayIp": "10.43.35.1",
-    "dnsNameservers": [],
-    "allocationPools": [
-        {
-            "start": "192.168.199.2",
-            "end": "192.168.199.254"
-        }
-    ],
-    "hostRoutes": []
-}
-
-# create_ports
-c6_data_create_port = {
-    "returnCode": 0,
-    "vimId": "11111",
-    "vimName": "11111",
-    "status": " ACTIVE",
-    "id": " 872019d3-bc6e-4319-9c1d-6722fc136afg",
-    "tenantId": "tenant1",
-    "name": "subnet1",
-    "networkId": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
-    "networkName": "networkName",
-    "subnetId": "d62019d3-bc6e-4319-9c1d-6722fc136a23",
-    "subnetName": "subnet1",
-    "macAddress": "212.12.61.23",
-    "ip": "10.43.38.11",
-    "vnicType": "direct",
-    "securityGroups": ""
-}
-
-# create_flavor
-c7_data_create_flavor = {
-    "returnCode": 0,
-    "vimId": "11111",
-    "vimName": "11111",
-    "id": "142019d3-bc6e-4319-9c1d-6722fc136afg",
-    "tenantId": "tenant1",
-    "name": "subnet1",
-    "vcpu": 5,
-    "memory": 2,
-    "disk": 40,
-    "ephemeral": 40,
-    "swap": 20,
-    "isPublic": True,
-    "extraSpecs": "testtt"
-}
-
-# list_image
-c8_data_list_image = {
-    "vimid": "",
-    "vimname": "",
-    "images": [
-        {
-            "status": "active",
-            "id": "5e2757c1-f846-4727-915c-9a872553ed75",
-            "size": 862016,
-            "name": u'sss.vmdk'
-        }
-    ]
-}
-
-# create_vm
-c9_data_create_vm = {
-    "returnCode": 1,
-    "id": "3c9eebdbbfd345658269340b9ea6fb73",
-    "name": "vm1",
-    "vimId": "11111",
-    "vimName": "11111",
-    "tenantId": "tenant1",
-    "boot": "boot_1",
-    "nicArray": "dfdf",
-    "volumeArray": "dfdf",
-    "availabilityZone": "fdvfdv",
-    "flavorId": "fdvfdv",
-    "metadata": "fdvfdv",
-    "securityGroups": "fdvfdv",
-    "serverGroup": "fdvfdv",
-    "status": "ACTIVE"
-}
-
-# get_vm
-c10_data_get_vm = {
-    "returnCode": 1,
-    "id": "3c9eebdbbfd345658269340b9ea6fb73",
-    "name": "vm1",
-    "vimId": "11111",
-    "vimName": "11111",
-    "tenantId": "tenant1",
-    "status": "ACTIVE"
-}
-
-vnfdModel = {
-    "volume_storages": [
-        {
-            "volume_storage_id": "test",
-            "properties": {
-                "location_info": {
-                    "vimid": "vim_1",
-                    "tenant": "chinamobile",
-                    "availability_zone": "test",
-                },
-                "volume_name": "test",
-                "custom_volume_type": "test",
-                "size_of_storage": "\"10 GB\"",
-            },
-            "image_file": "test",
-        },
-    ],
-    "vls": [
-        {
-            "vl_id": "test",
-            "properties": {
-                "location_info": {
-                    "vimid": "test",
-                    "tenant": "chinamobile",
-                },
-                "vl_profile": {
-                    "networkName": "test",
-                    "networkType": "test",
-                    "physicalNetwork": "test",
-                    "vlanTransparent": "test",
-                    "segmentationId": "1",
-                    "cidr": "test",
-                    "dhcpEnabled": "test",
-                    "gatewayIp": "test",
-                    "startIp": "test",
-                    "endIp": "test",
-                },
-                "connectivity_type": {
-                    "layer_protocol": "ipv4",
-                },
-                "dns_nameservers": "test",
-                "host_routes": "test",
-            },
-            "route_external": "test",
-        }
-    ],
-    "cps": [
-        {
-            "vdu_id": "test",
-            "cp_id": "cp1",
-            "networkId": "",  # TODO
-            "subnetId": "",  # TODO
-            "vl_id": "test",
-            "properties": {
-                "name": "test",
-                "mac_address": "test",
-                "protocol_data": [
-                    {
-                        "address_data": {
-                            "l3_address_data": {
-                                "fixed_ip_address": "test"
-                            },
-                        },
-                    },
-                ],
-                "vnic_type": "direct",
-                "role": "root",
-                "virtual_network_interface_requirements": [
-                    {
-                        "network_interface_requirements": {
-                            "interfaceType": '{"schemaVersion": "0", "schemaLocation":"", "platformId": "generic", "mandatory": false, "configurationValue": "SR-IOV"}'
-                        },
-                        "support_mandatory": False,
-                        "name": "SRIOV_Port",
-                        "description": "sriov"
-                    }
-                ]
-            }
-        }
-    ],
-    "vdus": [
-        {
-            "vdu_id": "test",
-            "properties": {
-                "location_info": {
-                    "vimid": "test",
-                    "tenant": "chinamobile",
-                    "availability_zone": "test",
-                    "vnfId": "",
-                    "vnfName": "",
-                    "cloudOwner": "",
-                    "cloudRegionId": "",
-                    "vduInfo": [
-                        {
-                            "vduName": "VDU_vbng_0",
-                            "flavorId": "12345",
-                            "directive": ""
-                        }
-                    ]
-                },
-                "name": "test",
-                "inject_files": [],
-                "user_data": "test",
-                "meta_data": {},
-            },
-            "cps": [],
-            "type": "tosca.nodes.nfv.Vdu.Compute",
-            "virtual_compute": {
-                "virtual_cpu": {
-                    "num_virtual_cpu": "16",
-                },
-                "virtual_memory": {
-                    "virtual_mem_size": "8000 MB",
-                    "vdu_memory_requirements": {
-                        "memoryPageSize": "8 MB",
-                    },
-                },
-            },
-            "virtual_storages": [{
-                "virtual_storage_id": "test",
-                "type_of_storage": "ephemeral",
-                "size_of_storage": "10 GB",
-            }],
-            "type": "tosca.nodes.nfv.Vdu.Compute",
-            "artifacts": [
-                {
-                    "artifact_name": "sw_image",
-                    "file": "sss.vmdk",
-                },
-            ],
-            "volume_storages": [
-                {
-                    "volume_storage_id": "test",
-                }
-            ],
-        },
-    ],
-    "image_files": [],
-    "routers": [],
-    "local_storages": [],
-    "vnf_exposed": {
-        "external_cps": [],
-        "forward_cps": []
-    },
-    "inputs": {
-        "pe1_id": {
-            "type": "string",
-            "description": "pe1_idofunderlayvpn"
-        },
-        "pe2_id": {
-            "type": "string",
-            "description": "pe2_idofunderlayvpn"
-        },
-        "serviceType": {
-            "type": "string",
-            "description": "serviceTypeofunderlayvpn"
-        },
-        "description": {
-            "type": "string",
-            "description": "descriptionofunderlayvpn"
-        },
-        "ac2_route": {
-            "type": "string",
-            "description": "ac2_routeofunderlayvpn"
-        },
-        "ac1_route": {
-            "type": "string",
-            "description": "ac1_routeofunderlayvpn"
-        },
-        "ac1_svlan": {
-            "type": "integer",
-            "description": "ac1_svlanofunderlayvpn"
-        },
-        "ac2_ip": {
-            "type": "string",
-            "description": "ac2_ipofunderlayvpn"
-        },
-        "ac1_ip": {
-            "type": "string",
-            "description": "ac1_ipofunderlayvpn"
-        },
-        "ac2_port": {
-            "type": "string",
-            "description": "ac2_portofunderlayvpn"
-        },
-        "topology": {
-            "type": "string",
-            "description": "topologyofunderlayvpn"
-        },
-        "technology": {
-            "type": "string",
-            "description": "technologyofunderlayvpn"
-        },
-        "ac1_port": {
-            "type": "string",
-            "description": "ac1_portofunderlayvpn"
-        },
-        "ac2_svlan": {
-            "type": "integer",
-            "description": "ac2_svlanofunderlayvpn"
-        },
-        "name": {
-            "type": "string",
-            "description": "Nameofunderlayervpn"
-        }
-    },
-    "metadata": {
-        "designer": "sdno",
-        "name": "underlayervpn",
-        "csarVersion": "1.0",
-        "csarType": "SSAR",
-        "csarProvider": "huawei",
-        "version": "1.0",
-        "type": "SSAR",
-        "id": "ns_underlayervpn_1_0"
-    }
-}
-
-vnfpackage_info = {
-    "imageInfo": [],
-    "csarId": "vOpenNAT",
-    "packageInfo": {
-        "csarName": "vOpenNAT.csar",
-        "vnfdModel": json.dumps(vnfdModel),
-        "vnfdProvider": "Intel",
-        "vnfdId": "openNAT_1.0",
-        "downloadUrl": "http://10.96.33.39:8806/static/catalog/vOpenNAT/vOpenNAT.csar",
-        "vnfVersion": "v1.0",
-        "vnfdVersion": "v1.0",
-        "vnfPackageId": "vOpenNAT"
-    }
-}
-
-# # vnfd_rawdata
-# vnfd_rawdata = {
-#     "rawData": {
-#         "instance": {
-#             "metadata": {
-#                 "designer": "sdno",
-#                 "name": "underlayervpn",
-#                 "csarVersion": "1.0",
-#                 "csarType": "SSAR",
-#                 "csarProvider": "huawei",
-#                 "version": "1.0",
-#                 "type": "SSAR",
-#                 "id": "ns_underlayervpn_1_0"
-#             },
-#             "nodes": [
-#                 {
-#                     "id": "ac2_fdhrbk3dvan8hl5wifm9lp1e9",
-#                     "type_name": "tosca.nodes.sdn.l3ac",
-#                     "template_name": "ac2",
-#                     "properties": {
-#                         "ip": {
-#                             "type_name": "string"
-#                         },
-#                         "route": {
-#                             "type_name": "string"
-#                         },
-#                         "port": {
-#                             "type_name": "string"
-#                         },
-#                         "svlan": {
-#                             "type_name": "string"
-#                         }
-#                     },
-#                     "interfaces": [
-#                         {
-#                             "name": "Standard",
-#                             "type_name": "tosca.interfaces.node.lifecycle.Standard"
-#                         }
-#                     ],
-#                     "capabilities": [
-#                         {
-#                             "name": "feature",
-#                             "type_name": "tosca.capabilities.Node"
-#                         },
-#                         {
-#                             "name": "ac",
-#                             "type_name": "tosca.capabilities.sdn.ac"
-#                         }
-#                     ],
-#                     "relationships": [
-#                         {
-#                             "target_node_id": "pe2_go3vo1ctxr1vlbl0ij8stbtj6",
-#                             "target_capability_name": "feature"
-#                         },
-#                         {
-#                             "target_node_id": "ac2_fdhrbk3dvan8hl5wifm9lp1e9",
-#                             "target_capability_name": "feature"
-#                         }
-#                     ]
-#                 },
-#                 {
-#                     "id": "ac1_jqows1ai0j0cmwk9jdvuknt97",
-#                     "type_name": "tosca.nodes.sdn.l3ac",
-#                     "template_name": "ac1",
-#                     "properties": {
-#                         "ip": {
-#                             "type_name": "string"
-#                         },
-#                         "route": {
-#                             "type_name": "string"
-#                         },
-#                         "port": {
-#                             "type_name": "string"
-#                         },
-#                         "svlan": {
-#                             "type_name": "string"
-#                         }
-#                     },
-#                     "interfaces": [
-#                         {
-#                             "name": "Standard",
-#                             "type_name": "tosca.interfaces.node.lifecycle.Standard"
-#                         }
-#                     ],
-#                     "capabilities": [
-#                         {
-#                             "name": "feature",
-#                             "type_name": "tosca.capabilities.Node"
-#                         },
-#                         {
-#                             "name": "ac",
-#                             "type_name": "tosca.capabilities.sdn.ac"
-#                         }
-#                     ],
-#                     "relationships": [
-#                         {
-#                             "target_node_id": "pe1_e58ekps6m45g6w9egs9lue2j7",
-#                             "target_capability_name": "feature"
-#                         },
-#                         {
-#                             "target_node_id": "ac2_fdhrbk3dvan8hl5wifm9lp1e9",
-#                             "target_capability_name": "feature"
-#                         }
-#                     ]
-#                 },
-#                 {
-#                     "id": "vpn_ie0xim076f7cje67fvrrq9tg1",
-#                     "type_name": "tosca.nodes.sdn.underlayVPN",
-#                     "template_name": "vpn",
-#                     "properties": {
-#                         "serviceType": {
-#                             "type_name": "string"
-#                         },
-#                         "description": {
-#                             "type_name": "string"
-#                         },
-#                         "name": {
-#                             "type_name": "string"
-#                         },
-#                         "topology": {
-#                             "type_name": "string"
-#                         }
-#                     },
-#                     "interfaces": [
-#                         {
-#                             "name": "Standard",
-#                             "type_name": "tosca.interfaces.node.lifecycle.Standard"
-#                         }
-#                     ],
-#                     "capabilities": [
-#                         {
-#                             "name": "feature",
-#                             "type_name": "tosca.capabilities.Node"
-#                         }
-#                     ],
-#                     "relationships": [
-#                         {
-#                             "target_node_id": "ac1_jqows1ai0j0cmwk9jdvuknt97",
-#                             "target_capability_name": "feature"
-#                         },
-#                         {
-#                             "target_node_id": "ac2_fdhrbk3dvan8hl5wifm9lp1e9",
-#                             "target_capability_name": "feature"
-#                         }
-#                     ]
-#                 },
-#                 {
-#                     "id": "pe1_e58ekps6m45g6w9egs9lue2j7",
-#                     "type_name": "tosca.nodes.sdn.l3pe",
-#                     "template_name": "pe1",
-#                     "properties": {
-#                         "id": {
-#                             "type_name": "string"
-#                         }
-#                     },
-#                     "interfaces": [
-#                         {
-#                             "name": "Standard",
-#                             "type_name": "tosca.interfaces.node.lifecycle.Standard"
-#                         }
-#                     ],
-#                     "capabilities": [
-#                         {
-#                             "name": "feature",
-#                             "type_name": "tosca.capabilities.Node"
-#                         },
-#                         {
-#                             "name": "pe",
-#                             "type_name": "tosca.capabilities.sdn.pe"
-#                         }
-#                     ]
-#                 },
-#                 {
-#                     "id": "pe2_go3vo1ctxr1vlbl0ij8stbtj6",
-#                     "type_name": "tosca.nodes.sdn.l3pe",
-#                     "template_name": "pe2",
-#                     "properties": {
-#                         "id": {
-#                             "type_name": "string"
-#                         }
-#                     },
-#                     "interfaces": [
-#                         {
-#                             "name": "Standard",
-#                             "type_name": "tosca.interfaces.node.lifecycle.Standard"
-#                         }
-#                     ],
-#                     "capabilities": [
-#                         {
-#                             "name": "feature",
-#                             "type_name": "tosca.capabilities.Node"
-#                         },
-#                         {
-#                             "name": "pe",
-#                             "type_name": "tosca.capabilities.sdn.pe"
-#                         }
-#                     ]
-#                 }
-#             ],
-#             "substitution": {
-#                 "node_type_name": "tosca.nodes.sdn.ext.NS.ns_underlayervpn"
-#             },
-#             "inputs": {
-#                 "ac2_ip": {
-#                     "type_name": "string",
-#                     "description": "ac2_ipofunderlayvpn"
-#                 },
-#                 "ac2_route": {
-#                     "type_name": "string",
-#                     "description": "ac2_routeofunderlayvpn"
-#                 },
-#                 "serviceType": {
-#                     "type_name": "string",
-#                     "description": "serviceTypeofunderlayvpn"
-#                 },
-#                 "description": {
-#                     "type_name": "string",
-#                     "description": "descriptionofunderlayvpn"
-#                 },
-#                 "pe2_id": {
-#                     "type_name": "string",
-#                     "description": "pe2_idofunderlayvpn"
-#                 },
-#                 "ac1_route": {
-#                     "type_name": "string",
-#                     "description": "ac1_routeofunderlayvpn"
-#                 },
-#                 "ac1_svlan": {
-#                     "type_name": "integer",
-#                     "description": "ac1_svlanofunderlayvpn"
-#                 },
-#                 "name": {
-#                     "type_name": "string",
-#                     "description": "Nameofunderlayervpn"
-#                 },
-#                 "ac1_ip": {
-#                     "type_name": "string",
-#                     "description": "ac1_ipofunderlayvpn"
-#                 },
-#                 "ac2_port": {
-#                     "type_name": "string",
-#                     "description": "ac2_portofunderlayvpn"
-#                 },
-#                 "pe1_id": {
-#                     "type_name": "string",
-#                     "description": "pe1_idofunderlayvpn"
-#                 },
-#                 "technology": {
-#                     "type_name": "string",
-#                     "description": "technologyofunderlayvpn"
-#                 },
-#                 "ac1_port": {
-#                     "type_name": "string",
-#                     "description": "ac1_portofunderlayvpn"
-#                 },
-#                 "ac2_svlan": {
-#                     "type_name": "integer",
-#                     "description": "ac2_svlanofunderlayvpn"
-#                 },
-#                 "topology": {
-#                     "type_name": "string",
-#                     "description": "topologyofunderlayvpn"
-#                 }
-#             }
-#         }
-#     }
-# }
diff --git a/lcm/lcm/nf/tests/const.py b/lcm/lcm/nf/tests/const.py
new file mode 100644 (file)
index 0000000..38d251e
--- /dev/null
@@ -0,0 +1,1080 @@
+# Copyright (C) 2019 ZTE. All Rights Reserved.
+#
+# 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 json
+
+inst_req_data = {
+    "flavourId": "flavour_1",
+    "instantiationLevelId": "instantiationLevel_1",
+    "extVirtualLinks": [
+        {
+            "id": "extVirtualLink_1",
+            "vimConnectionId": "vimConnection_1",
+            "resourceProviderId": "resourceProvider_1",
+            "resourceId": "resource_1",
+            "resourceSubnetId": "resourceSubnet_1",
+            "extCps": [
+                {
+                    "cpdId": "cpd_1",
+                    "cpConfig": [
+                        {
+                            "cpInstanceId": "cpInstance_1",
+                            "linkPortId": "linkPort_1",
+                            "cpProtocolData": [
+                                {
+                                    "layerProtocol": "IP_OVER_ETHERNET",
+                                    "ipOverEthernet": {
+                                        "macAddress": "00:f3:43:20:a2:a3",
+                                        "ipAddresses": [
+                                            {
+                                                "type": "IPV4",
+                                                "fixedAddresses": ["192.168.104.2", ],
+                                                "numDynamicAddresses": 0,
+                                                "addressRange": None,
+                                                "subnetId": "subnet_1",
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                }
+            ],
+            "extLinkPorts": [
+                {
+                    "id": "extLinkPort_1",
+                    "resourceHandle": {
+                        "vimConnectionId": "vimConnection_1",
+                        "resourceProviderId": "resourceProvider_1",
+                        "resourceId": "resource_1",
+                        "vimLevelResourceType": "vimLevelResourceType_1",
+                    }
+                }
+            ]
+        }
+    ],
+    "extManagedVirtualLinks": [
+        {
+            "id": 'extManagedVirtualLink_1',
+            "virtualLinkDescId": 'virtualLinkDesc_1',
+            "vimConnectionId": 'vimConnection_1',
+            "resourceProviderId": 'resourceProvider_1',
+            "resourceId": 'resource_1',
+        }
+    ],
+    "vimConnectionInfo": [
+        {
+            "id": 'vimConnection_1',
+            "vimId": 'vim_1',
+            "vimType": 'vim',
+            "interfaceInfo": {
+                "apiVersion": "apiVersion_1",
+                "protocolType": "http"
+            },
+            "accessInfo": {
+                "tenant": "tenant_vCPE",
+                "username": "vCPE",
+                "password": "vCPE_321",
+            },
+            "extra": None,
+        }
+    ],
+    "localizationLanguage": "en_US",
+    "additionalParams": {
+        "vimId": "vim_1",
+        "key1": "test1",
+        "key2": "test2",
+    }
+}
+
+
+vnfd_model_dict = {
+    'metadata': {
+        'vendor': u'zte',
+        'is_shared': False,
+        'description': '',
+        'domain_type': u'CN',
+        'version': u'v4.14.10',
+        'vmnumber_overquota_alarm': False,
+        'cross_dc': False,
+        'vnf_type': u'SSS',
+        'vnfd_version': u'V00000001',
+        'id': u'sss-vnf-template',
+        'name': u'sss-vnf-template'
+    },
+    'vdus': [
+        {
+            "vdu_id": "vdu1Id",
+            "description": "vdu description",
+            "properties": {
+                "name": "vduinstname",
+                "vdu_type": "OMP",
+                "key_vdu": True,
+                "support_scaling": True,
+                "location_info": {
+                    "vimid": "vimid",
+                    "tenant": "tenantname",
+                    "availability_zone": "zone1",
+                    "host": "host1"
+                },
+                "local_affinity_antiaffinity_rule": [
+                    {
+                        "affinity_antiaffinity": "anti-affinity",
+                        "scope": "node"
+                    },
+                    {
+                        "affinity_antiaffinity": "affinity",
+                        "scope": "zone"
+                    }
+                ],
+                "inject_data_list": [
+                    {
+                        "file_name": "abc.xml",
+                        "file_data": "<a>xxx</a><b>ssss</b>"
+                    }
+                ],
+                "storage_policy": "HIGH",
+                "template_id": "26",
+                "manual_scale_select_vim": False,
+                "watchdog": {
+                    "enabledelay": 600000,
+                    "action": "reset"
+                },
+                "is_predefined": False,
+                "allow_scale_updown": False,
+                "inject_network_address": True,
+                "inner_hugepage_num": 100,
+                "inner_hugepage_size": "2048",
+                "action": "add"
+            },
+            "image_file": u'sss',
+            "local_storages": [
+                "local_storage_id1",
+                "local_storage_id2"
+            ],
+            "virtual_storages": [
+                {
+                    "virtual_storage_id": "volume_storage1",
+                    "location": "/usr/data",
+                    "device": "/dev/hda1"
+                }
+            ],
+            "dependencies": [
+                "vdu1Id",
+                "vduNId"
+            ],
+            "nfv_compute": {
+                "num_cpus": 4,
+                "mem_size": "1 GB",
+                "cpu_frequency": "1GHz",
+                "flavor_extra_specs": {
+                    "hw: cpu_policy": "shared",
+                    "hw: cpu_max_threads": 50,
+                    "hw: cpu_sockets": 10,
+                    "hw: cpu_max_sockets": 20,
+                    "hw: cpu_max_cores": 8,
+                    "hw: cpu_threads": 30,
+                    "hw: numa_mem.0": 12288,
+                    "hw: hugepage_num": 100,
+                    "hw: high_performance": "dvs_high",
+                    "hw: numa_nodes": 1,
+                    "hw: numa_cpus.0": "2,4,8",
+                    "hw: numa_pci": True,
+                    "hw: cpu_cores": 4,
+                    "pci_passthrough: alias": "ColetoCreek: 1",
+                    "hw: mem_page_size": "large",
+                    "hw: mem_paging_mechanism": "EPT"
+                }
+            },
+            "vls": [
+                "vlId1",
+            ],
+            "cps": [
+                "cpId1",
+            ],
+            "scalable": {
+                "min_instances": 1,
+                "max_instances": 2,
+                "default_instances": 1
+            },
+            "interfaces": {
+                "Standard": {
+                    "create": {
+                        "implementation": "<implementationScript>",
+                        "inputs": {
+                            "param1Name": "value1",
+                            "paramNName": "valueN"
+                        }
+                    },
+                    "configure": {
+                        "implementation": "<implementationScript>",
+                        "inputs": {
+                            "param1Name": "value1",
+                            "paramNName": "valueN"
+                        }
+                    },
+                    "start": {
+                        "implementation": "<implementationScript>",
+                        "inputs": {
+                            "param1Name": "value1",
+                            "paramNName": "valueN"
+                        }
+                    },
+                    "stop": {
+                        "implementation": "<implementationScript>",
+                        "inputs": {
+                            "param1Name": "value1",
+                            "paramNName": "valueN"
+                        }
+                    },
+                    "delete": {
+                        "implementation": "<implementationScript>",
+                        "inputs": {
+                            "param1Name": "value1",
+                            "paramNName": "valueN"
+                        }
+                    }
+                }
+            },
+            "artifacts": [
+            ]
+        }
+    ],
+    'volume_storages': [
+        {
+            "volume_storage_id": "volume_storage1",
+            "description": "",
+            "properties": {
+                "size": "\"100 GB\"",
+                "volume_id": "",
+                "volume_name": "volumeStorage1",
+                "custom_volume_type": "type1",
+                "disk_type": "data",
+                "delete_on_termination_vm": True,
+                "location_info": {
+                    "vimid": "vimid_1",
+                    "tenant": "tenantname_1",
+                    "availability_zone": "zone1"
+                },
+                "is_predefined": False,
+                "is_shared": False
+            },
+            "image_file": [
+                "volume_image"
+            ]
+        }
+    ],
+    'policies': {
+        'scaling': {
+            'targets': {
+
+            },
+            'policy_id': u'policy_scale_sss-vnf-template',
+            'properties': {
+                'policy_file': '*-vnfd.zip/*-vnf-policy.xml'
+            },
+            'description': ''
+        }
+    },
+    'image_files': [
+        {
+            'description': '',
+            'properties': {
+                'name': u'opencos_sss_omm_img_release_20150723-1-disk1.vmdk',
+                'checksum': '',
+                'disk_format': u'VMDK',
+                'file_url': u'./zte-cn-sss-main-image/OMM/opencos_sss_omm_img_release_20150723-1-disk1.vmdk',
+                'container_type': 'vm',
+                'version': '',
+                'hypervisor_type': 'kvm'
+            },
+            'image_file_id': u'opencos_sss_omm_img_release_20150723-1-disk1'
+        },
+        {
+            'description': '',
+            'properties': {
+                'name': u'sss.vmdk',
+                'checksum': '',
+                'disk_format': u'VMDK',
+                'file_url': u'./zte-cn-sss-main-image/NE/sss.vmdk',
+                'container_type': 'vm',
+                'version': '',
+                'hypervisor_type': 'kvm'
+            },
+            'image_file_id': u'sss'
+        }
+    ],
+    'vls': [
+        {
+            "vl_id": "vldId1",
+            "description": "",
+            "properties": {
+                "name": "umac_241_control",
+                "network_name": "umac_control",
+                "is_predefined": False,
+                "vendor": "zte",
+                "netmask": "255.255.255.0",
+                "mtu": 1500,
+                "network_type": "vlan",
+                "physical_network": "phynet01",
+                "segmentation_id": "30",
+                "vlan_transparent": False,
+                "vds_name": "vds1",
+                "cidr": "192.168.199.0/24",
+                "ip_version": 4,
+                "gateway_ip": "192.168.199.1",
+                "dhcp_enabled": False,
+                "dns_nameservers": [
+                    "192.168.0.4",
+                    "192.168.0.10"
+                ],
+                "start_ip": "192.168.199.2",
+                "end_ip": "192.168.199.254",
+                "host_routes": [
+                    {
+                        "destination": "10.43.26.0/24",
+                        "nexthop": "10.41.23.1"
+                    }
+                ],
+                "location_info": {
+                    "vimid": "vimid_1",
+                    "tenant": "tenantname_1"
+                },
+                "cloud_type": "IaaS"
+            },
+            "route_id": "router01",
+            "route_external": False
+        }
+    ],
+    'cps': [
+        {
+            "cp_id": "cpId1",
+            "description": "",
+            "properties": {
+                "name": "",
+                "mac_address": "00:d9:00:82:11:e1",
+                "ip_address:": "192.168.1.21",
+                "ip_range_start": "192.168.1.20",
+                "ip_range_end": "192.168.1.29",
+                "floating_ip_address": {
+                    "external_network": "extnet01",
+                    "ip_address": "10.43.53.23"
+                },
+                "service_ip_address": "192.168.1.23",
+                "order": 1,
+                "bandwidth": 1000,
+                "vnic_type": "normal",
+                "allowed_address_pairs": [
+                    {
+                        "ip": "192.168.1.13",
+                        "mac": "00:f3:43:20:a2:a3"
+                    }
+                ],
+                "bond": "none",
+                "bond_index": 1,
+                "macbond": "00:d9:00:82:11:d1",
+                "sfc_encapsulation": "",
+                "direction": "",
+                "gateway_ip": "192.168.199.1",
+                "netmask": "255.255.255.0",
+                "interface_name": "fe-01-02",
+                "is_virtual": False,
+                "function": "control"
+            },
+            "vl_id": "vldId1",
+            "vdu_id": "vdu1Id"
+        }
+    ],
+    'local_storages': [
+
+    ],
+}
+
+# get_tenant_id
+c1_data_get_tenant_id = {
+    "tenants": [
+        {
+            "id": "1",
+            "name": "chinamobile"
+        }
+    ]
+}
+c1_data_get_tenant_id_1 = {
+    "tenants": [
+        {
+            "id": "1",
+            "name": "tenantname"
+        }
+    ]
+}
+
+
+# create_volume
+c2_data_create_volume = {
+    "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
+    "name": "volume1",
+    "returnCode": 1,
+    "vimId": "vim_volume_1",
+    "vimName": "vim_volume_1",
+    "tenantId": "vim_volume_1",
+    "volumeType": "123",
+    "availabilityZone": "availabilityZone",
+    "status": "availuable",
+    "createTime": "2015-12-02T06:39:40.000000",
+    "type": None,
+    "size": 40
+}
+
+# get_volume
+c3_data_get_volume = {
+    "status": "available",
+    "name": "wangsong",
+    "attachments": [
+        {
+            "device": "/dev/vdc",
+            "serverId": "3030e666-528e-4954-88f5-cc21dab1262b",
+            "volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
+            "hostName": None,
+            "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31"
+        }
+    ],
+    "createTime": "2015-12-02T06:39:40.000000",
+    "type": None,
+    "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
+    "size": 40
+}
+
+# create_network
+c4_data_create_network = {
+    "returnCode": 0,
+    "vimId": "11111",
+    "vimName": "11111",
+    "status": "ACTIVE",
+    "id": "3c9eebdbbfd345658269340b9ea6fb73",
+    "name": "net1",
+    "tenantId": "tenant1",
+    "networkName": "ommnet",
+    "shared": True,
+    "vlanTransparent": True,
+    "networkType": "vlan",
+    "segmentationId": 202,
+    "physicalNetwork": "physnet1",
+    "routerExternal": False
+}
+
+# create_subnet
+c5_data_create_subnet = {
+    "returnCode": 0,
+    "vimId": "11111",
+    "vimName": "11111",
+    "status": " ACTIVE",
+    "id": "d62019d3-bc6e-4319-9c1d-6722fc136a23",
+    "tenantId": "tenant1",
+    "networkId": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
+    "networkName": "networkName",
+    "name": "subnet1",
+    "cidr": "10.43.35.0/24",
+    "ipVersion": 4,
+    "enableDhcp": 1,
+    "gatewayIp": "10.43.35.1",
+    "dnsNameservers": [],
+    "allocationPools": [
+        {
+            "start": "192.168.199.2",
+            "end": "192.168.199.254"
+        }
+    ],
+    "hostRoutes": []
+}
+
+# create_ports
+c6_data_create_port = {
+    "returnCode": 0,
+    "vimId": "11111",
+    "vimName": "11111",
+    "status": " ACTIVE",
+    "id": " 872019d3-bc6e-4319-9c1d-6722fc136afg",
+    "tenantId": "tenant1",
+    "name": "subnet1",
+    "networkId": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
+    "networkName": "networkName",
+    "subnetId": "d62019d3-bc6e-4319-9c1d-6722fc136a23",
+    "subnetName": "subnet1",
+    "macAddress": "212.12.61.23",
+    "ip": "10.43.38.11",
+    "vnicType": "direct",
+    "securityGroups": ""
+}
+
+# create_flavor
+c7_data_create_flavor = {
+    "returnCode": 0,
+    "vimId": "11111",
+    "vimName": "11111",
+    "id": "142019d3-bc6e-4319-9c1d-6722fc136afg",
+    "tenantId": "tenant1",
+    "name": "subnet1",
+    "vcpu": 5,
+    "memory": 2,
+    "disk": 40,
+    "ephemeral": 40,
+    "swap": 20,
+    "isPublic": True,
+    "extraSpecs": "testtt"
+}
+
+# list_image
+c8_data_list_image = {
+    "vimid": "",
+    "vimname": "",
+    "images": [
+        {
+            "status": "active",
+            "id": "5e2757c1-f846-4727-915c-9a872553ed75",
+            "size": 862016,
+            "name": u'sss.vmdk'
+        }
+    ]
+}
+
+# create_vm
+c9_data_create_vm = {
+    "returnCode": 1,
+    "id": "3c9eebdbbfd345658269340b9ea6fb73",
+    "name": "vm1",
+    "vimId": "11111",
+    "vimName": "11111",
+    "tenantId": "tenant1",
+    "boot": "boot_1",
+    "nicArray": "dfdf",
+    "volumeArray": "dfdf",
+    "availabilityZone": "fdvfdv",
+    "flavorId": "fdvfdv",
+    "metadata": "fdvfdv",
+    "securityGroups": "fdvfdv",
+    "serverGroup": "fdvfdv",
+    "status": "ACTIVE"
+}
+
+# get_vm
+c10_data_get_vm = {
+    "returnCode": 1,
+    "id": "3c9eebdbbfd345658269340b9ea6fb73",
+    "name": "vm1",
+    "vimId": "11111",
+    "vimName": "11111",
+    "tenantId": "tenant1",
+    "status": "ACTIVE"
+}
+
+vnfdModel = {
+    "volume_storages": [
+        {
+            "volume_storage_id": "test",
+            "properties": {
+                "location_info": {
+                    "vimid": "vim_1",
+                    "tenant": "chinamobile",
+                    "availability_zone": "test",
+                },
+                "volume_name": "test",
+                "custom_volume_type": "test",
+                "size_of_storage": "\"10 GB\"",
+            },
+            "image_file": "test",
+        },
+    ],
+    "vls": [
+        {
+            "vl_id": "test",
+            "properties": {
+                "location_info": {
+                    "vimid": "test",
+                    "tenant": "chinamobile",
+                },
+                "vl_profile": {
+                    "networkName": "test",
+                    "networkType": "test",
+                    "physicalNetwork": "test",
+                    "vlanTransparent": "test",
+                    "segmentationId": "1",
+                    "cidr": "test",
+                    "dhcpEnabled": "test",
+                    "gatewayIp": "test",
+                    "startIp": "test",
+                    "endIp": "test",
+                },
+                "connectivity_type": {
+                    "layer_protocol": "ipv4",
+                },
+                "dns_nameservers": "test",
+                "host_routes": "test",
+            },
+            "route_external": "test",
+        }
+    ],
+    "cps": [
+        {
+            "vdu_id": "test",
+            "cp_id": "cp1",
+            "networkId": "",  # TODO
+            "subnetId": "",  # TODO
+            "vl_id": "test",
+            "properties": {
+                "name": "test",
+                "mac_address": "test",
+                "protocol_data": [
+                    {
+                        "address_data": {
+                            "l3_address_data": {
+                                "fixed_ip_address": "test"
+                            },
+                        },
+                    },
+                ],
+                "vnic_type": "direct",
+                "role": "root",
+                "virtual_network_interface_requirements": [
+                    {
+                        "network_interface_requirements": {
+                            "interfaceType": '{"schemaVersion": "0", "schemaLocation":"", "platformId": "generic", "mandatory": false, "configurationValue": "SR-IOV"}'
+                        },
+                        "support_mandatory": False,
+                        "name": "SRIOV_Port",
+                        "description": "sriov"
+                    }
+                ]
+            }
+        }
+    ],
+    "vdus": [
+        {
+            "vdu_id": "test",
+            "properties": {
+                "location_info": {
+                    "vimid": "test",
+                    "tenant": "chinamobile",
+                    "availability_zone": "test",
+                    "vnfId": "",
+                    "vnfName": "",
+                    "cloudOwner": "",
+                    "cloudRegionId": "",
+                    "vduInfo": [
+                        {
+                            "vduName": "VDU_vbng_0",
+                            "flavorId": "12345",
+                            "directive": ""
+                        }
+                    ]
+                },
+                "name": "test",
+                "inject_files": [],
+                "user_data": "test",
+                "meta_data": {},
+            },
+            "cps": [],
+            "type": "tosca.nodes.nfv.Vdu.Compute",
+            "virtual_compute": {
+                "virtual_cpu": {
+                    "num_virtual_cpu": "16",
+                },
+                "virtual_memory": {
+                    "virtual_mem_size": "8000 MB",
+                    "vdu_memory_requirements": {
+                        "memoryPageSize": "8 MB",
+                    },
+                },
+            },
+            "virtual_storages": [{
+                "virtual_storage_id": "test",
+                "type_of_storage": "ephemeral",
+                "size_of_storage": "10 GB",
+            }],
+            "type": "tosca.nodes.nfv.Vdu.Compute",
+            "artifacts": [
+                {
+                    "artifact_name": "sw_image",
+                    "file": "sss.vmdk",
+                },
+            ],
+            "volume_storages": [
+                {
+                    "volume_storage_id": "test",
+                }
+            ],
+        },
+    ],
+    "image_files": [],
+    "routers": [],
+    "local_storages": [],
+    "vnf_exposed": {
+        "external_cps": [],
+        "forward_cps": []
+    },
+    "inputs": {
+        "pe1_id": {
+            "type": "string",
+            "description": "pe1_idofunderlayvpn"
+        },
+        "pe2_id": {
+            "type": "string",
+            "description": "pe2_idofunderlayvpn"
+        },
+        "serviceType": {
+            "type": "string",
+            "description": "serviceTypeofunderlayvpn"
+        },
+        "description": {
+            "type": "string",
+            "description": "descriptionofunderlayvpn"
+        },
+        "ac2_route": {
+            "type": "string",
+            "description": "ac2_routeofunderlayvpn"
+        },
+        "ac1_route": {
+            "type": "string",
+            "description": "ac1_routeofunderlayvpn"
+        },
+        "ac1_svlan": {
+            "type": "integer",
+            "description": "ac1_svlanofunderlayvpn"
+        },
+        "ac2_ip": {
+            "type": "string",
+            "description": "ac2_ipofunderlayvpn"
+        },
+        "ac1_ip": {
+            "type": "string",
+            "description": "ac1_ipofunderlayvpn"
+        },
+        "ac2_port": {
+            "type": "string",
+            "description": "ac2_portofunderlayvpn"
+        },
+        "topology": {
+            "type": "string",
+            "description": "topologyofunderlayvpn"
+        },
+        "technology": {
+            "type": "string",
+            "description": "technologyofunderlayvpn"
+        },
+        "ac1_port": {
+            "type": "string",
+            "description": "ac1_portofunderlayvpn"
+        },
+        "ac2_svlan": {
+            "type": "integer",
+            "description": "ac2_svlanofunderlayvpn"
+        },
+        "name": {
+            "type": "string",
+            "description": "Nameofunderlayervpn"
+        }
+    },
+    "metadata": {
+        "designer": "sdno",
+        "name": "underlayervpn",
+        "csarVersion": "1.0",
+        "csarType": "SSAR",
+        "csarProvider": "huawei",
+        "version": "1.0",
+        "type": "SSAR",
+        "id": "ns_underlayervpn_1_0"
+    }
+}
+
+vnfpackage_info = {
+    "imageInfo": [],
+    "csarId": "vOpenNAT",
+    "packageInfo": {
+        "csarName": "vOpenNAT.csar",
+        "vnfdModel": json.dumps(vnfdModel),
+        "vnfdProvider": "Intel",
+        "vnfdId": "openNAT_1.0",
+        "downloadUrl": "http://10.96.33.39:8806/static/catalog/vOpenNAT/vOpenNAT.csar",
+        "vnfVersion": "v1.0",
+        "vnfdVersion": "v1.0",
+        "vnfPackageId": "vOpenNAT"
+    }
+}
+
+# # vnfd_rawdata
+# vnfd_rawdata = {
+#     "rawData": {
+#         "instance": {
+#             "metadata": {
+#                 "designer": "sdno",
+#                 "name": "underlayervpn",
+#                 "csarVersion": "1.0",
+#                 "csarType": "SSAR",
+#                 "csarProvider": "huawei",
+#                 "version": "1.0",
+#                 "type": "SSAR",
+#                 "id": "ns_underlayervpn_1_0"
+#             },
+#             "nodes": [
+#                 {
+#                     "id": "ac2_fdhrbk3dvan8hl5wifm9lp1e9",
+#                     "type_name": "tosca.nodes.sdn.l3ac",
+#                     "template_name": "ac2",
+#                     "properties": {
+#                         "ip": {
+#                             "type_name": "string"
+#                         },
+#                         "route": {
+#                             "type_name": "string"
+#                         },
+#                         "port": {
+#                             "type_name": "string"
+#                         },
+#                         "svlan": {
+#                             "type_name": "string"
+#                         }
+#                     },
+#                     "interfaces": [
+#                         {
+#                             "name": "Standard",
+#                             "type_name": "tosca.interfaces.node.lifecycle.Standard"
+#                         }
+#                     ],
+#                     "capabilities": [
+#                         {
+#                             "name": "feature",
+#                             "type_name": "tosca.capabilities.Node"
+#                         },
+#                         {
+#                             "name": "ac",
+#                             "type_name": "tosca.capabilities.sdn.ac"
+#                         }
+#                     ],
+#                     "relationships": [
+#                         {
+#                             "target_node_id": "pe2_go3vo1ctxr1vlbl0ij8stbtj6",
+#                             "target_capability_name": "feature"
+#                         },
+#                         {
+#                             "target_node_id": "ac2_fdhrbk3dvan8hl5wifm9lp1e9",
+#                             "target_capability_name": "feature"
+#                         }
+#                     ]
+#                 },
+#                 {
+#                     "id": "ac1_jqows1ai0j0cmwk9jdvuknt97",
+#                     "type_name": "tosca.nodes.sdn.l3ac",
+#                     "template_name": "ac1",
+#                     "properties": {
+#                         "ip": {
+#                             "type_name": "string"
+#                         },
+#                         "route": {
+#                             "type_name": "string"
+#                         },
+#                         "port": {
+#                             "type_name": "string"
+#                         },
+#                         "svlan": {
+#                             "type_name": "string"
+#                         }
+#                     },
+#                     "interfaces": [
+#                         {
+#                             "name": "Standard",
+#                             "type_name": "tosca.interfaces.node.lifecycle.Standard"
+#                         }
+#                     ],
+#                     "capabilities": [
+#                         {
+#                             "name": "feature",
+#                             "type_name": "tosca.capabilities.Node"
+#                         },
+#                         {
+#                             "name": "ac",
+#                             "type_name": "tosca.capabilities.sdn.ac"
+#                         }
+#                     ],
+#                     "relationships": [
+#                         {
+#                             "target_node_id": "pe1_e58ekps6m45g6w9egs9lue2j7",
+#                             "target_capability_name": "feature"
+#                         },
+#                         {
+#                             "target_node_id": "ac2_fdhrbk3dvan8hl5wifm9lp1e9",
+#                             "target_capability_name": "feature"
+#                         }
+#                     ]
+#                 },
+#                 {
+#                     "id": "vpn_ie0xim076f7cje67fvrrq9tg1",
+#                     "type_name": "tosca.nodes.sdn.underlayVPN",
+#                     "template_name": "vpn",
+#                     "properties": {
+#                         "serviceType": {
+#                             "type_name": "string"
+#                         },
+#                         "description": {
+#                             "type_name": "string"
+#                         },
+#                         "name": {
+#                             "type_name": "string"
+#                         },
+#                         "topology": {
+#                             "type_name": "string"
+#                         }
+#                     },
+#                     "interfaces": [
+#                         {
+#                             "name": "Standard",
+#                             "type_name": "tosca.interfaces.node.lifecycle.Standard"
+#                         }
+#                     ],
+#                     "capabilities": [
+#                         {
+#                             "name": "feature",
+#                             "type_name": "tosca.capabilities.Node"
+#                         }
+#                     ],
+#                     "relationships": [
+#                         {
+#                             "target_node_id": "ac1_jqows1ai0j0cmwk9jdvuknt97",
+#                             "target_capability_name": "feature"
+#                         },
+#                         {
+#                             "target_node_id": "ac2_fdhrbk3dvan8hl5wifm9lp1e9",
+#                             "target_capability_name": "feature"
+#                         }
+#                     ]
+#                 },
+#                 {
+#                     "id": "pe1_e58ekps6m45g6w9egs9lue2j7",
+#                     "type_name": "tosca.nodes.sdn.l3pe",
+#                     "template_name": "pe1",
+#                     "properties": {
+#                         "id": {
+#                             "type_name": "string"
+#                         }
+#                     },
+#                     "interfaces": [
+#                         {
+#                             "name": "Standard",
+#                             "type_name": "tosca.interfaces.node.lifecycle.Standard"
+#                         }
+#                     ],
+#                     "capabilities": [
+#                         {
+#                             "name": "feature",
+#                             "type_name": "tosca.capabilities.Node"
+#                         },
+#                         {
+#                             "name": "pe",
+#                             "type_name": "tosca.capabilities.sdn.pe"
+#                         }
+#                     ]
+#                 },
+#                 {
+#                     "id": "pe2_go3vo1ctxr1vlbl0ij8stbtj6",
+#                     "type_name": "tosca.nodes.sdn.l3pe",
+#                     "template_name": "pe2",
+#                     "properties": {
+#                         "id": {
+#                             "type_name": "string"
+#                         }
+#                     },
+#                     "interfaces": [
+#                         {
+#                             "name": "Standard",
+#                             "type_name": "tosca.interfaces.node.lifecycle.Standard"
+#                         }
+#                     ],
+#                     "capabilities": [
+#                         {
+#                             "name": "feature",
+#                             "type_name": "tosca.capabilities.Node"
+#                         },
+#                         {
+#                             "name": "pe",
+#                             "type_name": "tosca.capabilities.sdn.pe"
+#                         }
+#                     ]
+#                 }
+#             ],
+#             "substitution": {
+#                 "node_type_name": "tosca.nodes.sdn.ext.NS.ns_underlayervpn"
+#             },
+#             "inputs": {
+#                 "ac2_ip": {
+#                     "type_name": "string",
+#                     "description": "ac2_ipofunderlayvpn"
+#                 },
+#                 "ac2_route": {
+#                     "type_name": "string",
+#                     "description": "ac2_routeofunderlayvpn"
+#                 },
+#                 "serviceType": {
+#                     "type_name": "string",
+#                     "description": "serviceTypeofunderlayvpn"
+#                 },
+#                 "description": {
+#                     "type_name": "string",
+#                     "description": "descriptionofunderlayvpn"
+#                 },
+#                 "pe2_id": {
+#                     "type_name": "string",
+#                     "description": "pe2_idofunderlayvpn"
+#                 },
+#                 "ac1_route": {
+#                     "type_name": "string",
+#                     "description": "ac1_routeofunderlayvpn"
+#                 },
+#                 "ac1_svlan": {
+#                     "type_name": "integer",
+#                     "description": "ac1_svlanofunderlayvpn"
+#                 },
+#                 "name": {
+#                     "type_name": "string",
+#                     "description": "Nameofunderlayervpn"
+#                 },
+#                 "ac1_ip": {
+#                     "type_name": "string",
+#                     "description": "ac1_ipofunderlayvpn"
+#                 },
+#                 "ac2_port": {
+#                     "type_name": "string",
+#                     "description": "ac2_portofunderlayvpn"
+#                 },
+#                 "pe1_id": {
+#                     "type_name": "string",
+#                     "description": "pe1_idofunderlayvpn"
+#                 },
+#                 "technology": {
+#                     "type_name": "string",
+#                     "description": "technologyofunderlayvpn"
+#                 },
+#                 "ac1_port": {
+#                     "type_name": "string",
+#                     "description": "ac1_portofunderlayvpn"
+#                 },
+#                 "ac2_svlan": {
+#                     "type_name": "integer",
+#                     "description": "ac2_svlanofunderlayvpn"
+#                 },
+#                 "topology": {
+#                     "type_name": "string",
+#                     "description": "topologyofunderlayvpn"
+#                 }
+#             }
+#         }
+#     }
+# }
index 4ded31c..66b1a25 100644 (file)
@@ -18,7 +18,7 @@ import mock
 from django.test import TestCase
 from rest_framework import status
 from rest_framework.test import APIClient
-from lcm.nf.const import vnfpackage_info
+from .const import vnfpackage_info
 from lcm.pub.database.models import NfInstModel, JobStatusModel
 from lcm.pub.utils import restcall
 from lcm.pub.utils.timeutil import now_time
index 14743b2..bde15e1 100644 (file)
@@ -20,7 +20,7 @@ from rest_framework import status
 from rest_framework.test import APIClient\r
 \r
 from lcm.nf.biz.heal_vnf import HealVnf\r
-from lcm.nf.const import c1_data_get_tenant_id_1, c9_data_create_vm, c10_data_get_vm, vnfd_model_dict\r
+from .const import c1_data_get_tenant_id_1, c9_data_create_vm, c10_data_get_vm, vnfd_model_dict\r
 from lcm.pub.database.models import NfInstModel, JobStatusModel, VmInstModel\r
 from lcm.pub.utils import restcall\r
 from lcm.pub.utils.jobutil import JobUtil\r
index 0313705..ad5f229 100644 (file)
@@ -21,7 +21,7 @@ from rest_framework import status
 from rest_framework.test import APIClient\r
 \r
 from lcm.nf.biz.instantiate_vnf import InstantiateVnf\r
-from lcm.nf.const import c1_data_get_tenant_id, c4_data_create_network, c2_data_create_volume, \\r
+from .const import c1_data_get_tenant_id, c4_data_create_network, c2_data_create_volume, \\r
     c5_data_create_subnet, c3_data_get_volume, c6_data_create_port, c7_data_create_flavor, c8_data_list_image, \\r
     c9_data_create_vm, c10_data_get_vm, inst_req_data, vnfpackage_info\r
 from lcm.pub.database.models import NfInstModel, JobStatusModel, SubscriptionModel\r