From 74c937ccfbdaa77c8377d209e4b22156a3137a15 Mon Sep 17 00:00:00 2001 From: fujinhua Date: Fri, 19 Apr 2019 10:19:40 +0800 Subject: [PATCH] refactor codes for vnflcm Change-Id: I5e1d539a80ab4c8cbf0e26eccc618292ece4b45c Issue-ID: VFC-1307 Signed-off-by: fujinhua --- lcm/lcm/nf/const.py | 1068 ----------------------------- lcm/lcm/nf/tests/const.py | 1080 ++++++++++++++++++++++++++++++ lcm/lcm/nf/tests/test_create_vnf.py | 2 +- lcm/lcm/nf/tests/test_heal_vnf.py | 2 +- lcm/lcm/nf/tests/test_instantiate_vnf.py | 2 +- 5 files changed, 1083 insertions(+), 1071 deletions(-) create mode 100644 lcm/lcm/nf/tests/const.py diff --git a/lcm/lcm/nf/const.py b/lcm/lcm/nf/const.py index e61c5a27..b14e50d4 100644 --- a/lcm/lcm/nf/const.py +++ b/lcm/lcm/nf/const.py @@ -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": "xxxssss" - } - ], - "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": "", - "inputs": { - "param1Name": "value1", - "paramNName": "valueN" - } - }, - "configure": { - "implementation": "", - "inputs": { - "param1Name": "value1", - "paramNName": "valueN" - } - }, - "start": { - "implementation": "", - "inputs": { - "param1Name": "value1", - "paramNName": "valueN" - } - }, - "stop": { - "implementation": "", - "inputs": { - "param1Name": "value1", - "paramNName": "valueN" - } - }, - "delete": { - "implementation": "", - "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 index 00000000..38d251e0 --- /dev/null +++ b/lcm/lcm/nf/tests/const.py @@ -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": "xxxssss" + } + ], + "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": "", + "inputs": { + "param1Name": "value1", + "paramNName": "valueN" + } + }, + "configure": { + "implementation": "", + "inputs": { + "param1Name": "value1", + "paramNName": "valueN" + } + }, + "start": { + "implementation": "", + "inputs": { + "param1Name": "value1", + "paramNName": "valueN" + } + }, + "stop": { + "implementation": "", + "inputs": { + "param1Name": "value1", + "paramNName": "valueN" + } + }, + "delete": { + "implementation": "", + "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/test_create_vnf.py b/lcm/lcm/nf/tests/test_create_vnf.py index 4ded31ce..66b1a251 100644 --- a/lcm/lcm/nf/tests/test_create_vnf.py +++ b/lcm/lcm/nf/tests/test_create_vnf.py @@ -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 diff --git a/lcm/lcm/nf/tests/test_heal_vnf.py b/lcm/lcm/nf/tests/test_heal_vnf.py index 14743b2e..bde15e16 100644 --- a/lcm/lcm/nf/tests/test_heal_vnf.py +++ b/lcm/lcm/nf/tests/test_heal_vnf.py @@ -20,7 +20,7 @@ from rest_framework import status from rest_framework.test import APIClient from lcm.nf.biz.heal_vnf import HealVnf -from lcm.nf.const import c1_data_get_tenant_id_1, c9_data_create_vm, c10_data_get_vm, vnfd_model_dict +from .const import c1_data_get_tenant_id_1, c9_data_create_vm, c10_data_get_vm, vnfd_model_dict from lcm.pub.database.models import NfInstModel, JobStatusModel, VmInstModel from lcm.pub.utils import restcall from lcm.pub.utils.jobutil import JobUtil diff --git a/lcm/lcm/nf/tests/test_instantiate_vnf.py b/lcm/lcm/nf/tests/test_instantiate_vnf.py index 03137054..ad5f2298 100644 --- a/lcm/lcm/nf/tests/test_instantiate_vnf.py +++ b/lcm/lcm/nf/tests/test_instantiate_vnf.py @@ -21,7 +21,7 @@ from rest_framework import status from rest_framework.test import APIClient from lcm.nf.biz.instantiate_vnf import InstantiateVnf -from lcm.nf.const import c1_data_get_tenant_id, c4_data_create_network, c2_data_create_volume, \ +from .const import c1_data_get_tenant_id, c4_data_create_network, c2_data_create_volume, \ c5_data_create_subnet, c3_data_get_volume, c6_data_create_port, c7_data_create_flavor, c8_data_list_image, \ c9_data_create_vm, c10_data_get_vm, inst_req_data, vnfpackage_info from lcm.pub.database.models import NfInstModel, JobStatusModel, SubscriptionModel -- 2.16.6