Merge "Add host_name information into nova driver"
This commit is contained in:
commit
2759d2c4ee
|
@ -76,7 +76,11 @@ class NovaDriver(datasource_driver.DataSourceDriver,
|
||||||
'extract-fn': safe_id}},
|
'extract-fn': safe_id}},
|
||||||
{'fieldname': 'OS-EXT-AZ:availability_zone', 'col': 'zone',
|
{'fieldname': 'OS-EXT-AZ:availability_zone', 'col': 'zone',
|
||||||
'desc': 'The availability zone of host',
|
'desc': 'The availability zone of host',
|
||||||
'translator': value_trans})}
|
'translator': value_trans},
|
||||||
|
{'fieldname': 'OS-EXT-SRV-ATTR:hypervisor_hostname',
|
||||||
|
'desc': ('The hostname of hypervisor where the server is' +
|
||||||
|
'running'),
|
||||||
|
'col': 'host_name', 'translator': value_trans})}
|
||||||
|
|
||||||
flavors_translator = {
|
flavors_translator = {
|
||||||
'translation-type': 'HDICT',
|
'translation-type': 'HDICT',
|
||||||
|
|
|
@ -34,7 +34,7 @@ class NovaFakeClient(mock.MagicMock):
|
||||||
self.availability_zones.list.return_value = self.get_zone_list()
|
self.availability_zones.list.return_value = self.get_zone_list()
|
||||||
|
|
||||||
def get_mock_server(self, id, name, host_id, status, tenant_id, user_id,
|
def get_mock_server(self, id, name, host_id, status, tenant_id, user_id,
|
||||||
flavor, image, zone=None):
|
flavor, image, zone=None, host_name=None):
|
||||||
server = mock.MagicMock()
|
server = mock.MagicMock()
|
||||||
server.id = id
|
server.id = id
|
||||||
server.hostId = host_id
|
server.hostId = host_id
|
||||||
|
@ -49,6 +49,12 @@ class NovaFakeClient(mock.MagicMock):
|
||||||
else:
|
else:
|
||||||
# This ensures that the magic mock raises an AttributeError
|
# This ensures that the magic mock raises an AttributeError
|
||||||
delattr(server, 'OS-EXT-AZ:availability_zone')
|
delattr(server, 'OS-EXT-AZ:availability_zone')
|
||||||
|
if host_name is not None:
|
||||||
|
setattr(server, 'OS-EXT-SRV-ATTR:hypervisor_hostname',
|
||||||
|
host_name)
|
||||||
|
else:
|
||||||
|
# This ensures that the magic mock raises an AttributeError
|
||||||
|
delattr(server, 'OS-EXT-SRV-ATTR:hypervisor_hostname')
|
||||||
return server
|
return server
|
||||||
|
|
||||||
def get_server_list(self):
|
def get_server_list(self):
|
||||||
|
@ -58,7 +64,7 @@ class NovaFakeClient(mock.MagicMock):
|
||||||
'BUILD',
|
'BUILD',
|
||||||
'50e14867-7c64-4ec9-be8d-ed2470ca1d24',
|
'50e14867-7c64-4ec9-be8d-ed2470ca1d24',
|
||||||
'33ea0494-2bdf-4382-a445-9068997430b9',
|
'33ea0494-2bdf-4382-a445-9068997430b9',
|
||||||
{"id": 1}, {"id": 2}, 'default'))
|
{"id": 1}, {"id": 2}, 'default', 'host1'))
|
||||||
|
|
||||||
server_two = (
|
server_two = (
|
||||||
self.get_mock_server(5678, 'sample-server2',
|
self.get_mock_server(5678, 'sample-server2',
|
||||||
|
@ -74,7 +80,7 @@ class NovaFakeClient(mock.MagicMock):
|
||||||
'ACTIVE',
|
'ACTIVE',
|
||||||
'50e14867-7c64-4ec9-be8d-ed2470ca1d24',
|
'50e14867-7c64-4ec9-be8d-ed2470ca1d24',
|
||||||
'33ea0494-2bdf-4382-a445-9068997430b9',
|
'33ea0494-2bdf-4382-a445-9068997430b9',
|
||||||
{"id": 1}, {"id": 2}, 'foo'))
|
{"id": 1}, {"id": 2}, 'foo', 'host2'))
|
||||||
|
|
||||||
return [server_one, server_two, server_three]
|
return [server_one, server_two, server_three]
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,7 @@ class TestNovaDriver(base.TestCase):
|
||||||
image_id = t[6]
|
image_id = t[6]
|
||||||
flavor_id = t[7]
|
flavor_id = t[7]
|
||||||
zone = t[8]
|
zone = t[8]
|
||||||
|
host_name = t[9]
|
||||||
self.assertIn(id, [1234, 5678, 9012])
|
self.assertIn(id, [1234, 5678, 9012])
|
||||||
# see congress.datasources.tests.unit.fakes for actual values
|
# see congress.datasources.tests.unit.fakes for actual values
|
||||||
if id == 1234:
|
if id == 1234:
|
||||||
|
@ -70,6 +71,7 @@ class TestNovaDriver(base.TestCase):
|
||||||
self.assertEqual(2, image_id)
|
self.assertEqual(2, image_id)
|
||||||
self.assertEqual(1, flavor_id)
|
self.assertEqual(1, flavor_id)
|
||||||
self.assertEqual('default', zone)
|
self.assertEqual('default', zone)
|
||||||
|
self.assertEqual('host1', host_name)
|
||||||
|
|
||||||
elif id == 5678:
|
elif id == 5678:
|
||||||
self.assertEqual("sample-server2", name)
|
self.assertEqual("sample-server2", name)
|
||||||
|
@ -82,6 +84,7 @@ class TestNovaDriver(base.TestCase):
|
||||||
self.assertEqual(2, image_id)
|
self.assertEqual(2, image_id)
|
||||||
self.assertEqual(1, flavor_id)
|
self.assertEqual(1, flavor_id)
|
||||||
self.assertEqual('None', zone)
|
self.assertEqual('None', zone)
|
||||||
|
self.assertEqual('None', host_name)
|
||||||
|
|
||||||
elif id == 9012:
|
elif id == 9012:
|
||||||
self.assertEqual("sample-server3", name)
|
self.assertEqual("sample-server3", name)
|
||||||
|
@ -94,6 +97,7 @@ class TestNovaDriver(base.TestCase):
|
||||||
self.assertEqual(2, image_id)
|
self.assertEqual(2, image_id)
|
||||||
self.assertEqual(1, flavor_id)
|
self.assertEqual(1, flavor_id)
|
||||||
self.assertEqual('foo', zone)
|
self.assertEqual('foo', zone)
|
||||||
|
self.assertEqual('host2', host_name)
|
||||||
|
|
||||||
def test_flavors(self):
|
def test_flavors(self):
|
||||||
flavor_raw = self.nova.flavors.list(detailed=True)
|
flavor_raw = self.nova.flavors.list(detailed=True)
|
||||||
|
|
Loading…
Reference in New Issue