Merge "Add user/project/trove-id metadata to trove server instances"

This commit is contained in:
Zuul 2020-10-02 11:50:17 +00:00 committed by Gerrit Code Review
commit 26ce0e0f7f
2 changed files with 15 additions and 3 deletions

View File

@ -958,6 +958,9 @@ class FreshInstanceTasks(FreshInstance, NotifyMixin, ConfigurationMixin):
block_device_mapping_v2, availability_zone,
nics, files={}, scheduler_hints=None):
userdata = self.prepare_userdata(datastore_manager)
metadata = {'trove_project_id': self.tenant_id,
'trove_user_id': self.context.user,
'trove_instance_id': self.id}
name = self.hostname or self.name
bdmap_v2 = block_device_mapping_v2
config_drive = CONF.use_nova_server_config_drive
@ -969,6 +972,7 @@ class FreshInstanceTasks(FreshInstance, NotifyMixin, ConfigurationMixin):
files=files, userdata=userdata,
availability_zone=availability_zone,
config_drive=config_drive, scheduler_hints=scheduler_hints,
meta=metadata,
)
LOG.debug("Created new compute instance %(server_id)s "
"for database instance %(id)s",

View File

@ -79,17 +79,19 @@ class fake_Server(object):
self.flavor_id = None
self.files = None
self.userdata = None
self.meta = None
self.block_device_mapping_v2 = None
self.status = 'HEALTHY'
self.key_name = None
class fake_ServerManager(object):
def create(self, name, image_id, flavor_id, files, userdata,
block_device_mapping_v2=None,
availability_zone=None,
nics=None, config_drive=False,
scheduler_hints=None, key_name=None):
scheduler_hints=None, key_name=None, meta=None):
server = fake_Server()
server.id = "server_id"
server.name = name
@ -101,7 +103,7 @@ class fake_ServerManager(object):
server.availability_zone = availability_zone
server.nics = nics
server.key_name = key_name
server.meta = meta
return server
@ -211,6 +213,8 @@ class BaseFreshInstanceTasksTest(trove_testtools.TestCase):
f.write(self.guestconfig_content)
self.freshinstancetasks = taskmanager_models.FreshInstanceTasks(
None, Mock(), None, None)
self.freshinstancetasks.context = trove.common.context.TroveContext(
user='test_user')
def tearDown(self):
super(BaseFreshInstanceTasksTest, self).tearDown()
@ -306,6 +310,9 @@ class FreshInstanceTasksTest(BaseFreshInstanceTasksTest):
mock_servers_create = mock_nova_client.servers.create
self.freshinstancetasks._create_server('fake-flavor', 'fake-image',
'mysql', None, None, None)
meta = {'trove_project_id': self.freshinstancetasks.tenant_id,
'trove_user_id': 'test_user',
'trove_instance_id': self.freshinstancetasks.id}
mock_servers_create.assert_called_with(
'fake-hostname', 'fake-image',
'fake-flavor', files={},
@ -315,7 +322,8 @@ class FreshInstanceTasksTest(BaseFreshInstanceTasksTest):
nics=None,
config_drive=True,
scheduler_hints=None,
key_name=None
key_name=None,
meta=meta,
)
@patch.object(InstanceServiceStatus, 'find_by',