fuel-dev team mailing list archive
-
fuel-dev team
-
Mailing list archive
-
Message #00239
Fuel plugin ideas
Hello folks,
recently I've refactored integration of Neutron Nicira NSX plugin
installation into fuel library (https://review.openstack.org/#/c/64002/).
All modifications are gathered into one puppet module.
I have some thoughts on implementation of plugin system in Fuel library
1. Each plugin has to be implemented as a separate module. Init manifest
withouta input parameters (init.pp) should be used as an entry point to
each plugin.
2. All parameters for plugin should be kept in astute.yaml
3. Plugin naming convention should be developed.
4. Function which automatically loads each plugin (e.g. it should
execute init manifest of each class with name mask "plugin_.*") is required.
5. Staging system should be implemented. All plugins have to be executed
in a separate stage (e.g. Stage['main'] -> stage {'plugins':} )
6. Each puppet class which is used with library has to have the ability
to be disabled from plugin
This is necessary because plugins may require to disable some services.
Alternatively this can be implemented by using resource collections (e.g.
Service <| title == l3-agent|> { noop => true }) but we can't execute
plugin in a separate stage in this case.
What do you think on this? I'd like hear a feedback on my ideas and module
implementation.
Thank you in advance.
--
Kind regards
Dmitry Ukov
IT Engineer
Mirantis, Inc.
Follow ups