nova/nova
Roman Podoliaka 1b5f9f8203 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.

This works by:

* adding a 'placement sync' and 'placement version' command to
  nova-manage

* adding placement_migrations that that sync will run

* adding a placement_database config group with the relevant
  database configuration settings

* adding a placement_context_manager. If
  CONF.placement_database.connection is None this is the same as
  the api_context_manager, otherwise it is a new one from its own config

* adjust nova/tests/fixtures to be aware of a 'placement' database
  and the placement_context_manager

This version of this change differs from others by not requiring
separate placement commands for migration, instead using existing
tooling, which makes the size of the change a bit smaller and also
addresses problems with the test fixtures needing to be too aware of
what migration code to run. Now it runs the same code.

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.

This is a modification of Id93cb93a0f4e8667c8e7848aa8cff1d994c2c364
and I3290e26d0a212911f8ef386418b9fa08c685380b.

Change-Id: Ice03144376c9868c064e4393d531510615fc6fc1
Co-Authored-By: Chris Dent <cdent@anticdent.org>
Partially-Implements: blueprint generic-resource-pools
2016-08-11 13:30:25 +00:00
..
CA
api Add separate create/delete policies to attach_interface 2016-08-09 11:01:26 -04:00
cells Fixed typos in nova, nova/api, nova/cells directory 2016-08-01 07:14:04 +00:00
cert
cloudpipe Port test_pipelib and test_policy to Python 3 2016-06-23 10:38:10 +02:00
cmd Optional separate database for placement API 2016-08-11 13:30:25 +00:00
common
compute Merge "Cleanup: validate option at config read level" 2016-08-09 19:37:10 +00:00
conductor Cells: Handle delete with BuildRequest 2016-08-05 19:47:17 -04:00
conf Optional separate database for placement API 2016-08-11 13:30:25 +00:00
console Fixed typos in nova: compute, console and conf dir 2016-08-01 21:14:32 +00:00
consoleauth Avoid unconditional warnings in nova-consoleauth 2016-04-26 23:52:49 +02:00
db Optional separate database for placement API 2016-08-11 13:30:25 +00:00
hacking Remove hacking check [N347] for config options. 2016-08-11 14:23:21 +02:00
image Merge "Default image.size to 0 when extracting v1 image attributes" 2016-08-03 11:20:46 +00:00
ipv6 Fix test_ipv6 and simplify to_global() 2016-06-28 20:42:32 +02:00
keymgr Deprecate barbican options 2016-07-29 15:36:28 -05:00
locale Imported Translations from Zanata 2016-08-02 07:52:06 +00:00
network Merge "network: introduce helper APIs for dealing with os-vif objects" 2016-08-09 11:45:45 +00:00
notifications Merge "Make notification objects use flavor capacity attributes" 2016-08-06 05:58:09 +00:00
objects Optional separate database for placement API 2016-08-11 13:30:25 +00:00
pci Merge "Resolve PCI devices on the host during Guest boot-up." 2016-08-04 00:09:55 +00:00
policies Merge "Fix server operations' policies to admin only" 2016-08-11 06:07:52 +00:00
scheduler Merge "Allow irrelevant,self-defined specs in ComputeCapacityFilter" 2016-08-10 20:32:43 +00:00
servicegroup Config options: Centralize servicegroup options 2016-05-04 15:57:29 +00:00
tests Optional separate database for placement API 2016-08-11 13:30:25 +00:00
virt Merge "libvirt: convert over to use os-vif for Linux Bridge & OVS" 2016-08-11 03:45:43 +00:00
vnc
volume Merge ":Add missing %s in print message" 2016-07-27 15:08:38 +00:00
wsgi
__init__.py
availability_zones.py
baserpc.py config options: Centralize upgrade_levels section 2016-04-04 18:35:27 +00:00
block_device.py Add tag column to vifs and bdm 2016-04-01 08:46:54 -07:00
cache_utils.py Warn when using null cache backend 2016-05-20 10:45:56 +02:00
config.py Config options: move set default opt of db section to centralized place 2016-05-18 12:58:00 +07:00
context.py Add support for oslo.context 2.6.0 2016-07-27 18:09:30 -05:00
crypto.py Drop paramiko < 2 compat code 2016-05-10 12:01:22 -05:00
debugger.py Use oslo_log instead of logging 2016-05-27 12:18:32 +00:00
exception.py Remove unused exception: ImageNotFoundEC2 2016-08-09 20:58:19 +00:00
exception_wrapper.py Transform wrap_exception notification to versioned format 2016-06-21 09:39:47 +02:00
filters.py
hash_ring.py Ironic: allow multiple compute services 2016-08-04 23:51:13 +00:00
hooks.py
i18n.py
loadables.py
manager.py Config options: Centralize netconf options 2016-04-24 18:15:05 +00:00
policy.py Merge "Use oslo_log instead of logging" 2016-07-22 02:17:35 +00:00
quota.py Quota changes for the nova-manage quota_usage_refresh command 2016-07-06 22:21:39 +00:00
rpc.py Transform wrap_exception notification to versioned format 2016-06-21 09:39:47 +02:00
safe_utils.py
service.py Device tagging API support 2016-06-29 20:55:16 -07:00
signature_utils.py Trivial-Fix: Fix typos 2016-06-13 06:41:08 +00:00
test.py Optional separate database for placement API 2016-08-11 13:30:25 +00:00
utils.py Merge "Use oslo_log instead of logging" 2016-07-22 02:17:35 +00:00
version.py Use oslo_log instead of logging 2016-05-27 12:18:32 +00:00
weights.py
wsgi.py config options: Remove 'wsgi_' prefix from opts 2016-03-25 13:19:19 +00:00