RETIRED, Cluster upgrade extension for Fuel
Go to file
Nikita Zubkov 4150121e8a Validate network roles for new cluster
Checks that network roles mapping from original release is a subset of
network roles mapping of new cluster's release.

Change-Id: I521e70bf3df289abf3e71c5c1558faf7126db964
Partial-Bug: #1619162
2016-09-21 17:00:02 +03:00
cluster_upgrade Validate network roles for new cluster 2016-09-21 17:00:02 +03:00
specs Add package spec 2016-08-05 16:07:32 +00:00
.coveragerc Initial commit 2016-07-07 19:26:42 +03:00
.gitignore Setup unit tests 2016-07-13 14:02:49 +03:00
.gitreview Initial commit 2016-07-07 19:26:42 +03:00
AUTHORS Initial commit 2016-07-07 19:26:42 +03:00
LICENSE Initial commit 2016-07-07 19:26:42 +03:00
MANIFEST.in Initial commit 2016-07-07 19:26:42 +03:00
README.rst Fix README formatting 2016-09-14 17:29:17 +03:00
bindep.txt Add bindep.txt to shorten test run time 2016-08-23 12:47:03 +03:00
conftest.py Setup unit tests 2016-07-13 14:02:49 +03:00
nailgun-test-settings.yaml Setup unit tests 2016-07-13 14:02:49 +03:00
requirements.txt Initial commit 2016-07-07 19:26:42 +03:00
setup.cfg Add VIPs transformer 2016-08-24 22:05:10 +03:00
setup.py Initial commit 2016-07-07 19:26:42 +03:00
test-requirements.txt Setup unit tests 2016-07-13 14:02:49 +03:00
tox.ini Switch to upstream fuel-web repository 2016-08-22 11:01:44 +00:00

README.rst

Fuel nailgun extenstion for cluster upgrade

This extension for Nailgun provides API handlers and logic for cluster upgrading. This extension used by the fuel-octane project.

Instalation

After installing fuel-nailgun-extension-cluster-upgrade package run:
  1. nailgun_syncdb - migrate database
  2. restart nailgun service

Transformer configuration

Every transformation manager has default config that hardcoded, but you can overwrite this config with your own transformations extensions. This could be done by extending nailgun/settings.yaml file.

Example

CLUSTER_UPGRADE:
  transformations:
    cluster:
      7.0: [transform_vips]
      9.0: [first_transformation, second_transformation]

...

In extension you should define a entrypoint is such way:

nailgun.cluster_upgrade.transformations.cluster.7.0 =
   transform_vips = my_project.transformations:transform_cluster_vips

on first line we have entripoint name where

  • nailgun.cluster_upgrade.transformations - namespace where all transformations defined.
  • cluster - name of object which data transformed
  • 7.0 - cluster version where these transformations should happen

on the second line

  • transform_vips - unique transformation name that you can use in configuration file or in transformation manager
  • my_project.transformations - module name
  • transform_cluster_vips - transformer function name

Transformation function must take only one argument - data to transform. When you call manager.apply(from_version, to_version, data) all transformer functions ordered by a version called one by one, and output of one transformer used as input to the other.

In out example calling cluster_manager.apply('6.0', '9.1', data) will call three functions transform_vips, first_transformation, second_transformation.