nova/nova
Matt Riedemann 38f2ce549c Handle templated cell mappings in nova-status
The nova-status upgrade check code is intentionally written
to not use versioned objects and just work with the data model
directly.

However, CellMapping database_connection template support was
added in Rocky and the template URL is only formatted when using
the object on read from the database, which means if you are using
a template for the database_connection nova-status will break since
the get_engine() code is getting a template string rather than a
properly formatted URL.

This change fixes the bug by using the CellMapping object code to
pull the mappings from the database which will format the database
connection URL. Note that we cannot simply update the sqlalchemy
RowProxy objects we get normally since those are read-only, and
because of how the mappings are used as objects with attribute
access rather than as a dict we cannot just convert the RowProxy
to a dict - we would have to put it in some kind of object for
attribute access and if we are going to do that we might as well
just use the CellMapping objects we have so that's what we do in
this change.

Change-Id: I5ce175517f6feb6e82ba507078a565b71427a4b0
Closes-Bug: #1818047
2019-03-05 09:00:20 -05:00
..
api Merge "Improve existing flavor and image metadata validation" 2019-03-05 08:57:41 +00:00
cells Per aggregate scheduling weight 2019-01-21 11:48:44 +08:00
cmd Handle templated cell mappings in nova-status 2019-03-05 09:00:20 -05:00
common
compute Merge "Fix wrong consumer type in logging" 2019-03-05 11:34:18 +00:00
conductor Merge "fix up numa-topology live migration hypervisor check" 2019-03-01 13:46:19 +00:00
conf Merge "conf: Deprecate 'disable_libvirt_livesnapshot' option" 2019-03-01 21:56:47 +00:00
console Use X-Forwarded-Proto as origin protocol if present 2019-01-16 00:28:53 +00:00
consoleauth Fix stacktraces with redis caching backend 2018-09-27 13:15:11 -04:00
db Update mailinglist from dev to discuss 2018-12-05 09:44:35 +08:00
hacking Add a hacking rule for deprecated assertion methods 2018-10-25 11:49:10 +09:00
image Update mailinglist from dev to discuss 2018-12-05 09:44:35 +08:00
ipv6
keymgr
locale Imported Translations from Zanata 2018-09-23 06:53:32 +00:00
network Record requester in the InstancePCIRequest 2019-02-28 12:47:47 -05:00
notifications The field instance_name was added to InstanceCreatePayload 2019-01-15 15:27:07 +00:00
objects Merge "Optimize populate_queued_for_delete online data migration" 2019-03-04 14:04:28 +00:00
pci Record requester in the InstancePCIRequest 2019-02-28 12:47:47 -05:00
policies Merge "Remove deprecated 'flavors' policy" 2019-02-23 06:13:00 +00:00
privsep Merge "Fixes race condition with privsep utime" 2019-03-04 14:00:27 +00:00
scheduler Merge "Fix wrong consumer type in logging" 2019-03-05 11:34:18 +00:00
servicegroup Fix deprecation warning for threadgroup.add_timer 2019-02-07 09:37:00 -05:00
tests Merge "Fix wrong consumer type in logging" 2019-03-05 11:34:18 +00:00
virt Merge "Convert driver supported capabilities to compute node provider traits" 2019-03-05 09:50:12 +00:00
vnc Deprecate the nova-xvpvncproxy service 2018-10-15 10:03:13 +01:00
volume Merge "Avoid BadRequest error log on volume attachment" 2019-02-27 05:13:20 +00:00
__init__.py
availability_zones.py
baserpc.py
block_device.py Add method to generate device names universally 2019-01-15 18:55:11 +00:00
cache_utils.py
config.py Configure placement DB context manager for nova-manage/status 2018-09-05 10:29:48 -04:00
context.py Remove NovaException logging from scatter_gather_cells 2018-11-21 12:43:35 -05:00
crypto.py
debugger.py
exception.py Merge "Improve existing flavor and image metadata validation" 2019-03-05 08:57:41 +00:00
exception_wrapper.py Add full traceback to ExceptionPayload in versioned notifications 2018-06-19 16:46:46 +08:00
filters.py
hooks.py
i18n.py
loadables.py
manager.py
policy.py Fix string interpolations in logging calls 2019-01-29 15:06:39 +09:00
profiler.py
quota.py Merge "quota: remove defaults kwarg in get_project_quotas" 2019-02-26 13:26:24 +00:00
rc_fields.py Switch to using os-resource-classes 2019-02-07 11:11:09 +00:00
rpc.py Fix jsonutils.to_primitive UserWarning 2018-12-17 22:56:50 -05:00
safe_utils.py
service.py Move conductor wait_until_ready() delay before manager init 2018-08-31 12:50:10 -07:00
service_auth.py
test.py Merge "Use a static resource tracker in compute manager" 2019-02-04 19:53:38 +00:00
utils.py Merge "Address nits from I9e30a24a4c0640f282f507d0a96640d3cdefe43c" 2019-02-20 16:26:31 +00:00
version.py
weights.py Per aggregate scheduling weight 2019-01-21 11:48:44 +08:00
wsgi.py