is specified for https verification, or set to be False
to disable server certificate verification without cert
file
+ :param region_name: the region (optional default = None)
"""
self.username = kwargs.get('username')
self.password = kwargs.get('password')
else:
self.interface = kwargs['interface']
+ self.region_name = kwargs.get('region_name', None)
+
self.cacert = False
if kwargs.get('cacert') is not None:
if isinstance(kwargs.get('cacert'), str):
self.assertEqual('admin', os_creds.interface)
self.assertFalse(os_creds.cacert)
self.assertIsNone(os_creds.proxy_settings)
+ self.assertIsNone(os_creds.region_name)
def test_minimal_kwargs(self):
os_creds = OSCreds(**{'username': 'foo', 'password': 'bar',
self.assertEqual('admin', os_creds.interface)
self.assertFalse(os_creds.cacert)
self.assertIsNone(os_creds.proxy_settings)
+ self.assertIsNone(os_creds.region_name)
def test_all_kwargs_versions_str(self):
os_creds = OSCreds(
'auth_url': 'http://foo.bar:5000/v2', 'project_name': 'hello',
'identity_api_version': '5', 'image_api_version': '6',
'compute_api_version': '7', 'heat_api_version': '8.0',
- 'cacert': 'true'})
+ 'cacert': 'true', 'region_name': 'test_region'})
self.assertEqual('foo', os_creds.username)
self.assertEqual('bar', os_creds.password)
self.assertEqual('http://foo.bar:5000/v2', os_creds.auth_url)
self.assertEqual('admin', os_creds.interface)
self.assertTrue(os_creds.cacert)
self.assertIsNone(os_creds.proxy_settings)
+ self.assertEqual('test_region', os_creds.region_name)
def test_all_kwargs_versions_num(self):
os_creds = OSCreds(
'auth_url': 'http://foo.bar:5000/v2', 'project_name': 'hello',
'identity_api_version': 5, 'image_api_version': 6,
'compute_api_version': 7, 'heat_api_version': 8.0,
- 'cacert': True})
+ 'cacert': True, 'region_name': 'test_region'})
self.assertEqual('foo', os_creds.username)
self.assertEqual('bar', os_creds.password)
self.assertEqual('http://foo.bar:5000/v2', os_creds.auth_url)
self.assertEqual('admin', os_creds.interface)
self.assertTrue(os_creds.cacert)
self.assertIsNone(os_creds.proxy_settings)
+ self.assertEqual('test_region', os_creds.region_name)
def test_proxy_settings_obj(self):
proxy_settings = ProxySettings(host='foo', port=1234)
self.assertEqual('foo', os_creds.proxy_settings.host)
self.assertEqual(1234, os_creds.proxy_settings.port)
self.assertIsNone(os_creds.proxy_settings.ssh_proxy_cmd)
+ self.assertIsNone(os_creds.region_name)
def test_proxy_settings_obj_kwargs(self):
proxy_settings = ProxySettings(host='foo', port=1234)
os_creds = OSCreds(**{'username': 'foo', 'password': 'bar',
'auth_url': 'http://foo.bar:5000/v2',
'project_name': 'hello',
- 'proxy_settings': proxy_settings})
+ 'proxy_settings': proxy_settings,
+ 'region_name': 'test_region'})
self.assertEqual('foo', os_creds.username)
self.assertEqual('bar', os_creds.password)
self.assertEqual('http://foo.bar:5000/v2', os_creds.auth_url)
self.assertEqual('foo', os_creds.proxy_settings.host)
self.assertEqual(1234, os_creds.proxy_settings.port)
self.assertIsNone(os_creds.proxy_settings.ssh_proxy_cmd)
+ self.assertEqual('test_region', os_creds.region_name)
def test_proxy_settings_dict(self):
os_creds = OSCreds(
os_creds = OSCreds(**{'username': 'foo', 'password': 'bar',
'auth_url': 'http://foo.bar:5000/v2',
'project_name': 'hello',
- 'proxy_settings': {'host': 'foo', 'port': 1234}})
+ 'proxy_settings': {'host': 'foo', 'port': 1234},
+ 'region_name': 'test_region'})
self.assertEqual('foo', os_creds.username)
self.assertEqual('bar', os_creds.password)
self.assertEqual('http://foo.bar:5000/v2', os_creds.auth_url)
self.assertEqual('foo', os_creds.proxy_settings.host)
self.assertEqual(1234, os_creds.proxy_settings.port)
self.assertIsNone(os_creds.proxy_settings.ssh_proxy_cmd)
+ self.assertEqual('test_region', os_creds.region_name)
'network_api_version': config.get('OS_NETWORK_API_VERSION'),
'compute_api_version': config.get('OS_COMPUTE_API_VERSION'),
'heat_api_version': config.get('OS_HEAT_API_VERSION'),
- 'user_domain_id': config.get('OS_USER_DOMAIN_ID'),
- 'project_domain_id': config.get('OS_PROJECT_DOMAIN_ID'),
+ 'user_domain_id': config.get(
+ 'OS_USER_DOMAIN_ID', config.get('OS_USER_DOMAIN_NAME')),
+ 'project_domain_id': config.get(
+ 'OS_PROJECT_DOMAIN_ID', config.get('OS_PROJECT_DOMAIN_NAME')),
'interface': interface,
'proxy_settings': proxy_settings,
- 'cacert': https_cacert}
+ 'cacert': https_cacert,
+ 'region_name': config.get('OS_REGION_NAME')}
else:
logger.info('Reading development os_env file - ' + dev_os_env_file)
config = file_utils.read_yaml(dev_os_env_file)
'user_domain_id': config.get('user_domain_id'),
'project_domain_id': config.get('project_domain_id'),
'interface': config.get('interface'),
- 'proxy_settings': proxy_settings, 'cacert': config.get('cacert')}
+ 'proxy_settings': proxy_settings,
+ 'cacert': config.get('cacert'),
+ 'region_name': config.get('region_name')}
os_creds = OSCreds(**creds_dict)
logger.info('OS Credentials = %s', os_creds)
:return: the glance client
"""
return Client(version=os_creds.image_api_version,
- session=keystone_utils.keystone_session(os_creds))
+ session=keystone_utils.keystone_session(os_creds),
+ region_name=os_creds.region_name)
def get_image(glance, image_name=None):
"""
logger.debug('Retrieving Nova Client')
return Client(os_creds.heat_api_version,
- session=keystone_utils.keystone_session(os_creds))
+ session=keystone_utils.keystone_session(os_creds),
+ region_name=os_creds.region_name)
def get_stack_by_name(heat_cli, stack_name):
"""
return Client(
version=os_creds.identity_api_version,
- session=keystone_session(os_creds), interface=os_creds.interface)
+ session=keystone_session(os_creds),
+ interface=os_creds.interface,
+ region_name=os_creds.region_name)
def get_endpoint(os_creds, service_type, interface='public'):
:return: the client object
"""
return Client(api_version=os_creds.network_api_version,
- session=keystone_utils.keystone_session(os_creds))
+ session=keystone_utils.keystone_session(os_creds),
+ region_name=os_creds.region_name)
def create_network(neutron, os_creds, network_settings):
"""
logger.debug('Retrieving Nova Client')
return Client(os_creds.compute_api_version,
- session=keystone_utils.keystone_session(os_creds))
+ session=keystone_utils.keystone_session(os_creds),
+ region_name=os_creds.region_name)
def create_server(nova, neutron, glance, instance_settings, image_settings,
heat = heat_utils.heat_client(self.os_creds)
# This should not throw an exception
- heat.stacks.list()
+ stacks = heat.stacks.list()
+ for stack in stacks:
+ print stack
def test_nova_connect_fail(self):
"""
"""
from snaps.openstack.os_credentials import OSCreds
- nova = heat_utils.heat_client(
- OSCreds(username='user', password='pass', auth_url=self.os_creds.auth_url,
- project_name=self.os_creds.project_name, proxy_settings=self.os_creds.proxy_settings))
+ heat = heat_utils.heat_client(
+ OSCreds(username='user', password='pass',
+ auth_url=self.os_creds.auth_url,
+ project_name=self.os_creds.project_name,
+ proxy_settings=self.os_creds.proxy_settings))
+ stacks = heat.stacks.list()
# This should throw an exception
with self.assertRaises(Exception):
- nova.flavors.list()
+ for stack in stacks:
+ print stack
class HeatUtilsCreateStackTests(OSComponentTestCase):
def setUp(self):
"""
- Instantiates the CreateImage object that is responsible for downloading and creating an OS image file
- within OpenStack
+ Instantiates the CreateImage object that is responsible for downloading
+ and creating an OS image file within OpenStack
"""
guid = self.__class__.__name__ + '-' + str(uuid.uuid4())
stack_name = self.__class__.__name__ + '-' + str(guid) + '-stack'
self.image_creator = OpenStackImage(
self.os_creds, openstack_tests.cirros_image_settings(
- name=self.__class__.__name__ + '-' + str(guid) + '-image', image_metadata=self.image_metadata))
+ name=self.__class__.__name__ + '-' + str(guid) + '-image',
+ image_metadata=self.image_metadata))
self.image_creator.create()
# Create Flavor
'flavor_name': self.flavor_creator.flavor_settings.name}
heat_tmplt_path = pkg_resources.resource_filename(
'snaps.openstack.tests.heat', 'test_heat_template.yaml')
- self.stack_settings = StackSettings(name=stack_name, template_path=heat_tmplt_path, env_values=env_values)
+ self.stack_settings = StackSettings(
+ name=stack_name, template_path=heat_tmplt_path,
+ env_values=env_values)
self.stack = None
self.heat_client = heat_utils.heat_client(self.os_creds)
"""
Tests the creation of an OpenStack keypair that does not exist.
"""
- self.stack = heat_utils.create_stack(self.heat_client, self.stack_settings)
+ self.stack = heat_utils.create_stack(self.heat_client,
+ self.stack_settings)
- stack_query_1 = heat_utils.get_stack_by_name(self.heat_client, self.stack_settings.name)
+ stack_query_1 = heat_utils.get_stack_by_name(self.heat_client,
+ self.stack_settings.name)
self.assertEqual(self.stack.id, stack_query_1.id)
- stack_query_2 = heat_utils.get_stack_by_id(self.heat_client, self.stack.id)
+ stack_query_2 = heat_utils.get_stack_by_id(self.heat_client,
+ self.stack.id)
self.assertEqual(self.stack.id, stack_query_2.id)
outputs = heat_utils.get_stack_outputs(self.heat_client, self.stack.id)
is_active = False
while time.time() < end_time:
- status = heat_utils.get_stack_status(self.heat_client, self.stack.id)
+ status = heat_utils.get_stack_status(self.heat_client,
+ self.stack.id)
if status == create_stack.STATUS_CREATE_COMPLETE:
is_active = True
break