Changes to enable overriding the OSCreds for tests. 81/38281/1
authorspisarski <s.pisarski@cablelabs.com>
Thu, 27 Jul 2017 14:21:01 +0000 (08:21 -0600)
committerspisarski <s.pisarski@cablelabs.com>
Thu, 27 Jul 2017 14:21:01 +0000 (08:21 -0600)
JIRA: FUNCTEST-847

Change-Id: I36d1add82cdb13a2c8252495fd6df8e05dab837b
Signed-off-by: spisarski <s.pisarski@cablelabs.com>
snaps/openstack/os_credentials.py
snaps/openstack/tests/openstack_tests.py

index 0cecfa5..c93133a 100644 (file)
@@ -13,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 from neutronclient.common.utils import str2bool
-
+import numbers
 from snaps import file_utils
 from snaps.openstack.utils import glance_utils, keystone_utils
 
@@ -165,9 +165,13 @@ class ProxySettings:
         """
         self.host = kwargs.get('host')
         self.port = kwargs.get('port')
+        if self.port and isinstance(self.port, numbers.Number):
+            self.port = str(self.port)
 
         self.https_host = kwargs.get('https_host', self.host)
         self.https_port = kwargs.get('https_port', self.port)
+        if self.https_port and isinstance(self.https_port, numbers.Number):
+            self.https_port = str(self.https_port)
 
         self.ssh_proxy_cmd = kwargs.get('ssh_proxy_cmd')
 
index 67269c6..927b5b3 100644 (file)
@@ -48,7 +48,7 @@ DEFAULT_IMAGE_FORMAT = 'qcow2'
 
 
 def get_credentials(os_env_file=None, proxy_settings_str=None,
-                    ssh_proxy_cmd=None, dev_os_env_file=None):
+                    ssh_proxy_cmd=None, dev_os_env_file=None, overrides=None):
     """
     Returns the OpenStack credentials object. It first attempts to retrieve
     them from a standard OpenStack source file. If that file is None, it will
@@ -58,6 +58,8 @@ def get_credentials(os_env_file=None, proxy_settings_str=None,
     :param ssh_proxy_cmd: the SSH proxy command for your environment (optional)
     :param dev_os_env_file: the YAML file to retrieve both the OS credentials
                             and proxy settings
+    :param overrides: dict() containing values to override the credentials
+                      found and passed in.
     :return: the SNAPS credentials object
     """
     if os_env_file:
@@ -130,6 +132,9 @@ def get_credentials(os_env_file=None, proxy_settings_str=None,
             'cacert': config.get('cacert'),
             'region_name': config.get('region_name')}
 
+    if overrides and isinstance(overrides, dict):
+        creds_dict.update(overrides)
+
     os_creds = OSCreds(**creds_dict)
     logger.info('OS Credentials = %s', os_creds)
     return os_creds