Don't overwrite greenthread-local context in host manager
There are a couple of places in host manager where we create a blank RequestContext for internal database operations without passing overwrite=False, so they will overwrite the greenthread-local context that will be used for logging request_id, replacing them with newly generated request_ids. This changes the RequestContext creations to get_admin_context calls, (which uses overwrite=False) to be more explicit about the admin-ness of the internal database operations we're doing in these methods. Related-Bug: #1773102 Change-Id: I752eb677d9ccc5ec65147380efe4067456fa312b
This commit is contained in:
@@ -418,7 +418,7 @@ class HostManager(object):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def _async_init_instance_info(computes_by_cell):
|
def _async_init_instance_info(computes_by_cell):
|
||||||
context = context_module.RequestContext()
|
context = context_module.get_admin_context()
|
||||||
LOG.debug("START:_async_init_instance_info")
|
LOG.debug("START:_async_init_instance_info")
|
||||||
self._instance_info = {}
|
self._instance_info = {}
|
||||||
|
|
||||||
@@ -449,7 +449,7 @@ class HostManager(object):
|
|||||||
"deleted": False}
|
"deleted": False}
|
||||||
with context_module.target_cell(context, cell) as cctxt:
|
with context_module.target_cell(context, cell) as cctxt:
|
||||||
result = objects.InstanceList.get_by_filters(
|
result = objects.InstanceList.get_by_filters(
|
||||||
cctxt.elevated(), filters)
|
cctxt, filters)
|
||||||
instances = result.objects
|
instances = result.objects
|
||||||
LOG.debug("Adding %s instances for hosts %s-%s",
|
LOG.debug("Adding %s instances for hosts %s-%s",
|
||||||
len(instances), start_node, end_node)
|
len(instances), start_node, end_node)
|
||||||
@@ -642,7 +642,7 @@ class HostManager(object):
|
|||||||
def refresh_cells_caches(self):
|
def refresh_cells_caches(self):
|
||||||
# NOTE(tssurya): This function is called from the scheduler manager's
|
# NOTE(tssurya): This function is called from the scheduler manager's
|
||||||
# reset signal handler and also upon startup of the scheduler.
|
# reset signal handler and also upon startup of the scheduler.
|
||||||
context = context_module.RequestContext()
|
context = context_module.get_admin_context()
|
||||||
temp_cells = objects.CellMappingList.get_all(context)
|
temp_cells = objects.CellMappingList.get_all(context)
|
||||||
# NOTE(tssurya): filtering cell0 from the list since it need
|
# NOTE(tssurya): filtering cell0 from the list since it need
|
||||||
# not be considered for scheduling.
|
# not be considered for scheduling.
|
||||||
|
Reference in New Issue
Block a user