#
# ============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)