fuel-nailgun-extension-clus.../cluster_upgrade/transformations
Yuriy Taraday 163ce243fb Add pluggable transformations for data migration
This change introduces new transformation mechanism:
- all available transformations are listed in setuptools entry points
  under namespace like this (for cluster transformations):

    nailgun.cluster_upgrade.transformations.cluster.9.0 =
        dns_list = ...
        ntp_list = ...
    nailgun.cluster_upgrade.transformations.cluster.8.0 =
        ...
    <etc>

- config file will include section that specifies enabled
  transformations like this:

    CLUSTER_UPGRADE_TRANSFORMATIONS:
      cluster:
        9.0: dns_list ntp_list ...
        8.0: ...
        7.0: ...

  (only default values are implemented here, actual config support will
  follow)

- when transformations are applied to clone cluster from version X to
  version Y, first transformations for version X+1 are applied, then
  X+2, and so on ending with transformations for version Y.

Since Nailgun doesn't provide any special extension initialization
callback, a Lazy wrapper is implemented to facilitate transformations
manager usage in extension.

Change-Id: I8ee75b54180106ad46c1df67f8d5937d6bd810a1
2016-08-23 22:52:15 +03:00
..
__init__.py Add pluggable transformations for data migration 2016-08-23 22:52:15 +03:00