"is_predefined": False,
"is_shared": False
},
- "image_file": [
- "volume_image"
- ]
+ "image_file": "volume_image"
}
],
'policies': {
],
}
+
+
+vnfd_model2 = {
+ "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": [
+ {
+ "destination": "10.43.26.0/24",
+ "nexthop": "10.41.23.1"
+ }
+ ],
+ },
+ "route_external": False,
+ }
+ ],
+ "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"
+ }
+}
+
+vnfd_model3 = {
+ "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",
+ },
+ ],
+ "vnf": {
+ "type": "tosca.nodes.nfv.VNF",
+ "requirements": {
+ "virtual_link": [
+ "ext_cp",
+ "virtual_link"
+ ]
+ },
+ "properties": {
+ "descriptor_id": "b1bb0ce7-1234-4fa7-95ed-4840d70a1179",
+ "flavour_description": "simple",
+ "descriptor_verison": "1.0",
+ "software_version": "1.0.0",
+ "template_name": "test",
+ "vnfm_info": [
+ "vnfm"
+ ],
+ "descriptor_version": "1.0.0",
+ "provider": "zte",
+ "flavour_id": "simple",
+ "product_name": "test"
+ },
+ "capabilities": {
+
+ },
+ "metadata": {
+ "template_name": "test",
+ "template_version": "1.0",
+ "template_author": "ZTE"
+ }
+ },
+ "vdus": [
+ {
+ "description": "",
+ "virtual_storages": [
+ {
+ "virtual_storage_id": "test",
+ "type_of_storage": "ephemeral",
+ "size_of_storage": "10 GB",
+ }
+ ],
+ "volume_storages": [
+ {
+ "volume_storage_id": "test",
+ }
+ ],
+ "vdu_id": "sunshine",
+ "artifacts": [
+ {
+ "artifact_name": "sw_image",
+ "type": "tosca.artifacts.nfv.SwImage",
+ "file": "sss.vmdk"
+ }
+ ],
+ "dependencies": [
+
+ ],
+ "virtual_compute": {
+ "virtual_cpu": {
+ "num_virtual_cpu": 2
+ },
+ "virtual_memory": {
+ "virtual_mem_size": "4096 MB"
+ },
+ },
+ "vls": [
+
+ ],
+ "cps": [
+ "ext_cp"
+ ],
+ "type": "tosca.nodes.nfv.Vdu.Compute",
+ "properties": {
+ "vdu_profile": {
+ "max_number_of_instances": 3,
+ "min_number_of_instances": 1
+ },
+ "name": "sunshine1234",
+ "sw_image_data": {
+ "operating_system": "linux",
+ "name": "ubuntu",
+ "checksum": {
+ "hash": "d0e7828293355a07c2dccaaa765c80b507e60e6167067c950dc2e6b0da0dbd34",
+ "algorithm": "SHA-256"
+ },
+ "min_ram": "2 GB",
+ "disk_format": "qcow2",
+ "version": 16.04,
+ "container_format": "bare",
+ "min_disk": "2 GB",
+ "size": "2 GB"
+ },
+ "description": "vdu test",
+ "location_info": {
+ "vimid": "",
+ "tenant": "",
+ "availability_zone": "",
+ "vnfId": "",
+ "vnfName": "",
+ "cloudOwner": "",
+ "cloudRegionId": "",
+ "vduInfo": [
+ {
+ "vduName": "sunshine1234",
+ "flavorId": "12345",
+ "directive": ""
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "description": "test",
+ "inputs": {
+
+ },
+ "graph": {
+ "sunshine": [
+ "ext_cp"
+ ],
+ "ext_cp": [
+
+ ]
+ },
+ "basepath": "/tmp/tmpil6wVG",
+ "vnf_exposed": {
+ "external_cps": [
+ {
+ "key_name": "virtual_link",
+ "cpd_id": "ext_cp"
+ }
+ ],
+ "forward_cps": [
+
+ ]
+ },
+ "policies": [
+ {
+ "type": "tosca.policies.nfv.InstantiationLevels",
+ "targets": "",
+ "properties": {
+ "default_level": "instantiation_level_1",
+ "levels": {
+ "instantiation_level_1": {
+ "scale_info": {
+ "sunshine_aspect": {
+ "scale_level": 0
+ }
+ },
+ "description": "vnf test instantiation_level_1"
+ },
+ "instantiation_level_2": {
+ "scale_info": {
+ "sunshine_aspect": {
+ "scale_level": 1
+ }
+ },
+ "description": "vnf test instantiation_level_2"
+ },
+ "instantiation_level_3": {
+ "scale_info": {
+ "sunshine_aspect": {
+ "scale_level": 2
+ }
+ },
+ "description": "vnf test instantiation_level_3"
+ }
+ }
+ }
+ },
+ {
+ "type": "tosca.policies.nfv.VduInstantiationLevels",
+ "targets": [
+ "sunshine"
+ ],
+ "properties": {
+ "levels": {
+ "instantiation_level_1": {
+ "number_of_instances": 1
+ },
+ "instantiation_level_2": {
+ "number_of_instances": 2
+ },
+ "instantiation_level_3": {
+ "number_of_instances": 3
+ }
+ }
+ }
+ },
+ {
+ "type": "tosca.policies.nfv.ScalingAspects",
+ "targets": "",
+ "properties": {
+ "aspects": {
+ "sunshine_aspect": {
+ "max_scale_level": 2,
+ "description": "sunshine aspect",
+ "name": "sunshine_aspect",
+ "step_deltas": [
+ "sunshine_delta"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "type": "tosca.policies.nfv.VduInitialDelta",
+ "targets": [
+ "sunshine"
+ ],
+ "properties": {
+ "initial_delta": {
+ "number_of_instances": 1
+ }
+ }
+ },
+ {
+ "type": "tosca.policies.nfv.VduScalingAspectDeltas",
+ "targets": [
+ "sunshine"
+ ],
+ "properties": {
+ "deltas": {
+ "sunshine_delta": {
+ "number_of_instances": 1
+ }
+ },
+ "aspect": "sunshine_aspect"
+ }
+ }
+ ],
+ "vls": [
+ ],
+ "cps": [
+ {
+ "vl_id": "",
+ "description": "",
+ "vdu_id": "sunshine",
+ "properties": {
+ "trunk_mode": "false",
+ "protocol_data": [{
+ "address_data": {
+ "address_type": "ip_address",
+ "l3_address_data": {
+ "floating_ip_activated": False,
+ "ip_address_assignment": False
+ }
+ }
+ }]
+ },
+ "cp_id": "ext_cp",
+ "cpd_id": "ext_cp"
+ }
+ ],
+ "metadata": {
+ "template_name": "test",
+ "template_version": "1.0",
+ "template_author": "ZTE"
+ }
+}
+
+vnfd_model_miss_required = {
+ "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",
+ },
+ ],
+ "vnf": {
+ "type": "tosca.nodes.nfv.VNF",
+ "requirements": {
+ "virtual_link": [
+ "ext_cp",
+ "virtual_link"
+ ]
+ },
+ "properties": {
+ "descriptor_id": "b1bb0ce7-1234-4fa7-95ed-4840d70a1179",
+ "flavour_description": "simple",
+ "descriptor_verison": "1.0",
+ "software_version": "1.0.0",
+ "template_name": "test",
+ "vnfm_info": [
+ "vnfm"
+ ],
+ "descriptor_version": "1.0.0",
+ "provider": "zte",
+ "flavour_id": "simple",
+ "product_name": "test"
+ },
+ "capabilities": {
+
+ },
+ "metadata": {
+ "template_name": "test",
+ "template_version": "1.0",
+ "template_author": "ZTE"
+ }
+ },
+ "vdus": [
+ {
+ "description": "",
+ "virtual_storages": [
+ {
+ "virtual_storage_id": "test",
+ "type_of_storage": "ephemeral",
+ "size_of_storage": "10 GB",
+ }
+ ],
+ "volume_storages": [
+ {
+ "volume_storage_id": "test",
+ }
+ ],
+ "vdu_id": "sunshine",
+ "artifacts": [
+ {
+ "artifact_name": "sw_image",
+ "type": "tosca.artifacts.nfv.SwImage",
+ "file": "sss.vmdk"
+ }
+ ],
+ "dependencies": [
+
+ ],
+ "virtual_compute": {
+ "virtual_cpu": {
+ "num_virtual_cpu": 2
+ },
+ "virtual_memory": {
+ "virtual_mem_size": "4096 MB"
+ },
+ },
+ "vls": [
+
+ ],
+ "cps": [
+ "ext_cp"
+ ],
+ "type": "tosca.nodes.nfv.Vdu.Compute",
+ "properties": {
+ "vdu_profile": {
+ "max_number_of_instances": 3,
+ "min_number_of_instances": 1
+ },
+ "name": "sunshine1234",
+ "sw_image_data": {
+ "operating_system": "linux",
+ "name": "ubuntu",
+ "checksum": {
+ "hash": "d0e7828293355a07c2dccaaa765c80b507e60e6167067c950dc2e6b0da0dbd34",
+ "algorithm": "SHA-256"
+ },
+ "min_ram": "2 GB",
+ "disk_format": "qcow2",
+ "version": 16.04,
+ "container_format": "bare",
+ "min_disk": "2 GB",
+ "size": "2 GB"
+ },
+ "description": "vdu test",
+ "location_info": {
+ "vimid": "",
+ "tenant": "",
+ "availability_zone": "",
+ "vnfId": "",
+ "vnfName": "",
+ "cloudOwner": "",
+ "cloudRegionId": "",
+ "vduInfo": [
+ {
+ "vduName": "sunshine1234",
+ "flavorId": "12345",
+ "directive": ""
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "description": "test",
+ "inputs": {
+
+ },
+ "graph": {
+ "sunshine": [
+ "ext_cp"
+ ],
+ "ext_cp": [
+
+ ]
+ },
+ "basepath": "/tmp/tmpil6wVG",
+ "vnf_exposed": {
+ "external_cps": [
+ {
+ "key_name": "virtual_link",
+ "cpd_id": "ext_cp"
+ }
+ ],
+ "forward_cps": [
+
+ ]
+ },
+ "policies": [
+ {
+ "type": "tosca.policies.nfv.InstantiationLevels",
+ "targets": "",
+ "properties": {
+ "default_level": "instantiation_level_1",
+ "levels": {
+ "instantiation_level_1": {
+ "scale_info": {
+ "sunshine_aspect": {
+ "scale_level": 0
+ }
+ },
+ "description": "vnf test instantiation_level_1"
+ },
+ "instantiation_level_2": {
+ "scale_info": {
+ "sunshine_aspect": {
+ "scale_level": 1
+ }
+ },
+ "description": "vnf test instantiation_level_2"
+ },
+ "instantiation_level_3": {
+ "scale_info": {
+ "sunshine_aspect": {
+ "scale_level": 2
+ }
+ },
+ "description": "vnf test instantiation_level_3"
+ }
+ }
+ }
+ },
+ {
+ "type": "tosca.policies.nfv.VduInstantiationLevels",
+ "targets": [
+ "sunshine"
+ ],
+ "properties": {
+ "levels": {
+ "instantiation_level_1": {
+ "number_of_instances": 1
+ },
+ "instantiation_level_2": {
+ "number_of_instances": 2
+ },
+ "instantiation_level_3": {
+ "number_of_instances": 3
+ }
+ }
+ }
+ },
+ {
+ "type": "tosca.policies.nfv.ScalingAspects",
+ "targets": "",
+ "properties": {
+ "aspects": {
+ "sunshine_aspect": {
+ "max_scale_level": 2,
+ "description": "sunshine aspect",
+ "name": "sunshine_aspect",
+ "step_deltas": [
+ "sunshine_delta"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "type": "tosca.policies.nfv.VduInitialDelta",
+ "targets": [
+ "sunshine"
+ ],
+ "properties": {
+ "initial_delta": {
+ "number_of_instances": 1
+ }
+ }
+ },
+ {
+ "type": "tosca.policies.nfv.VduScalingAspectDeltas",
+ "targets": [
+ "sunshine"
+ ],
+ "properties": {
+ "deltas": {
+ "sunshine_delta": {
+ "number_of_instances": 1
+ }
+ },
+ "aspect": "sunshine_aspect"
+ }
+ }
+ ],
+ "vls": [
+ {
+ # "vl_id": "test", //required
+ "properties": {
+ "location_info": {
+ "vimid": "test",
+ "tenant": "chinamobile",
+ },
+ "vl_profile": {
+ # "networkName": "test", //required
+ "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": False,
+ }
+ ],
+ "cps": [
+ {
+ "vl_id": "",
+ "description": "",
+ "vdu_id": "sunshine",
+ "properties": {
+ "trunk_mode": "false",
+ "protocol_data": [{
+ "address_data": {
+ "address_type": "ip_address",
+ # "l3_address_data": {
+ # "floating_ip_activated": False,
+ # "ip_address_assignment": False
+ # }
+ }
+ }]
+ },
+ # "cp_id": "ext_cp", //required
+ "cpd_id": "ext_cp"
+ }
+ ],
+ "metadata": {
+ "template_name": "test",
+ "template_version": "1.0",
+ "template_author": "ZTE"
+ }
+}