From 6f5ac3474d65c5f4059bfbc70f824d605a476b5d Mon Sep 17 00:00:00 2001 From: hongyuzhao Date: Mon, 19 Aug 2019 17:28:42 +0800 Subject: [PATCH] Add vnfd validity check Change-Id: I6d6a590d47c3c88fd5e3b594435f059326db2879 Issue-ID: VFC-1490 Signed-off-by: hongyuzhao --- lcm/lcm/pub/verifyvnfd/const.py | 279 ++++++++++++++++++++++++++++++++++++++++ lcm/lcm/pub/verifyvnfd/tests.py | 4 + 2 files changed, 283 insertions(+) diff --git a/lcm/lcm/pub/verifyvnfd/const.py b/lcm/lcm/pub/verifyvnfd/const.py index abc0392d..6869dd85 100644 --- a/lcm/lcm/pub/verifyvnfd/const.py +++ b/lcm/lcm/pub/verifyvnfd/const.py @@ -545,3 +545,282 @@ vnfd_model2 = { "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" + } +} diff --git a/lcm/lcm/pub/verifyvnfd/tests.py b/lcm/lcm/pub/verifyvnfd/tests.py index 18f6ca38..86e2d045 100644 --- a/lcm/lcm/pub/verifyvnfd/tests.py +++ b/lcm/lcm/pub/verifyvnfd/tests.py @@ -31,3 +31,7 @@ class VerifyVnfdTest(unittest.TestCase): def test_vnfd_verfify_success2(self): ret = verifyvnfd.verify(const.vnfd_model2) self.assertEqual(ret, []) + + def test_vnfd_verfify_success3(self): + ret = verifyvnfd.verify(const.vnfd_model3) + self.assertEqual(ret, []) -- 2.16.6