self.up_string = "UNKNOWN"
self.teuthology_suite = 'teuthology-suite'
+ def set_provider(self):
+ if 'OS_AUTH_URL' not in os.environ:
+ raise Exception('no OS_AUTH_URL environment variable')
+ providers = (('cloud.ovh.net', 'ovh'),
+ ('entercloudsuite.com', 'entercloudsuite'),
+ ('rackspacecloud.com', 'rackspace'))
+ self.provider = None
+ for (pattern, provider) in providers:
+ if pattern in os.environ['OS_AUTH_URL']:
+ self.provider = provider
+ break
+ return self.provider
+
@staticmethod
def get_value(result, field):
"""
except subprocess.CalledProcessError:
log.exception("openstack server list")
raise Exception("verify openrc.sh has been sourced")
- if 'OS_AUTH_URL' not in os.environ:
- raise Exception('no OS_AUTH_URL environment variable')
- providers = (('cloud.ovh.net', 'ovh'),
- ('entercloudsuite.com', 'entercloudsuite'),
- ('rackspacecloud.com', 'rackspace'))
- self.provider = None
- for (pattern, provider) in providers:
- if pattern in os.environ['OS_AUTH_URL']:
- self.provider = provider
- break
+ self.set_provider()
def flavor(self):
"""
}
assert defaults == OpenStack().interpret_hints(defaults, None)
+ def test_set_provider(self):
+ auth = os.environ.get('OS_AUTH_URL', None)
+ os.environ['OS_AUTH_URL'] = 'cloud.ovh.net'
+ assert OpenStack().set_provider() == 'ovh'
+ if auth != None:
+ os.environ['OS_AUTH_URL'] = auth
+ else:
+ del os.environ['OS_AUTH_URL']
class TestTeuthologyOpenStack(object):