diff options
author | stark, steven <ss820f@att.com> | 2018-09-14 07:55:49 -0700 |
---|---|---|
committer | stark, steven <ss820f@att.com> | 2018-09-14 07:55:49 -0700 |
commit | 60d5ad7d00eadd6395eca186e6fa76a43df3c6cf (patch) | |
tree | 95d83d0a70a948707ead37800bc547da7f5861b2 /ice_validator/tests/test_volume_resource_ids.py | |
parent | 31d5da59b39d38760cc519a2c5e5b70357b539e8 (diff) |
[VVP] udpating scripts for casablanca 2
adding scripts updates
adding docrators for sections 5.2.6 - end
closes out VVP 80
Change-Id: Iecac476949aa3ae3982f8c77671869583eb313d6
Issue-ID: VVP-80
Signed-off-by: stark, steven <ss820f@att.com>
Diffstat (limited to 'ice_validator/tests/test_volume_resource_ids.py')
-rw-r--r-- | ice_validator/tests/test_volume_resource_ids.py | 55 |
1 files changed, 30 insertions, 25 deletions
diff --git a/ice_validator/tests/test_volume_resource_ids.py b/ice_validator/tests/test_volume_resource_ids.py index 45b05e7..9f0d176 100644 --- a/ice_validator/tests/test_volume_resource_ids.py +++ b/ice_validator/tests/test_volume_resource_ids.py @@ -39,17 +39,19 @@ # import re + import pytest -import yaml +from tests import cached_yaml as yaml + from .utils.vm_types import get_vm_type_for_nova_server def test_volume_resource_ids(heat_template): - """ + ''' Check that all resource ids for cinder volumes follow the right naming convention to include the {vm_type} of the nova server it is associated to - """ + ''' with open(heat_template) as fh: yml = yaml.load(fh) @@ -57,24 +59,25 @@ def test_volume_resource_ids(heat_template): if "resources" not in yml: pytest.skip("No resources specified in the heat template") - volume_pattern = re.compile(r"(.+?)_volume_id_\d+") - resources = yml["resources"] + volume_pattern = re.compile(r'(.+?)_volume_id_\d+') + resources = yml['resources'] invalid_volumes = [] for k, v in resources.items(): if not isinstance(v, dict): continue - if "type" not in v: + if 'type' not in v: continue - if v["type"] not in ["OS::Nova::Server", "OS::Cinder::VolumeAttachment"]: + if v['type'] not in ['OS::Nova::Server', + 'OS::Cinder::VolumeAttachment']: continue - if v["type"] == "OS::Nova::Server": + if v['type'] == 'OS::Nova::Server': # check block_device_mapping and make sure the right # {vm_type} is used - if "properties" not in v: + if 'properties' not in v: continue - if "block_device_mapping" not in v["properties"]: + if 'block_device_mapping' not in v['properties']: continue vm_type = get_vm_type_for_nova_server(v) @@ -83,15 +86,17 @@ def test_volume_resource_ids(heat_template): vm_type = vm_type.lower() # get the volume_id from the block_device_mapping - properties = v["properties"] - for v2 in properties["block_device_mapping"]: + properties = v['properties'] + for v2 in properties['block_device_mapping']: for k3, v3 in v2.items(): - if k3 != "volume_id": + if k3 != 'volume_id': continue if not isinstance(v3, dict): continue - volume_id = v3.get("get_param") or v3.get("get_resource") + volume_id = ( + v3.get('get_param') or + v3.get('get_resource')) if not volume_id: continue if isinstance(volume_id, list): @@ -102,27 +107,27 @@ def test_volume_resource_ids(heat_template): if vm_type + "_" not in volume_id: invalid_volumes.append(volume_id) - elif v["type"] == "OS::Cinder::VolumeAttachment": + elif v['type'] == 'OS::Cinder::VolumeAttachment': # check the volume attachment and the {vm_type} # of the corresponding nova server - if "properties" not in v: + if 'properties' not in v: continue - if "volume_id" not in v["properties"]: + if 'volume_id' not in v['properties']: continue - if "instance_uuid" not in v["properties"]: + if 'instance_uuid' not in v['properties']: continue - properties = v["properties"] + properties = v['properties'] # get the instance_uuid and when applicable # the nova server instance instance_uuid = None nova_server = None - if "get_param" in properties["instance_uuid"]: + if 'get_param' in properties['instance_uuid']: continue - elif "get_resource" in properties["instance_uuid"]: - instance_uuid = properties["instance_uuid"]["get_resource"] + elif 'get_resource' in properties['instance_uuid']: + instance_uuid = properties['instance_uuid']['get_resource'] if not resources[instance_uuid]: continue nova_server = resources[instance_uuid] @@ -132,9 +137,9 @@ def test_volume_resource_ids(heat_template): # get the volume_id volume_id = None - volume_id = properties["volume_id"].get("get_param") or properties[ - "volume_id" - ].get("get_resource") + volume_id = ( + properties['volume_id'].get('get_param') or + properties['volume_id'].get('get_resource')) if not volume_id: continue if isinstance(volume_id, list): |