X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ice_validator%2Fpreload%2Fmodel.py;h=db604386c174df643fd025587491413566bb3681;hb=842888dc28ebccab45e627669f7ee23f04920dc7;hp=dba0bb5ba2ee9e904c1425aba5c8386eaa0e0a3f;hpb=d7f6c7ca8191822cf437997337129d087a6533f6;p=vvp%2Fvalidation-scripts.git diff --git a/ice_validator/preload/model.py b/ice_validator/preload/model.py index dba0bb5..db60438 100644 --- a/ice_validator/preload/model.py +++ b/ice_validator/preload/model.py @@ -56,6 +56,8 @@ from tests.utils import nested_dict from tests.utils.vm_types import get_vm_type_for_nova_server from config import Config, get_generator_plugins +from tests.test_environment_file_parameters import ENV_PARAMETER_SPEC + CHANGE = "CHANGEME" @@ -234,7 +236,7 @@ class Vnf: @property def base_output_params(self): - return self.base_module.heat.outputs + return self.base_module.heat.outputs if self.base_module else {} def filter_base_outputs(self): non_base_modules = (m for m in self.modules if not m.is_base_module) @@ -260,7 +262,8 @@ class VnfModule(FilterBaseOutputs): self.heat = Heat(filepath=template_file, envpath=env_path(template_file)) env_pair = get_environment_pair(self.template_file) env_yaml = env_pair.get("eyml") if env_pair else {} - self.parameters = env_yaml.get("parameters") or {} + self.parameters = {key: "" for key in self.heat.parameters} + self.parameters.update(env_yaml.get("parameters") or {}) self.networks = [] self.virtual_machine_types = self._create_vm_types() self._add_networks() @@ -325,7 +328,18 @@ class VnfModule(FilterBaseOutputs): @property def env_specs(self): """Return available Environment Spec definitions""" - return Config().env_specs + try: + return Config().env_specs + except FileNotFoundError: + return [ENV_PARAMETER_SPEC] + + @property + def platform_provided_params(self): + result = set() + for spec in self.env_specs: + for props in spec["PLATFORM PROVIDED"]: + result.add(props["property"][-1]) + return result @property def env_template(self): @@ -334,7 +348,6 @@ class VnfModule(FilterBaseOutputs): preload generation. """ params = OrderedDict() - params["vnf_name"] = CHANGE params["vnf-type"] = CHANGE params["vf-module-model-name"] = CHANGE params["vf_module_name"] = CHANGE @@ -354,10 +367,11 @@ class VnfModule(FilterBaseOutputs): excluded = get_preload_excluded_parameters( self.template_file, persistent_only=True ) + excluded.update(self.platform_provided_params) for name, value in self.parameters.items(): if name in excluded: continue - params[name] = value + params[name] = value if value else CHANGE return {"parameters": params} @property @@ -370,7 +384,8 @@ class VnfModule(FilterBaseOutputs): :return: dict of parameters suitable for the preload """ excluded = get_preload_excluded_parameters(self.template_file) - return {k: v for k, v in self.parameters.items() if k not in excluded} + params = {k: v for k, v in self.parameters.items() if k not in excluded} + return params def _get_vm_type(self, vm_type): for vm in self.virtual_machine_types: