Add created_at field for nova servers table

Depends-On: https://review.openstack.org/#/c/640248/
Change-Id: Ic402a13c9f864a124bba194b9985cd4b69da6bee
This commit is contained in:
akhiljain23 2019-03-01 07:56:17 +05:30 committed by Eric Kao
parent 099245d369
commit 55ce6f195e
4 changed files with 25 additions and 3 deletions

View File

@ -14,6 +14,10 @@
#
"""Schema change history
date: 2019-03-07
changes:
- Added the `created_at` column to the servers table.
date: 2018-10-18
changes:
@ -114,6 +118,9 @@ class NovaDriver(datasource_driver.PollingDataSourceDriver,
'desc': ('The hostname of hypervisor where the server is '
'running'),
'col': 'host_name', 'translator': value_trans_str},
{'fieldname': 'created', 'col': 'created_at',
'desc': 'Time at which server is created',
'translator': value_trans_str},
{'fieldname': 'addresses',
'translator': {'translation-type': 'HDICT',
'table-name': ADDRESSES,

View File

@ -110,7 +110,7 @@ class NovaFakeClient(mock.MagicMock):
self.availability_zones.list.return_value = self.get_zone_list()
def get_mock_server(self, id, name, host_id, status, tenant_id, user_id,
flavor, image, zone=None, host_name=None,
flavor, image, created, zone=None, host_name=None,
addresses=None, tags=None):
server = mock.MagicMock()
server.id = id
@ -121,6 +121,7 @@ class NovaFakeClient(mock.MagicMock):
server.name = name
server.image = image
server.flavor = flavor
server.created = created
server.addresses = addresses if addresses else {}
server.tags = tags if tags else []
if zone is not None:
@ -143,7 +144,8 @@ class NovaFakeClient(mock.MagicMock):
'BUILD',
'50e14867-7c64-4ec9-be8d-ed2470ca1d24',
'33ea0494-2bdf-4382-a445-9068997430b9',
{"id": "1"}, {"id": "2"}, 'default', 'host1',
{"id": "1"}, {"id": "2"},
'2019-02-26T08:48:15Z', 'default', 'host1',
{'net_mgmt': [{
'addr': '192.168.0.60',
'version': 4,
@ -157,6 +159,7 @@ class NovaFakeClient(mock.MagicMock):
'50e14867-7c64-4ec9-be8d-ed2470ca1d24',
'33ea0494-2bdf-4382-a445-9068997430b9',
{"id": "1"}, {"id": "2"},
'2019-02-26T08:48:15Z',
addresses={'net1': []},
tags=['tag1', 'tag2']))
@ -166,7 +169,8 @@ class NovaFakeClient(mock.MagicMock):
'ACTIVE',
'50e14867-7c64-4ec9-be8d-ed2470ca1d24',
'33ea0494-2bdf-4382-a445-9068997430b9',
{"id": "1"}, {"id": "2"}, 'foo', 'host2',
{"id": "1"}, {"id": "2"},
'2019-02-26T08:48:15Z', 'foo', 'host2',
tags=['tag1', 'tag2', 'tag3']))
return [server_one, server_two, server_three]

View File

@ -61,6 +61,7 @@ class TestNovaDriver(base.TestCase):
flavor_id = t[7]
zone = t[8]
host_name = t[9]
created_at = t[10]
self.assertIn(id, ['1234', '5678', '9012'])
# see congress.datasources.tests.unit.fakes for actual values
if id == '1234':
@ -73,6 +74,7 @@ class TestNovaDriver(base.TestCase):
tenant_id)
self.assertEqual('2', image_id)
self.assertEqual('1', flavor_id)
self.assertEqual('2019-02-26T08:48:15Z', created_at)
self.assertEqual('default', zone)
self.assertEqual('host1', host_name)
@ -86,6 +88,7 @@ class TestNovaDriver(base.TestCase):
tenant_id)
self.assertEqual('2', image_id)
self.assertEqual('1', flavor_id)
self.assertEqual('2019-02-26T08:48:15Z', created_at)
self.assertEqual(None, zone)
self.assertEqual(None, host_name)
@ -99,6 +102,7 @@ class TestNovaDriver(base.TestCase):
tenant_id)
self.assertEqual('2', image_id)
self.assertEqual('1', flavor_id)
self.assertEqual('2019-02-26T08:48:15Z', created_at)
self.assertEqual('foo', zone)
self.assertEqual('host2', host_name)

View File

@ -0,0 +1,7 @@
---
prelude: >
features:
- |
The Nova server ``created`` timestamp is now available through Congress
driver for Nova, as the ``created_at`` column in the ``servers`` table.
This change is backwards compatible.