commit 54efd312395a56cbeee5c556df34afd8153c8076
Author: Grzegorz Grasza <email address hidden>
Date: Thu Dec 8 11:34:27 2016 +0100
Add new dbsync command with first online data migration
This adds the new command 'ironic-dbsync online_data_migrations'.
To limit downtime during upgrades, data migrations will be done online
with migration scripts that could be run during normal operation of an
ironic cluster, after the upgrade but before the next one.
Each migration script should ensure that all related DB records are
migrated to the new format. Scripts can detect the format based on
the object version which is stored in the version column.
The online data migration has one script; a function that backfills
the new version column, using versions of objects from the release
prior to this.
This includes code to check the object versions for compatibility with
an ironic release. However, the check is turned off (and will be turned on
in Queens), since we need to boot-strap the new version column before
we can turn the check on. To do this check, we need to keep a list of all
supported versions for every object; release_mapping.RELEASE_MAPPING was
modified so that the object versions is now a list instead of one value.
Reviewed: https:/ /review. openstack. org/408556 /git.openstack. org/cgit/ openstack/ ironic/ commit/ ?id=54efd312395 a56cbeee5c556df 34afd8153c8076
Committed: https:/
Submitter: Jenkins
Branch: master
commit 54efd312395a56c beee5c556df34af d8153c8076
Author: Grzegorz Grasza <email address hidden>
Date: Thu Dec 8 11:34:27 2016 +0100
Add new dbsync command with first online data migration
This adds the new command 'ironic-dbsync online_ data_migrations '.
To limit downtime during upgrades, data migrations will be done online
with migration scripts that could be run during normal operation of an
ironic cluster, after the upgrade but before the next one.
Each migration script should ensure that all related DB records are
migrated to the new format. Scripts can detect the format based on
the object version which is stored in the version column.
The online data migration has one script; a function that backfills
the new version column, using versions of objects from the release
prior to this.
This includes code to check the object versions for compatibility with mapping. RELEASE_ MAPPING was
an ironic release. However, the check is turned off (and will be turned on
in Queens), since we need to boot-strap the new version column before
we can turn the check on. To do this check, we need to keep a list of all
supported versions for every object; release_
modified so that the object versions is now a list instead of one value.
Change-Id: I1a9fa829951ecf 98cae6896d82ba2 0cf89062394
Closes-Bug: #1585141
Partial-bug: #1526283
Co-Authored-By: Ruby Loo <email address hidden>