X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=lcm%2Flcm%2Fnf%2Fconst.py;h=e61c5a27b98516d40c34944373447f829e23da4a;hb=4bd2ff38b30e2113bd9e59ea474e33139b4d1ed5;hp=47097d52708510f53acaeff39a11f63f223190ca;hpb=b5518485a86ec89544fe0defa6bee4b92d748dbd;p=vfc%2Fgvnfm%2Fvnflcm.git diff --git a/lcm/lcm/nf/const.py b/lcm/lcm/nf/const.py index 47097d52..e61c5a27 100644 --- a/lcm/lcm/nf/const.py +++ b/lcm/lcm/nf/const.py @@ -13,15 +13,146 @@ # limitations under the License. import json +from lcm.pub.config import config from lcm.pub.utils.jobutil import enum -VNF_STATUS = enum(NULL='null', INSTANTIATING="instantiating", INACTIVE='inactive', ACTIVE="active", - FAILED="failed", TERMINATING="terminating", SCALING="scaling", OPERATING="operating", - UPDATING="updating", HEALING="healing") +HEAL_ACTION_TYPE = enum( + START="vmCreate", + RESTART="vmReset" +) + +ACTION_TYPE = enum( + START=1, + STOP=2, + REBOOT=3 +) + +GRANT_TYPE = enum( + INSTANTIATE="INSTANTIATE", + TERMINATE="TERMINATE", + HEAL_CREATE="Heal Create", + HEAL_RESTART="Heal Restart", + SCALE_IN="SCALE_IN", + SCALE_OUT="SCALE_OUT", + CHANGE_FLAVOUR="CHANGE_FLAVOUR", + OPERATE="OPERATE", + CHANGE_CONNECTIVITY="CHANGE_CONNECTIVITY", +) + +VNF_STATUS = enum( + NULL='null', + INSTANTIATING="instantiating", + INACTIVE='inactive', + ACTIVE="active", + FAILED="failed", + TERMINATING="terminating", + SCALING="scaling", + OPERATING="operating", + UPDATING="updating", + HEALING="healing" +) + +OPERATION_TYPE = enum( + INSTANTIATE="INSTANTIATE", + SCALE="SCALE", + SCALE_TO_LEVEL="SCALE_TO_LEVEL", + CHANGE_FLAVOUR="CHANGE_FLAVOUR", + TERMINATE="TERMINATE", + HEAL="HEAL", + OPERATE="OPERATE", + CHANGE_EXT_CONN="CHANGE_EXT_CONN", + MODIFY_INFO="MODIFY_INFO" +) + +INSTANTIATION_STATE = enum( + NOT_INSTANTIATED="NOT_INSTANTIATED", + INSTANTIATED="INSTANTIATED" +) + +LCM_NOTIFICATION_STATUS = enum(START="START", RESULT="RESULT") + +OPERATION_STATE_TYPE = enum( + STARTING="STARTING", + PROCESSING="PROCESSING", + COMPLETED="COMPLETED", + FAILED_TEMP="FAILED_TEMP", + FAILED="FAILED", + ROLLING_BACK="ROLLING_BACK", + ROLLED_BACK="ROLLED_BACK" +) + +RESULT_RANGE = ( + OPERATION_STATE_TYPE.COMPLETED, + OPERATION_STATE_TYPE.FAILED_TEMP, + OPERATION_STATE_TYPE.FAILED, + OPERATION_STATE_TYPE.ROLLED_BACK +) + +RUNNING_RANGE = ( + OPERATION_STATE_TYPE.STARTING, + OPERATION_STATE_TYPE.PROCESSING, + OPERATION_STATE_TYPE.ROLLING_BACK +) + +FINAL_STATE_RANGE = ( + OPERATION_STATE_TYPE.COMPLETED, + OPERATION_STATE_TYPE.FAILED, + OPERATION_STATE_TYPE.ROLLED_BACK +) + +CHANGE_TYPE = enum( + ADDED='ADDED', + REMOVED='REMOVED', + MODIFIED='MODIFIED', + TEMPORARY='TEMPORARY', + LINK_PORT_ADDED='LINK_PORT_ADDED', + LINK_PORT_REMOVED='LINK_PORT_REMOVED' +) RESOURCE_MAP = {'Storage': 'volumn', 'Network': 'network', 'SubNetwork': 'subnet', 'Port': 'port', 'Flavour': 'flavor', 'Vm': 'vm'} +URL_PREFIX = "http://%s:%s/api/vnflcm/v1" % (config.MSB_SERVICE_IP, config.MSB_SERVICE_PORT) + +ROOT_URI = "api/vnflcm/v1/subscriptions/" + +AUTH_TYPES = ["BASIC", "OAUTH2_CLIENT_CREDENTIALS", "TLS_CERT"] + +BASIC = "BASIC" + +OAUTH2_CLIENT_CREDENTIALS = "OAUTH2_CLIENT_CREDENTIALS" + +LCCNNOTIFICATION = "VnfLcmOperationOccurrenceNotification" + +NOTIFICATION_TYPES = [ + "VnfLcmOperationOccurrenceNotification", + "VnfIdentifierCreationNotification", + "VnfIdentifierDeletionNotification" +] + +LCM_OPERATION_TYPES = [ + OPERATION_TYPE.INSTANTIATE, + OPERATION_TYPE.SCALE, + OPERATION_TYPE.SCALE_TO_LEVEL, + OPERATION_TYPE.CHANGE_FLAVOUR, + OPERATION_TYPE.TERMINATE, + OPERATION_TYPE.HEAL, + OPERATION_TYPE.OPERATE, + OPERATION_TYPE.CHANGE_EXT_CONN, + OPERATION_TYPE.MODIFY_INFO +] + +LCM_OPERATION_STATE_TYPES = [ + OPERATION_STATE_TYPE.STARTING, + OPERATION_STATE_TYPE.PROCESSING, + OPERATION_STATE_TYPE.COMPLETED, + OPERATION_STATE_TYPE.FAILED_TEMP, + OPERATION_STATE_TYPE.FAILED, + OPERATION_STATE_TYPE.ROLLING_BACK, + OPERATION_STATE_TYPE.ROLLED_BACK +] + + inst_req_data = { "flavourId": "flavour_1", "instantiationLevelId": "instantiationLevel_1", @@ -172,9 +303,9 @@ vnfd_model_dict = { "local_storage_id1", "local_storage_id2" ], - "volume_storages": [ + "virtual_storages": [ { - "volume_storage_id": "volume_storage1", + "virtual_storage_id": "volume_storage1", "location": "/usr/data", "device": "/dev/hda1" } @@ -257,13 +388,6 @@ vnfd_model_dict = { } }, "artifacts": [ - { - "artifact_name": "software_version_file", - "type": "tosca.artifacts.Deployment", - "file": "AppSoftwares/zte-cn-xgw-V5.16.11_NFV-version.zip", - "repository": "", - "deploy_path": "" - } ] } ], @@ -272,7 +396,7 @@ vnfd_model_dict = { "volume_storage_id": "volume_storage1", "description": "", "properties": { - "size": "100 GB", + "size": "\"100 GB\"", "volume_id": "", "volume_name": "volumeStorage1", "custom_volume_type": "type1", @@ -422,11 +546,20 @@ c1_data_get_tenant_id = { "tenants": [ { "id": "1", - "name": "tenantname_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", @@ -476,7 +609,7 @@ c4_data_create_network = { "vlanTransparent": True, "networkType": "vlan", "segmentationId": 202, - "physicalNetwork": "ctrl", + "physicalNetwork": "physnet1", "routerExternal": False } @@ -520,7 +653,7 @@ c6_data_create_port = { "subnetName": "subnet1", "macAddress": "212.12.61.23", "ip": "10.43.38.11", - "vnicType": "normal", + "vnicType": "direct", "securityGroups": "" } @@ -586,7 +719,149 @@ c10_data_get_vm = { } vnfdModel = { - "volume_storages": [], + "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", @@ -649,16 +924,6 @@ vnfdModel = { "description": "Nameofunderlayervpn" } }, - "vdus": [], - "image_files": [], - "routers": [], - "local_storages": [], - "vnf_exposed": { - "external_cps": [], - "forward_cps": [] - }, - "vls": [], - "cps": [], "metadata": { "designer": "sdno", "name": "underlayervpn",