163ce243fb
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 |
||
---|---|---|
.. | ||
alembic_migrations | ||
objects | ||
tests | ||
transformations | ||
__init__.py | ||
extension.py | ||
handlers.py | ||
models.py | ||
upgrade.py | ||
validators.py |