nova/nova
Chris Dent 0044beb358 Optional separate database for placement API
If 'connection' is set in the 'placement_database' conf group use
that as the connection URL for the placement database. Otherwise if
it is None, the default, then use the entire api_database conf group
to configure a database connection.

When placement_database.connection is not None a replica of the
structure of the API database is used, using the same migrations
used for the API database.

A placement_context_manager is added and used by the OVO objects in
nova.api.openstack.placement.objects.*. If there is no separate
placement database, this is still used, but points to the API
database.

nova.test and nova.test.fixtures are adjusted to add awareness of
the placement database.

This functionality is being provided to allow deployers to choose
between establishing a new database now or requiring a migration
later. The default is migration later. A reno is added to explain
the existence of the configuration setting.

This change returns the behavior removed by the revert in commit
39fb302fd9 but done in a more
appropriate way.

Note that with the advent of the nova-status command, which checks
to see if placement is "ready" the tests here had to be adjusted.
If we do allow a separate database the code will now check the
separate database (if configured), but nothing is done with regard
to migrating from the api to placement database or checking that.

blueprint placement-extract

Change-Id: I7e1e89cd66397883453935dcf7172d977bf82e84
Implements: blueprint optional-placement-database
Co-Authored-By: Roman Podoliaka <rpodolyaka@mirantis.com>
2018-06-15 13:01:50 +01:00
..
api Optional separate database for placement API 2018-06-15 13:01:50 +01:00
cells Add instance action record for snapshot instances 2017-12-11 17:46:38 +08:00
cmd Optional separate database for placement API 2018-06-15 13:01:50 +01:00
common
compute Merge "Make check_can_live_migrate_destination use long_rpc_timeout" 2018-06-15 09:55:55 +00:00
conductor Use instance project/user when creating RequestSpec during resize reschedule 2018-05-30 12:07:53 -04:00
conf Optional separate database for placement API 2018-06-15 13:01:50 +01:00
console Merge "Convert xenapi's xvp console to processutils." 2018-05-09 04:57:55 +00:00
consoleauth
db Optional separate database for placement API 2018-06-15 13:01:50 +01:00
hacking Implement granular policy rules for placement 2018-05-17 11:12:16 -04:00
image Implement certificate_utils 2018-06-12 14:44:32 -04:00
ipv6
keymgr
locale Imported Translations from Zanata 2018-04-11 06:17:52 +00:00
network network: update pci request spec to handle trusted tags 2018-05-31 13:55:40 -04:00
notifications Add notification support for trusted_certs 2018-06-14 16:16:00 +02:00
objects Plumb trusted_certs through the compute service 2018-06-12 16:58:25 -04:00
pci network: update pci request spec to handle trusted tags 2018-05-31 13:55:40 -04:00
policies Add trusted_image_certificates to REST API 2018-06-13 15:52:59 -04:00
privsep Merge "Re-using the code of os brick cinder" 2018-06-15 08:28:27 +00:00
scheduler Provide a direct interface to placement 2018-06-12 11:04:50 -05:00
servicegroup
tests Optional separate database for placement API 2018-06-15 13:01:50 +01:00
virt Merge "Re-using the code of os brick cinder" 2018-06-15 08:28:27 +00:00
vnc
volume Log a more useful error when cinder auth isn't configured 2018-04-06 14:52:13 -04:00
__init__.py
availability_zones.py
baserpc.py
block_device.py Add uuid column to BlockDeviceMapping 2017-12-17 14:28:35 +00:00
cache_utils.py
config.py
context.py Remove RequestContext.instance_lock_checked 2018-04-11 11:46:19 -04:00
crypto.py Convert certificate generation to processutils. 2018-05-02 19:18:41 +10:00
debugger.py
exception.py Add trusted_image_certificates to REST API 2018-06-13 15:52:59 -04:00
exception_wrapper.py
filters.py
hooks.py
i18n.py correct referenced url in comments 2018-01-18 09:16:37 +08:00
loadables.py
manager.py conf: Remove 'db_driver' config opt 2018-03-16 17:23:16 +00:00
policy.py
profiler.py
quota.py Restrict CONF.quota.driver to DB and noop quota drivers 2018-06-01 15:44:52 +00:00
rc_fields.py Make ResourceClass.normalize_name handle sharp S 2018-04-10 12:24:40 -05:00
rpc.py Use oslo.messaging per-call monitoring 2018-06-11 14:44:10 -07:00
safe_utils.py
service.py Deprecate running API services under eventlet 2018-05-16 03:48:32 +00:00
service_auth.py Fix NoneType error when [service_user] is misconfigured 2017-11-28 12:22:30 -06:00
test.py Optional separate database for placement API 2018-06-15 13:01:50 +01:00
utils.py Remove deprecated monkey_patch config options 2018-05-16 11:40:41 -04:00
version.py
weights.py
wsgi.py Refactor WSGI apps and utils to limit imports 2018-03-06 22:05:12 +00:00