d47486d317
Addresses some issues with this command: 1) When used without the --max-count option, the summary table will always show zero migrations run, because it only accounts for the last batch, and the loop only exits when the last batch does no work. 2) "remaining" counts cannot be accurate, given the way migrations are implemented, because the "found" count refers to the number of rows that exist in the database, not the number that still need the migration applied. 3) In the case where no migrations are successful, but some raise exceptions, the command was exiting with status zero, which usually indicates "success". This can cause issues that cause migration failures to go unnoticed, especially when automated. 4) When exceptions do occur, a minimally useful message is output, and no detail about the exception is available to the user. The exception detail should be logged. 5) Inaccuracies in the documentation - "--max_number" should be "--max-count", and stale references to the "--ignore_state" option, which was removed in [1] The solution for (3) introduces a new exit status, 2. See release note for details. These changes are aligned with equivalents [2][3] for the nova-manage command, except for the calculation of "Total Needed" - nova seems to interpret the "found" count differently/inconsistently. [1] https://review.openstack.org/510201 [2] https://review.openstack.org/605828 [3] https://review.openstack.org/608091 Change-Id: I878480eb2359625cde839b073230844acc645cba Closes-Bug: #1794364 Closes-Bug: #1796192
14 lines
771 B
YAML
14 lines
771 B
YAML
---
|
|
upgrade:
|
|
- |
|
|
The ``cinder-manage db online_data_migrations`` command now returns exit
|
|
status 2 in the case where some migrations failed (raised exceptions) and
|
|
no others were completed successfully from the last batch attempted. This
|
|
should be considered a fatal condition that requires intervention. Exit
|
|
status 1 will be returned in the case where the ``--max-count`` option was
|
|
used and some migrations failed but others succeeded (updated at least one
|
|
row), because more work may remain for the non-failing migrations, and
|
|
their completion may be a dependency for the failing ones. The command
|
|
should be reiterated while it returns exit status 1, and considered
|
|
completed successfully only when it returns exit status 0.
|