Add vnfd validity check 60/93760/1
authorhongyuzhao <zhao.hongyu@zte.com.cn>
Mon, 19 Aug 2019 09:28:42 +0000 (17:28 +0800)
committerhongyuzhao <zhao.hongyu@zte.com.cn>
Mon, 19 Aug 2019 09:28:50 +0000 (17:28 +0800)
Change-Id: I6d6a590d47c3c88fd5e3b594435f059326db2879
Issue-ID: VFC-1490
Signed-off-by: hongyuzhao <zhao.hongyu@zte.com.cn>
lcm/lcm/pub/verifyvnfd/const.py
lcm/lcm/pub/verifyvnfd/tests.py

index abc0392..6869dd8 100644 (file)
@@ -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"
+    }
+}
index 18f6ca3..86e2d04 100644 (file)
@@ -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, [])