Pull the network settings from the actual dict
Turns out self._openstack_config is not the config dict. self.config is. Also, return names. Change-Id: Ib2013e737b506b3a2acd7aa7b7884240c25384c5
This commit is contained in:
parent
fdb80ad04f
commit
5605034fc3
@ -442,23 +442,25 @@ class CloudConfig(object):
|
|||||||
def get_external_networks(self):
|
def get_external_networks(self):
|
||||||
"""Get list of network names for external networks."""
|
"""Get list of network names for external networks."""
|
||||||
return [
|
return [
|
||||||
net['name'] for net in self._openstack_config['networks']
|
net['name'] for net in self.config['networks']
|
||||||
if net['routes_externally']]
|
if net['routes_externally']]
|
||||||
|
|
||||||
def get_internal_networks(self):
|
def get_internal_networks(self):
|
||||||
"""Get list of network names for internal networks."""
|
"""Get list of network names for internal networks."""
|
||||||
return [
|
return [
|
||||||
net['name'] for net in self._openstack_config['networks']
|
net['name'] for net in self.config['networks']
|
||||||
if not net['routes_externally']]
|
if not net['routes_externally']]
|
||||||
|
|
||||||
def get_default_network(self):
|
def get_default_network(self):
|
||||||
"""Get network used for default interactions."""
|
"""Get network used for default interactions."""
|
||||||
for net in self._openstack_config['networks']:
|
for net in self.config['networks']:
|
||||||
if net['default_interface']:
|
if net['default_interface']:
|
||||||
return net
|
return net['name']
|
||||||
|
return None
|
||||||
|
|
||||||
def get_nat_destination(self):
|
def get_nat_destination(self):
|
||||||
"""Get network used for NAT destination."""
|
"""Get network used for NAT destination."""
|
||||||
for net in self._openstack_config['networks']:
|
for net in self.config['networks']:
|
||||||
if net['nat_destination']:
|
if net['nat_destination']:
|
||||||
return net
|
return net['name']
|
||||||
|
return None
|
||||||
|
@ -90,6 +90,32 @@ USER_CONF = {
|
|||||||
},
|
},
|
||||||
'region_name': 'test-region',
|
'region_name': 'test-region',
|
||||||
},
|
},
|
||||||
|
'_test-cloud-networks_': {
|
||||||
|
'auth': {
|
||||||
|
'username': 'testuser',
|
||||||
|
'password': 'testpass',
|
||||||
|
'project_id': 12345,
|
||||||
|
'auth_url': 'http://example.com/v2',
|
||||||
|
'domain_id': '6789',
|
||||||
|
'project_domain_id': '123456789',
|
||||||
|
},
|
||||||
|
'networks': [{
|
||||||
|
'name': 'a-public',
|
||||||
|
'routes_externally': True,
|
||||||
|
}, {
|
||||||
|
'name': 'another-public',
|
||||||
|
'routes_externally': True,
|
||||||
|
'default_interface': True,
|
||||||
|
}, {
|
||||||
|
'name': 'a-private',
|
||||||
|
'routes_externally': False,
|
||||||
|
}, {
|
||||||
|
'name': 'another-private',
|
||||||
|
'routes_externally': False,
|
||||||
|
'nat_destination': True,
|
||||||
|
}],
|
||||||
|
'region_name': 'test-region',
|
||||||
|
},
|
||||||
'_test_cloud_regions': {
|
'_test_cloud_regions': {
|
||||||
'auth': {
|
'auth': {
|
||||||
'username': 'testuser',
|
'username': 'testuser',
|
||||||
|
@ -187,6 +187,26 @@ class TestConfig(base.TestCase):
|
|||||||
self.assertEqual('user', cc.auth['username'])
|
self.assertEqual('user', cc.auth['username'])
|
||||||
self.assertEqual('testpass', cc.auth['password'])
|
self.assertEqual('testpass', cc.auth['password'])
|
||||||
|
|
||||||
|
def test_get_one_cloud_networks(self):
|
||||||
|
c = config.OpenStackConfig(config_files=[self.cloud_yaml],
|
||||||
|
vendor_files=[self.vendor_yaml])
|
||||||
|
cc = c.get_one_cloud('_test-cloud-networks_')
|
||||||
|
self.assertEqual(
|
||||||
|
['a-public', 'another-public'], cc.get_external_networks())
|
||||||
|
self.assertEqual(
|
||||||
|
['a-private', 'another-private'], cc.get_internal_networks())
|
||||||
|
self.assertEqual('another-private', cc.get_nat_destination())
|
||||||
|
self.assertEqual('another-public', cc.get_default_network())
|
||||||
|
|
||||||
|
def test_get_one_cloud_no_networks(self):
|
||||||
|
c = config.OpenStackConfig(config_files=[self.cloud_yaml],
|
||||||
|
vendor_files=[self.vendor_yaml])
|
||||||
|
cc = c.get_one_cloud('_test-cloud-domain-scoped_')
|
||||||
|
self.assertEqual([], cc.get_external_networks())
|
||||||
|
self.assertEqual([], cc.get_internal_networks())
|
||||||
|
self.assertIsNone(cc.get_nat_destination())
|
||||||
|
self.assertIsNone(cc.get_default_network())
|
||||||
|
|
||||||
def test_only_secure_yaml(self):
|
def test_only_secure_yaml(self):
|
||||||
c = config.OpenStackConfig(config_files=['nonexistent'],
|
c = config.OpenStackConfig(config_files=['nonexistent'],
|
||||||
vendor_files=['nonexistent'],
|
vendor_files=['nonexistent'],
|
||||||
@ -201,6 +221,7 @@ class TestConfig(base.TestCase):
|
|||||||
['_test-cloud-domain-id_',
|
['_test-cloud-domain-id_',
|
||||||
'_test-cloud-domain-scoped_',
|
'_test-cloud-domain-scoped_',
|
||||||
'_test-cloud-int-project_',
|
'_test-cloud-int-project_',
|
||||||
|
'_test-cloud-networks_',
|
||||||
'_test-cloud_',
|
'_test-cloud_',
|
||||||
'_test-cloud_no_region',
|
'_test-cloud_no_region',
|
||||||
'_test_cloud_hyphenated',
|
'_test_cloud_hyphenated',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user