octane have some dirty hacks to change volumes attributes using nailgun
as a library, such modifications should be done in a extension
Change-Id: I422bb368916f3a319e286edcc6103a2834097a87
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