[VVP] Preload Generation Enhancements and Fixes
[vvp/validation-scripts.git] / ice_validator / preload_vnfapi / vnfapi_generator.py
index 517c789..dce1789 100644 (file)
@@ -76,10 +76,30 @@ class VnfApiPreloadGenerator(AbstractPreloadGenerator):
     def generate_module(self, vnf_module, output_dir):
         preload = get_json_template(DATA_DIR, "preload_template")
         self._populate(preload, vnf_module)
-        outfile = "{}/{}.json".format(output_dir, vnf_module.vnf_name)
+        incomplete = "_incomplete" if self.module_incomplete else ""
+        outfile = "{}/{}{}.json".format(output_dir, vnf_module.vnf_name, incomplete)
         with open(outfile, "w") as f:
             json.dump(preload, f, indent=4)
 
+    def _populate(self, preload, vnf_module):
+        self._add_vnf_metadata(preload)
+        self._add_availability_zones(preload, vnf_module)
+        self._add_vnf_networks(preload, vnf_module)
+        self._add_vms(preload, vnf_module)
+        self._add_parameters(preload, vnf_module)
+
+    def _add_vnf_metadata(self, preload):
+        vnf_meta = preload["input"]["vnf-topology-information"]["vnf-topology-identifier"]
+        vnf_meta["vnf-name"] = self.replace("vnf_name")
+        vnf_meta["generic-vnf-type"] = self.replace(
+            "vnf-type",
+            "VALUE FOR: Concatenation of <Service Name>/"
+            "<VF Instance Name> MUST MATCH SDC",
+        )
+        vnf_meta["vnf-type"] = self.replace(
+            "vf-module-model-name", "VALUE FOR: <vfModuleModelName> from CSAR or SDC"
+        )
+
     def add_floating_ips(self, network_template, network):
         # only one floating IP is really supported, in the preload model
         # so for now we'll just use the last one.  We might revisit this
@@ -102,12 +122,6 @@ class VnfApiPreloadGenerator(AbstractPreloadGenerator):
                 )
                 network_template["ip-count-ipv6"] += 1
 
-    def _populate(self, preload, vnf_module):
-        self._add_availability_zones(preload, vnf_module)
-        self._add_vnf_networks(preload, vnf_module)
-        self._add_vms(preload, vnf_module)
-        self._add_parameters(preload, vnf_module)
-
     def _add_availability_zones(self, preload, vnf_module):
         zones = preload["input"]["vnf-topology-information"]["vnf-assignments"][
             "availability-zones"