Getting flavor info from OOF
[vfc/gvnfm/vnflcm.git] / lcm / lcm / nf / const.py
index da338f6..ff7fb1a 100644 (file)
 # 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.utils.jobutil import enum
 
+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", OPERATE="Operate")
 VNF_STATUS = enum(NULL='null', INSTANTIATING="instantiating", INACTIVE='inactive', ACTIVE="active",
                   FAILED="failed", TERMINATING="terminating", SCALING="scaling", OPERATING="operating",
                   UPDATING="updating", HEALING="healing")
 
+RESOURCE_MAP = {'Storage': 'volumn', 'Network': 'network', 'SubNetwork': 'subnet', 'Port': 'port',
+                'Flavour': 'flavor', 'Vm': 'vm'}
+
+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 = [
+    "INSTANTIATE",
+    "SCALE",
+    "SCALE_TO_LEVEL",
+    "CHANGE_FLAVOUR",
+    "TERMINATE",
+    "HEAL",
+    "OPERATE",
+    "CHANGE_EXT_CONN",
+    "MODIFY_INFO"
+]
+
+LCM_OPERATION_STATE_TYPES = [
+    "STARTING",
+    "PROCESSING",
+    "COMPLETED",
+    "FAILED_TEMP",
+    "FAILED",
+    "ROLLING_BACK",
+    "ROLLED_BACK"
+]
+
+
 inst_req_data = {
     "flavourId": "flavour_1",
     "instantiationLevelId": "instantiationLevel_1",
     "extVirtualLinks": [
         {
-            "vlInstanceId": "1",
-            "vim": {
-                "vimInfoId": "1",
-                "vimId": "1",
-                "interfaceInfo": {
-                    "vimType": "vim",
-                    "apiVersion": "v2",
-                    "protocolType": "http"
-                },
-                "accessInfo": {
-                    "tenant": "tenant_vCPE",
-                    "username": "vCPE",
-                    "password": "vCPE_321"
-                },
-                "interfaceEndpoint": "http://10.43.21.105:80/"
-            },
-            "resourceId": "1246",
+            "id": "extVirtualLink_1",
+            "vimConnectionId": "vimConnection_1",
+            "resourceProviderId": "resourceProvider_1",
+            "resourceId": "resource_1",
+            "resourceSubnetId": "resourceSubnet_1",
             "extCps": [
                 {
-                    "cpdId": "11",
-                    "addresses": [
+                    "cpdId": "cpd_1",
+                    "cpConfig": [
                         {
-                            "addressType": "MAC",
-                            "l2AddressData": "00:f3:43:20:a2:a3"
-                        },
-                        {
-                            "addressType": "IP",
-                            "l3AddressData": {
-                                "iPAddressType": "IPv4",
-                                "iPAddress": "192.168.104.2"
-                            }
+                            "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",
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
                         }
-                    ],
-                    "numDynamicAddresses": 0
+                    ]
+                }
+            ],
+            "extLinkPorts": [
+                {
+                    "id": "extLinkPort_1",
+                    "resourceHandle": {
+                        "vimConnectionId": "vimConnection_1",
+                        "resourceProviderId": "resourceProvider_1",
+                        "resourceId": "resource_1",
+                        "vimLevelResourceType": "vimLevelResourceType_1",
+                    }
                 }
             ]
-        },
+        }
+    ],
+    "extManagedVirtualLinks": [
         {
-            "vlInstanceId": '55',
-            "resourceId": '55_network',
-            "resourceSubnetId": '55_subnet',
-            "cpdId": 'cpId1',
-            "vim": {
-                "vimId": '55_vimid'
-            }
+            "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": {
-        "inputs": {
-            "key1": "test1",
-            "key2": "test2"
-        },
-        "extVirtualLinks": [
-            {
-                "vlInstanceId": '55',
-                "resourceId": '55_network',
-                "resourceSubnetId": '55_subnet',
-                "cpdId": 'cpId1',
-                "vim": {
-                    "vimId": '55_vimid'
-                }
-            }
-        ]
+        "vimId": "vim_1",
+        "key1": "test1",
+        "key2": "test2",
     }
 }
 
@@ -405,7 +464,7 @@ c1_data_get_tenant_id = {
     "tenants": [
         {
             "id": "1",
-            "name": "tenantname_1"
+            "name": "chinamobile"
         }
     ]
 }
@@ -459,7 +518,7 @@ c4_data_create_network = {
     "vlanTransparent": True,
     "networkType": "vlan",
     "segmentationId": 202,
-    "physicalNetwork": "ctrl",
+    "physicalNetwork": "physnet1",
     "routerExternal": False
 }
 
@@ -503,7 +562,7 @@ c6_data_create_port = {
     "subnetName": "subnet1",
     "macAddress": "212.12.61.23",
     "ip": "10.43.38.11",
-    "vnicType": "normal",
+    "vnicType": "direct",
     "securityGroups": ""
 }
 
@@ -568,8 +627,149 @@ c10_data_get_vm = {
     "status": "ACTIVE"
 }
 
-vnfpackage_info = {
-    "volume_storages": [],
+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": "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": '{"schema-version": "0", "schema-location":"", "platform-id": "generic", "mandatory": false, "configuration-value": "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",
+                            "flavorName": "flavor_1",
+                            "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_storage": {
+                "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",
@@ -632,16 +832,6 @@ vnfpackage_info = {
             "description": "Nameofunderlayervpn"
         }
     },
-    "vdus": [],
-    "image_files": [],
-    "routers": [],
-    "local_storages": [],
-    "vnf_exposed": {
-        "external_cps": [],
-        "forward_cps": []
-    },
-    "vls": [],
-    "cps": [],
     "metadata": {
         "designer": "sdno",
         "name": "underlayervpn",
@@ -654,6 +844,21 @@ vnfpackage_info = {
     }
 }
 
+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": {