nova/nova/api/openstack
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
..
compute Add trusted_image_certificates to REST API 2018-06-13 15:52:59 -04:00
placement Optional separate database for placement API 2018-06-15 13:01:50 +01:00
__init__.py Refactor WSGI apps and utils to limit imports 2018-03-06 22:05:12 +00:00
api_version_request.py Add trusted_image_certificates to REST API 2018-06-13 15:52:59 -04:00
auth.py Noauth should also use request_id from compute_req_id.py 2018-04-04 14:21:01 -04:00
common.py conf: Remove deprecated 'allow_instance_snapshots' opt 2018-03-12 14:40:11 +00:00
identity.py Use ksa adapter for keystone conf & requests 2017-11-30 22:33:01 +00:00
requestlog.py Refactor WSGI apps and utils to limit imports 2018-03-06 22:05:12 +00:00
urlmap.py Use of six.PY3 should be forward compatible 2016-01-17 03:32:34 +00:00
versioned_method.py Implement microversion support on api methods 2014-12-05 09:54:41 +08:00
wsgi.py Refactor WSGI apps and utils to limit imports 2018-03-06 22:05:12 +00:00
wsgi_app.py Remove deprecated monkey_patch config options 2018-05-16 11:40:41 -04:00