# Copyright (C) 2019 ZTE. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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.
vnfd_model1 = {
'metadata': {
'vendor': 'zte',
'is_shared': False,
'description': '',
'domain_type': 'CN',
'version': 'v4.14.10',
'vmnumber_overquota_alarm': False,
'cross_dc': False,
'vnf_type': 'SSS',
'vnfd_version': 'V00000001',
'id': 'sss-vnf-template',
'name': 'sss-vnf-template'
},
'vdus': [
{
"vdu_id": "vdu1Id",
"description": "vdu description",
"properties": {
"name": "vduinstname",
"vdu_type": "OMP",
"key_vdu": True,
"support_scaling": True,
"location_info": {
"vimid": "vimid",
"tenant": "tenantname",
"availability_zone": "zone1",
"host": "host1"
},
"local_affinity_antiaffinity_rule": [
{
"affinity_antiaffinity": "anti-affinity",
"scope": "node"
},
{
"affinity_antiaffinity": "affinity",
"scope": "zone"
}
],
"inject_data_list": [
{
"file_name": "abc.xml",
"file_data": "xxxssss"
}
],
"storage_policy": "HIGH",
"template_id": "26",
"manual_scale_select_vim": False,
"watchdog": {
"enabledelay": 600000,
"action": "reset"
},
"is_predefined": False,
"allow_scale_updown": False,
"inject_network_address": True,
"inner_hugepage_num": 100,
"inner_hugepage_size": "2048",
"action": "add"
},
"image_file": 'sss',
"local_storages": [
"local_storage_id1",
"local_storage_id2"
],
"virtual_storages": [
{
"virtual_storage_id": "volume_storage1",
"location": "/usr/data",
"device": "/dev/hda1"
}
],
"dependencies": [
"vdu1Id",
"vduNId"
],
"nfv_compute": {
"num_cpus": 4,
"mem_size": "1 GB",
"cpu_frequency": "1GHz",
"flavor_extra_specs": {
"hw: cpu_policy": "shared",
"hw: cpu_max_threads": 50,
"hw: cpu_sockets": 10,
"hw: cpu_max_sockets": 20,
"hw: cpu_max_cores": 8,
"hw: cpu_threads": 30,
"hw: numa_mem.0": 12288,
"hw: hugepage_num": 100,
"hw: high_performance": "dvs_high",
"hw: numa_nodes": 1,
"hw: numa_cpus.0": "2,4,8",
"hw: numa_pci": True,
"hw: cpu_cores": 4,
"pci_passthrough: alias": "ColetoCreek: 1",
"hw: mem_page_size": "large",
"hw: mem_paging_mechanism": "EPT"
}
},
"vls": [
"vlId1",
],
"cps": [
"cpId1",
],
"scalable": {
"min_instances": 1,
"max_instances": 2,
"default_instances": 1
},
"interfaces": {
"Standard": {
"create": {
"implementation": "",
"inputs": {
"param1Name": "value1",
"paramNName": "valueN"
}
},
"configure": {
"implementation": "",
"inputs": {
"param1Name": "value1",
"paramNName": "valueN"
}
},
"start": {
"implementation": "",
"inputs": {
"param1Name": "value1",
"paramNName": "valueN"
}
},
"stop": {
"implementation": "",
"inputs": {
"param1Name": "value1",
"paramNName": "valueN"
}
},
"delete": {
"implementation": "",
"inputs": {
"param1Name": "value1",
"paramNName": "valueN"
}
}
}
},
"artifacts": [
]
}
],
'volume_storages': [
{
"volume_storage_id": "volume_storage1",
"description": "",
"properties": {
"size": "\"100 GB\"",
"volume_id": "",
"volume_name": "volumeStorage1",
"custom_volume_type": "type1",
"disk_type": "data",
"delete_on_termination_vm": True,
"location_info": {
"vimid": "vimid_1",
"tenant": "tenantname_1",
"availability_zone": "zone1"
},
"is_predefined": False,
"is_shared": False
},
"image_file": "volume_image"
}
],
'policies': {
'scaling': {
'targets': {
},
'policy_id': 'policy_scale_sss-vnf-template',
'properties': {
'policy_file': '*-vnfd.zip/*-vnf-policy.xml'
},
'description': ''
}
},
'image_files': [
{
'description': '',
'properties': {
'name': 'opencos_sss_omm_img_release_20150723-1-disk1.vmdk',
'checksum': '',
'disk_format': 'VMDK',
'file_url': './zte-cn-sss-main-image/OMM/opencos_sss_omm_img_release_20150723-1-disk1.vmdk',
'container_type': 'vm',
'version': '',
'hypervisor_type': 'kvm'
},
'image_file_id': 'opencos_sss_omm_img_release_20150723-1-disk1'
},
{
'description': '',
'properties': {
'name': 'sss.vmdk',
'checksum': '',
'disk_format': 'VMDK',
'file_url': './zte-cn-sss-main-image/NE/sss.vmdk',
'container_type': 'vm',
'version': '',
'hypervisor_type': 'kvm'
},
'image_file_id': 'sss'
}
],
'vls': [
{
"vl_id": "vldId1",
"description": "",
"properties": {
"name": "umac_241_control",
"network_name": "umac_control",
"is_predefined": False,
"vendor": "zte",
"netmask": "255.255.255.0",
"mtu": 1500,
"network_type": "vlan",
"physical_network": "phynet01",
"segmentation_id": "30",
"vlan_transparent": False,
"vds_name": "vds1",
"cidr": "192.168.199.0/24",
"ip_version": 4,
"gateway_ip": "192.168.199.1",
"dhcp_enabled": False,
"dns_nameservers": [
"192.168.0.4",
"192.168.0.10"
],
"start_ip": "192.168.199.2",
"end_ip": "192.168.199.254",
"host_routes": [
{
"destination": "10.43.26.0/24",
"nexthop": "10.41.23.1"
}
],
"location_info": {
"vimid": "vimid_1",
"tenant": "tenantname_1"
},
"cloud_type": "IaaS",
"vl_profile": {"networkName": "test"},
"connectivity_type": {}
},
"route_id": "router01",
"route_external": False
}
],
'cps': [
{
"cp_id": "cpId1",
"description": "",
"properties": {
"name": "",
"mac_address": "00:d9:00:82:11:e1",
"ip_address:": "192.168.1.21",
"ip_range_start": "192.168.1.20",
"ip_range_end": "192.168.1.29",
"floating_ip_address": {
"external_network": "extnet01",
"ip_address": "10.43.53.23"
},
"service_ip_address": "192.168.1.23",
"order": 1,
"bandwidth": 1000,
"vnic_type": "normal",
"allowed_address_pairs": [
{
"ip": "192.168.1.13",
"mac": "00:f3:43:20:a2:a3"
}
],
"bond": "none",
"bond_index": 1,
"macbond": "00:d9:00:82:11:d1",
"sfc_encapsulation": "",
"direction": "",
"gateway_ip": "192.168.199.1",
"netmask": "255.255.255.0",
"interface_name": "fe-01-02",
"is_virtual": False,
"function": "control",
"protocol_data": [
{
"address_data": {
"l3_address_data": {
"fixed_ip_address": "test"
},
},
},
]
},
"vl_id": "vldId1",
"vdu_id": "vdu1Id"
}
],
'local_storages': [
],
}
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"
}
}