# ============LICENSE_START=======================================================
# org.onap.vvp/validation-scripts
# ===================================================================
-# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+# Copyright © 2019 AT&T Intellectual Property. All rights reserved.
# ===================================================================
#
# Unless otherwise specified, all software contained herein is licensed
#
# ============LICENSE_END============================================
#
-# ECOMP is a trademark and service mark of AT&T Intellectual Property.
#
import pytest
from tests import cached_yaml as yaml
-from .helpers import validates
+from .helpers import validates, is_nova_server
from .utils.vm_types import get_vm_types_for_resource, get_vm_types
@validates("R-57282")
-def test_vm_type_consistent_on_nova_servers(heat_template):
+def test_vm_type_consistent_on_nova_servers(yaml_file):
"""
Make sure all nova servers have properly formatted properties
for their name, image and flavor
"""
- with open(heat_template) as fh:
+ with open(yaml_file) as fh:
yml = yaml.load(fh)
# skip if resources are not defined
invalid_nova_servers = []
for k, v in yml["resources"].items():
- if not isinstance(v, dict):
- continue
- if v.get("type") != "OS::Nova::Server":
- continue
- if "properties" not in v:
+ if not is_nova_server(v):
continue
-
vm_types = get_vm_types_for_resource(v)
if len(vm_types) != 1:
invalid_nova_servers.append(k)
@validates("R-50436", "R-45188", "R-40499")
def test_nova_server_flavor_parameter(yaml_file):
-
- prop = "flavor"
- check_nova_parameter_format(prop, yaml_file)
+ check_nova_parameter_format("flavor", yaml_file)
@validates("R-51430", "R-54171", "R-87817")
def test_nova_server_name_parameter(yaml_file):
-
- prop = "name"
- check_nova_parameter_format(prop, yaml_file)
+ check_nova_parameter_format("name", yaml_file)
@validates("R-71152", "R-57282", "R-58670")
def test_nova_server_image_parameter(yaml_file):
-
- prop = "image"
- check_nova_parameter_format(prop, yaml_file)
+ check_nova_parameter_format("image", yaml_file)
def check_nova_parameter_format(prop, yaml_file):