Add change vnf flavour biz
[vfc/gvnfm/vnflcm.git] / lcm / lcm / nf / const.py
index c5ebf5d..e61c5a2 100644 (file)
 # 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",
@@ -426,6 +550,15 @@ c1_data_get_tenant_id = {
         }
     ]
 }
+c1_data_get_tenant_id_1 = {
+    "tenants": [
+        {
+            "id": "1",
+            "name": "tenantname"
+        }
+    ]
+}
+
 
 # create_volume
 c2_data_create_volume = {
@@ -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": ""
 }
 
@@ -597,7 +730,7 @@ vnfdModel = {
                 },
                 "volume_name": "test",
                 "custom_volume_type": "test",
-                "size": "10 GB",
+                "size_of_storage": "\"10 GB\"",
             },
             "image_file": "test",
         },
@@ -650,7 +783,18 @@ vnfdModel = {
                         },
                     },
                 ],
-                "vnic_type": "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"
+                    }
+                ]
             }
         }
     ],
@@ -662,6 +806,17 @@ vnfdModel = {
                     "vimid": "test",
                     "tenant": "chinamobile",
                     "availability_zone": "test",
+                    "vnfId": "",
+                    "vnfName": "",
+                    "cloudOwner": "",
+                    "cloudRegionId": "",
+                    "vduInfo": [
+                        {
+                            "vduName": "VDU_vbng_0",
+                            "flavorId": "12345",
+                            "directive": ""
+                        }
+                    ]
                 },
                 "name": "test",
                 "inject_files": [],
@@ -681,10 +836,11 @@ vnfdModel = {
                     },
                 },
             },
-            "virtual_storage": {
+            "virtual_storages": [{
+                "virtual_storage_id": "test",
                 "type_of_storage": "ephemeral",
                 "size_of_storage": "10 GB",
-            },
+            }],
             "type": "tosca.nodes.nfv.Vdu.Compute",
             "artifacts": [
                 {