[openstack-dev] [Fuel] [Plugins] Further development of plugin metadata format

Vitaly Kramskikh vkramskikh at mirantis.com
Thu Nov 27 16:57:51 UTC 2014


In the 6.0 release we'll support simple plugins for Fuel. The current
architecture allows to create only very simple plugins and doesn't allow to
"pluginize" complex features like Ceph, vCenter, etc. I'd like to propose
some changes to make it possible. They are subtle enough and the plugin
template still can be autogenerated by Fuel Plugin Builder. Here they are:


   1. environment_config.yaml should contain exact config which will be
   mixed into cluster_attributes. No need to implicitly generate any controls
   like it is done now.
   2. metadata.yaml should also contain "is_removable" field. This field is
   needed to determine whether it is possible to remove installed plugin. It
   is impossible to remove plugins in the current implementation. This
   field should contain an expression written in our DSL which we already use
   in a few places. The LBaaS plugin also uses it to hide the checkbox if
   Neutron is not used, so even simple plugins like this need to utilize it.
   This field can also be autogenerated, for more complex plugins plugin
   writer needs to fix it manually. For example, for Ceph it could look like
   "settings:storage.volumes_ceph.value == false and
   settings:storage.images_ceph.value == false".
   3. For every task in tasks.yaml there should be added new "condition"
   field with an expression which determines whether the task should be run.
   In the current implementation tasks are always run for specified roles. For
   example, vCenter plugin can have a few tasks with conditions like
   "settings:common.libvirt_type.value == 'vcenter'" or
   "settings:storage.volumes_vmdk.value == true". Also, AFAIU, similar
   approach will be used in implementation of Granular Deployment feature.

These simple changes will allow to write much more complex plugins. What do
you think?
Vitaly Kramskikh,
Software Engineer,
Mirantis, Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20141127/b42b5ccb/attachment.html>

More information about the OpenStack-dev mailing list