# 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",
}
}
"tenants": [
{
"id": "1",
- "name": "tenantname_1"
+ "name": "chinamobile"
}
]
}
"vlanTransparent": True,
"networkType": "vlan",
"segmentationId": 202,
- "physicalNetwork": "ctrl",
+ "physicalNetwork": "physnet1",
"routerExternal": False
}
"subnetName": "subnet1",
"macAddress": "212.12.61.23",
"ip": "10.43.38.11",
- "vnicType": "normal",
+ "vnicType": "direct",
"securityGroups": ""
}
"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",
"description": "Nameofunderlayervpn"
}
},
- "vdus": [],
- "image_files": [],
- "routers": [],
- "local_storages": [],
- "vnf_exposed": {
- "external_cps": [],
- "forward_cps": []
- },
- "vls": [],
- "cps": [],
"metadata": {
"designer": "sdno",
"name": "underlayervpn",
}
}
+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": {