Add name for instance in Watcher datamodel

Now Watcher's datamodel uses human_id to store the display_name
of the intance. But the value of human_id is not reliable. About
the reason, please see[1].

The solution is to add a 'name' field to save the display_name of
the instance, and ensure that the value of this field is the same
when the datamodel is created and when the datamodel is updated.

About the 'human_id', We will remove it in the future.

References:
[1]. https://bugs.launchpad.net/watcher/+bug/1833665

20190619 Watcher meeting IRC Log:
[1]. http://eavesdrop.openstack.org/irclogs/%23openstack-watcher/%23openstack-watcher.2019-06-19.log.html
[2]. http://eavesdrop.openstack.org/meetings/watcher/2019/watcher.2019-06-19-08.00.log.html#l-47

Change-Id: I6976759629a4feedee09261cc1dac935e050202a
Closes-Bug: #1833665
This commit is contained in:
chenke
2019-05-21 16:28:23 +08:00
parent 413028e527
commit b62965c2bf
3 changed files with 9 additions and 0 deletions

View File

@@ -344,7 +344,10 @@ class ModelBuilder(object):
flavor = instance.flavor
instance_attributes = {
"uuid": instance.id,
# TODO(chenker) human_id is deprecated for removal. For the reason,
# please reference bug 1833665.
"human_id": instance.human_id,
"name": instance.name,
"memory": flavor["ram"],
"disk": flavor["disk"],
"disk_capacity": flavor["disk"],

View File

@@ -71,7 +71,12 @@ class NovaNotification(base.NotificationEndpoint):
instance.update({
'state': instance_data['state'],
'hostname': instance_data['host_name'],
# TODO(chenker) human_id is deprecated for removal. For the reason,
# please reference bug 1833665.
'human_id': instance_data['display_name'],
# this is the user-provided display name of the server which is not
# guaranteed to be unique nor is it immutable.
'name': instance_data['display_name'],
'memory': memory_mb,
'vcpus': num_cores,
'disk': disk_gb,

View File

@@ -51,6 +51,7 @@ class TestElement(base.TestCase):
'state': 'state',
'hostname': 'hostname',
'human_id': 'human_id',
'name': 'name',
'memory': 111,
'vcpus': 222,
'disk': 333,