← Back to team overview

fuel-dev team mailing list archive

Re: Fuel plugin ideas

 

Dmitry - sounds like a great start.

Team,

Pluggable architecture is a priority for 4.1. Given that we are now done
with Havana release, please make an effort to review and give prompt
feedback to Dmitry.

Thanks,
Roman

On Wednesday, December 25, 2013, Dmitry Ukov wrote:

> 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

References