How to migrate plugins from 1.0.0 to 2.0.0 package version
Beginning with Fuel 6.1, new plugins format is supported. Note, that new format is not compatible with Fuel 6.0.
For new plugins, Fuel Plugin Builder builds RPM packages instead of fuel plugin archives.
In order to migrate from old format to new, follow these steps:
- Get the latest fuel plugin builder version, 2.0.0 or higher. Currently the latest version is not released on pypi, follow the instruction to install development version of fuel plugin builder
git clone https://github.com/stackforge/fuel-plugins cd fuel-plugins/fuel_plugin_builder python setup.py develop
- Change the value of package_version parameter in metadata.yaml file from 1.0.0 to 2.0.0.
- Run the following command:
fpb --check plugin_path
and fix the errors one by one or follow the instructions below.
If your plugin uses "controller" role in tasks.yaml file, make sure that you have also specified the "primary-controller". In new plugins, "controller" and "primary-controller" should be defined explicitly. In previous version, you could indicate "controller", and then the "primary-controller" was added at the backend automatically.
Brand new features
Several obligatory fields are added to metadata.yaml file:
- groups field is used to specify group which your plugin belongs to. Either of the options is available:network, storage, storage::cinder, storage::glance, hypervisor. If your plugin does not belong to any of these options, set an empty list as a value for "groups" parameter.
- authors field provides the list of authors. Here you should specify your or your company's name.
- licenses field contains the list of licenses.
- homepage field sets a link to plugin's project.
One more task type is introduced: the reboot task is useful if you perform node configuration which requires reboot; for example, in case of linux kernel parameters configuration. For information about reboot task type, see the Plugins wiki.