From 44e8131216787127980558824b2a1def94fe317e Mon Sep 17 00:00:00 2001 From: spisarski Date: Wed, 9 May 2018 10:48:09 -0600 Subject: Patch to make flavor configuration for tests more flexible. Also fixed potential issues with downloading images from https locations JIRA: SNAPS-254 Change-Id: Ib81569df499bbf0652c2025fc7de37af92525f7f Signed-off-by: spisarski --- requirements.txt | 2 +- snaps/file_utils.py | 5 +- snaps/openstack/tests/cluster_template_tests.py | 7 +- snaps/openstack/tests/create_instance_tests.py | 89 +++++++++++++------------ snaps/openstack/tests/create_stack_tests.py | 7 +- snaps/openstack/tests/openstack_tests.py | 27 ++++++++ snaps/openstack/utils/tests/nova_utils_tests.py | 8 +-- snaps/provisioning/tests/ansible_utils_tests.py | 9 +-- 8 files changed, 97 insertions(+), 57 deletions(-) diff --git a/requirements.txt b/requirements.txt index 5139ae7..9e991bc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,7 +7,7 @@ python-keystoneclient>=3.8.0 # Apache-2.0 python-glanceclient>=2.8.0 # Apache-2.0 python-heatclient>=1.10.0 # Apache-2.0 python-cinderclient>=3.3.0 # Apache-2.0 -python-magnumclient>=2.1.0 # Apache-2.0 +python-magnumclient==2.1.0 # Apache-2.0 ansible<2.4,>=2.1.0 wrapt>=1.7.0 # BSD License scp diff --git a/snaps/file_utils.py b/snaps/file_utils.py index a421dd3..58ec55c 100644 --- a/snaps/file_utils.py +++ b/snaps/file_utils.py @@ -12,6 +12,8 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +import ssl + import os import logging @@ -168,7 +170,8 @@ def __get_url_response(url): proxy_handler = urllib.ProxyHandler({}) opener = urllib.build_opener(proxy_handler) urllib.install_opener(opener) - return urllib.urlopen(url) + context = ssl._create_unverified_context() + return urllib.urlopen(url, context=context) def read_yaml(config_file_path): diff --git a/snaps/openstack/tests/cluster_template_tests.py b/snaps/openstack/tests/cluster_template_tests.py index b08f260..eda790d 100644 --- a/snaps/openstack/tests/cluster_template_tests.py +++ b/snaps/openstack/tests/cluster_template_tests.py @@ -69,9 +69,10 @@ class CreateClusterTemplateTests(OSIntegrationTestCase): self.image_creator = OpenStackImage(self.os_creds, os_image_settings) - self.flavor_creator = OpenStackFlavor( - self.os_creds, FlavorConfig( - name=self.guid + '-flavor', ram=512, disk=10, vcpus=1)) + flavor_config = openstack_tests.get_flavor_config( + name=self.guid + '-flavor', ram=512, disk=10, + vcpus=1, metadata=self.flavor_metadata) + self.flavor_creator = OpenStackFlavor(self.os_creds, flavor_config) keypair_priv_filepath = 'tmp/' + self.guid keypair_pub_filepath = keypair_priv_filepath + '.pub' diff --git a/snaps/openstack/tests/create_instance_tests.py b/snaps/openstack/tests/create_instance_tests.py index 0ef155b..bdd6d50 100644 --- a/snaps/openstack/tests/create_instance_tests.py +++ b/snaps/openstack/tests/create_instance_tests.py @@ -24,7 +24,6 @@ from neutronclient.common.exceptions import ( InvalidIpForSubnetClient, BadRequest) from snaps import file_utils -from snaps.config.flavor import FlavorConfig from snaps.config.image import ImageConfig from snaps.config.keypair import KeypairConfig from snaps.config.network import PortConfig, NetworkConfig, SubnetConfig @@ -335,10 +334,11 @@ class SimpleHealthCheck(OSIntegrationTestCase): if (self.flavor_metadata and self.flavor_metadata.get('hw:mem_page_size') == 'large'): self.flavor_ram = 1024 + flavor_config = openstack_tests.get_flavor_config( + name=guid + '-flavor-name', ram=self.flavor_ram, disk=10, + vcpus=1, metadata=self.flavor_metadata) self.flavor_creator = OpenStackFlavor( - self.admin_os_creds, - FlavorConfig(name=guid + '-flavor-name', ram=self.flavor_ram, - disk=10, vcpus=1, metadata=self.flavor_metadata)) + self.admin_os_creds, flavor_config) self.flavor_creator.create() except Exception as e: self.tearDown() @@ -437,10 +437,11 @@ class CreateInstanceSimpleTests(OSIntegrationTestCase): self.image_creator.create() # Create Flavor + flavor_config = openstack_tests.get_flavor_config( + name=self.guid + '-flavor-name', ram=256, disk=10, + vcpus=2, metadata=self.flavor_metadata) self.flavor_creator = OpenStackFlavor( - self.admin_os_creds, - FlavorConfig(name=self.guid + '-flavor-name', ram=256, disk=10, - vcpus=2, metadata=self.flavor_metadata)) + self.admin_os_creds, flavor_config) self.flavor_creator.create() self.network_creator = None except Exception as e: @@ -615,10 +616,11 @@ class CreateInstanceExternalNetTests(OSIntegrationTestCase): self.image_creator.create() # Create Flavor + flavor_config = openstack_tests.get_flavor_config( + name=guid + '-flavor-name', ram=256, disk=10, + vcpus=2, metadata=self.flavor_metadata) self.flavor_creator = OpenStackFlavor( - self.admin_os_creds, - FlavorConfig(name=guid + '-flavor-name', ram=256, disk=10, - vcpus=2, metadata=self.flavor_metadata)) + self.admin_os_creds, flavor_config) self.flavor_creator.create() self.port_settings = PortConfig( @@ -737,10 +739,11 @@ class CreateInstanceSingleNetworkTests(OSIntegrationTestCase): self.router_creator.create() # Create Flavor + flavor_config = openstack_tests.get_flavor_config( + name=guid + '-flavor-name', ram=256, disk=10, + vcpus=2, metadata=self.flavor_metadata) self.flavor_creator = OpenStackFlavor( - self.admin_os_creds, - FlavorConfig(name=guid + '-flavor-name', ram=256, disk=10, - vcpus=2, metadata=self.flavor_metadata)) + self.admin_os_creds, flavor_config) self.flavor_creator.create() self.keypair_creator = OpenStackKeypair( @@ -1146,11 +1149,11 @@ class CreateInstanceIPv6NetworkTests(OSIntegrationTestCase): self.os_creds, os_image_settings) self.image_creator.create() + flavor_config = openstack_tests.get_flavor_config( + name=self.guid + '-flavor-name', ram=256, disk=10, + vcpus=2, metadata=self.flavor_metadata) self.flavor_creator = OpenStackFlavor( - self.admin_os_creds, - FlavorConfig( - name=self.guid + '-flavor-name', ram=256, disk=10, vcpus=2, - metadata=self.flavor_metadata)) + self.admin_os_creds, flavor_config) self.flavor_creator.create() self.keypair_creator = OpenStackKeypair( @@ -1385,10 +1388,11 @@ class CreateInstancePortManipulationTests(OSIntegrationTestCase): self.network_creator.create() # Create Flavor + flavor_config = openstack_tests.get_flavor_config( + name=self.guid + '-flavor-name', ram=256, disk=10, + vcpus=2, metadata=self.flavor_metadata) self.flavor_creator = OpenStackFlavor( - self.admin_os_creds, - FlavorConfig(name=self.guid + '-flavor-name', ram=256, disk=10, - vcpus=2, metadata=self.flavor_metadata)) + self.admin_os_creds, flavor_config) self.flavor_creator.create() except Exception as e: self.tearDown() @@ -1760,10 +1764,11 @@ class CreateInstanceOnComputeHost(OSIntegrationTestCase): self.network_creator.create() # Create Flavor + flavor_config = openstack_tests.get_flavor_config( + name=guid + '-flavor-name', ram=512, disk=1, + vcpus=1, metadata=self.flavor_metadata) self.flavor_creator = OpenStackFlavor( - self.admin_os_creds, - FlavorConfig(name=guid + '-flavor-name', ram=512, disk=1, - vcpus=1, metadata=self.flavor_metadata)) + self.admin_os_creds, flavor_config) self.flavor_creator.create() # Create Image @@ -1909,11 +1914,11 @@ class InstanceSecurityGroupTests(OSIntegrationTestCase): self.network_creator.create() # Create Flavor + flavor_config = openstack_tests.get_flavor_config( + name=self.guid + '-flavor-name', ram=256, disk=10, + vcpus=2, metadata=self.flavor_metadata) self.flavor_creator = OpenStackFlavor( - self.admin_os_creds, - FlavorConfig(name=self.guid + '-flavor-name', ram=256, - disk=10, vcpus=2, - metadata=self.flavor_metadata)) + self.admin_os_creds, flavor_config) self.flavor_creator.create() self.port_settings = PortConfig( @@ -2246,10 +2251,11 @@ class CreateInstanceFromThreePartImage(OSIntegrationTestCase): self.image_creator.create() # Create Flavor + flavor_config = openstack_tests.get_flavor_config( + name=guid + '-flavor-name', ram=256, disk=10, + vcpus=2, metadata=self.flavor_metadata) self.flavor_creator = OpenStackFlavor( - self.admin_os_creds, - FlavorConfig(name=guid + '-flavor-name', ram=256, disk=10, - vcpus=2, metadata=self.flavor_metadata)) + self.admin_os_creds, flavor_config) self.flavor_creator.create() # Create Network @@ -2368,11 +2374,11 @@ class CreateInstanceMockOfflineTests(OSComponentTestCase): self.network_creator.create() # Create Flavor + flavor_config = openstack_tests.get_flavor_config( + name=self.guid + '-flavor-name', ram=256, disk=10, + vcpus=2, metadata=self.flavor_metadata) self.flavor_creator = OpenStackFlavor( - self.os_creds, - FlavorConfig( - name=self.guid + '-flavor-name', ram=256, disk=10, - vcpus=1)) + self.os_creds, flavor_config) self.flavor_creator.create() except Exception as e: self.tearDown() @@ -2910,11 +2916,11 @@ class CreateInstanceTwoNetTests(OSIntegrationTestCase): self.os_creds, router_settings) self.router_creator.create() + flavor_config = openstack_tests.get_flavor_config( + name=self.guid + '-flavor-name', ram=512, disk=10, + vcpus=2, metadata=self.flavor_metadata) self.flavor_creator = OpenStackFlavor( - self.admin_os_creds, - FlavorConfig(name=self.guid + '-flavor-name', ram=512, - disk=10, vcpus=2, - metadata=self.flavor_metadata)) + self.admin_os_creds, flavor_config) self.flavor_creator.create() self.sec_grp_name = self.guid + '-sec-grp' @@ -3099,10 +3105,11 @@ class CreateInstanceVolumeTests(OSIntegrationTestCase): self.image_creator.create() # Create Flavor + flavor_config = openstack_tests.get_flavor_config( + name=guid + '-flavor-name', ram=256, disk=1, + vcpus=2, metadata=self.flavor_metadata) self.flavor_creator = OpenStackFlavor( - self.admin_os_creds, - FlavorConfig(name=guid + '-flavor-name', ram=256, disk=1, - vcpus=2, metadata=self.flavor_metadata)) + self.admin_os_creds, flavor_config) self.flavor_creator.create() # Create Network diff --git a/snaps/openstack/tests/create_stack_tests.py b/snaps/openstack/tests/create_stack_tests.py index 17acede..dc04894 100644 --- a/snaps/openstack/tests/create_stack_tests.py +++ b/snaps/openstack/tests/create_stack_tests.py @@ -150,10 +150,11 @@ class CreateStackSuccessTests(OSIntegrationTestCase): self.image_creator.create() # Create Flavor + flavor_config = openstack_tests.get_flavor_config( + name=self.guid + '-flavor-name', ram=256, disk=10, + vcpus=1, metadata=self.flavor_metadata) self.flavor_creator = OpenStackFlavor( - self.admin_os_creds, - FlavorConfig( - name=self.guid + '-flavor-name', ram=256, disk=10, vcpus=1)) + self.admin_os_creds, flavor_config) self.flavor_creator.create() self.network_name = self.guid + '-net' diff --git a/snaps/openstack/tests/openstack_tests.py b/snaps/openstack/tests/openstack_tests.py index 516d24d..b4101a6 100644 --- a/snaps/openstack/tests/openstack_tests.py +++ b/snaps/openstack/tests/openstack_tests.py @@ -16,6 +16,7 @@ import logging import re from snaps import file_utils +from snaps.config.flavor import FlavorConfig from snaps.config.image import ImageConfig from snaps.config.network import NetworkConfig, SubnetConfig from snaps.config.router import RouterConfig @@ -328,6 +329,32 @@ def get_pub_net_config( netconf_override=netconf_override) +def get_flavor_config(name, ram, disk, vcpus, ephemeral=None, swap=None, + rxtx_factor=None, is_public=None, metadata=None): + if metadata: + if 'ram' in metadata: + ram = metadata['ram'] + if 'disk' in metadata: + disk = metadata['disk'] + if 'vcpus' in metadata: + vcpus = metadata['vcpus'] + if 'ephemeral' in metadata: + ephemeral = metadata['ephemeral'] + if 'swap' in metadata: + swap = metadata['swap'] + if 'rxtx_factor' in metadata: + rxtx_factor = metadata['rxtx_factor'] + if 'is_public' in metadata: + is_public = metadata['is_public'] + if 'metadata' in metadata: + metadata = metadata['metadata'] + + return FlavorConfig( + name=name, ram=ram, disk=disk, vcpus=vcpus, ephemeral=ephemeral, + swap=swap, rxtx_factor=rxtx_factor, is_public=is_public, + metadata=metadata) + + class OSNetworkConfig: """ Represents the settings required for the creation of a network in OpenStack diff --git a/snaps/openstack/utils/tests/nova_utils_tests.py b/snaps/openstack/utils/tests/nova_utils_tests.py index 1f60b9b..93aa7bf 100644 --- a/snaps/openstack/utils/tests/nova_utils_tests.py +++ b/snaps/openstack/utils/tests/nova_utils_tests.py @@ -400,11 +400,11 @@ class NovaUtilsInstanceVolumeTests(OSComponentTestCase): self.os_creds, network_settings) self.network_creator.create() + flavor_settings = FlavorConfig( + name=guid + '-flavor', ram=256, disk=10, vcpus=1, + metadata=self.flavor_metadata) self.flavor_creator = OpenStackFlavor( - self.os_creds, - FlavorConfig( - name=guid + '-flavor-name', ram=256, disk=10, vcpus=1, - metadata=self.flavor_metadata)) + self.os_creds, flavor_settings) self.flavor_creator.create() # Create Volume diff --git a/snaps/provisioning/tests/ansible_utils_tests.py b/snaps/provisioning/tests/ansible_utils_tests.py index 142e8ad..9ee17d4 100644 --- a/snaps/provisioning/tests/ansible_utils_tests.py +++ b/snaps/provisioning/tests/ansible_utils_tests.py @@ -105,11 +105,12 @@ class AnsibleProvisioningTests(OSIntegrationTestCase): self.router_creator.create() # Create Flavor + flavor_config = openstack_tests.get_flavor_config( + name=guid + '-flavor-name', ram=2048, disk=10, + vcpus=2, metadata=self.flavor_metadata) + self.flavor_creator = create_flavor.OpenStackFlavor( - self.admin_os_creds, - FlavorConfig( - name=guid + '-flavor-name', ram=2048, disk=10, vcpus=2, - metadata=self.flavor_metadata)) + self.admin_os_creds, flavor_config) self.flavor_creator.create() # Create Key/Pair -- cgit 1.2.3-korg