placement/placement
Tetsuro Nakamura 80fa50187a Add online-data-migration DB commands
Placement uses alembic to manage the DB version for schema changes.
However, changes with data manupulation should be separated from the
schema changes since the table can be locked and in the worst case
it breaks the service for backward incompatible changes.

We could handle them as a task that is done in a service down time.
However, to minimize the down time, it is better to have the concepts
of online data migration which has been a traditional way to handle
those data manipulation changes in nova.

This patch adds online data migration command to placement to enable
operators to manipulate DB data while the service is running:

    placement-manage db online_data_migrations [--max-count]

where --max-count controls the maximum number of objects to migrate
in a given call. If not specified, migration will occur in batches
of 50 until fully complete.

Change-Id: I9cef6829513d9a54d110426baf6bcc312554e3e7
2019-01-18 14:13:25 +00:00
..
cmd Add online-data-migration DB commands 2019-01-18 14:13:25 +00:00
conf Stop using global oslo_config 2018-11-30 14:51:23 +00:00
db Merge "Add alembic version stamp capability to the DB" 2018-12-11 12:45:17 +00:00
handlers Stop using global oslo_config 2018-11-30 14:51:23 +00:00
objects Merge "Use os-resource-classes in placement" 2019-01-03 23:09:33 +00:00
policies Remove the import pathing for the old structure 2018-09-04 10:31:24 -05:00
schemas Fix alpha-ordering of imports for pep8 2018-09-04 10:31:28 -05:00
tests Add online-data-migration DB commands 2019-01-18 14:13:25 +00:00
__init__.py Move the placement code to the base 2018-09-04 10:31:23 -05:00
auth.py Remove the import pathing for the old structure 2018-09-04 10:31:24 -05:00
context.py Add online-data-migration DB commands 2019-01-18 14:13:25 +00:00
db_api.py Added alembic environment 2018-11-14 15:26:13 +00:00
deploy.py Use os-resource-classes in placement 2018-12-19 10:43:18 +00:00
direct.py Remove the import pathing for the old structure 2018-09-04 10:31:24 -05:00
errors.py Move the placement code to the base 2018-09-04 10:31:23 -05:00
exception.py nova.exception -> placement.exception in docstrings and comment 2018-09-15 11:57:10 -06:00
fault_wrap.py Remove the import pathing for the old structure 2018-09-04 10:31:24 -05:00
handler.py Stop using global oslo_config 2018-11-30 14:51:23 +00:00
i18n.py Update i18n handling to be placement oriented. 2018-09-04 10:31:25 -05:00
lib.py Merge "max-complexity=>16: refactor GET /a_c qs parsing" 2018-10-02 11:22:02 +00:00
microversion.py Move the placement code to the base 2018-09-04 10:31:23 -05:00
policy.py Stop using global oslo_config 2018-11-30 14:51:23 +00:00
requestlog.py Remove the import pathing for the old structure 2018-09-04 10:31:24 -05:00
resource_class_cache.py Use os-resource-classes in placement 2018-12-19 10:43:18 +00:00
rest_api_version_history.rst Fix a format of the API version history doc 2018-12-10 04:31:07 +00:00
util.py Stop using global oslo_config 2018-11-30 14:51:23 +00:00
wsgi.py Stop using global oslo_config 2018-11-30 14:51:23 +00:00
wsgi_wrapper.py Remove the import pathing for the old structure 2018-09-04 10:31:24 -05:00