6.2 KiB
Fuel plug-ins certification
Certified and Non-Certified plug-ins
Plug-ins come into two categories: Certified and Non-Certified.
For information on Certified and Non-Certified plug-ins certification
requirements, see Plug-in certification requirements<plug-in-cert>.
For instructions on creating your own plug-in, see 020-fuel-plugin-dev. For
instructions on installing a plug-in, see 040-install-plugin. For instructions on building your
plug-in, see How To Build your Plug-in<create-build-plugin>.
Plug-ins storage
Plug-ins are kept in a special file storage, so that you can download them from https://software.mirantis.com/fuel-plugins and install.
Plug-ins development requirements
Plug-ins must meet a set of development requirements. Once a provided plug-in does not satisfy any of them, Mirantis cannot accept it and publish into the Catalog.
When you plan to develop a plug-in for Fuel, take the following requirements into consideration:
- Plug-in should be written on Python.
- Deb and rpm packages must contain their dependencies. For instructions on creating packages, see Fedora project wiki and Ubuntu Packaging Guide.
- Puppet manifests should be written according to the Official OpenStack documentation. For good code examples and workflow, see Puppet in OpenStack.
- It is strongly not recommended to use bash scripts.
Plug-ins certification requirements
Certified and Non-Certified plug-ins have a set of requirements.
Non-Certified
Non-Certified plug-in should satisfy the following requirements:
- Built plug-in or download link is provided
- Plug-in purpose is specified: for example, Compute, Storage, Network, Operations
- Basic description of plug-in functionality (specification) is provided
- Plug-in developer contact information (company, support contacts) is provided
Non-Certified plug-in must also have the following set of documentation:
- Plug-in Installation Guide in .pdf format
- Plug-in User Guide in .pdf format (for templates, see
plugin-doc-template) - Test Plan and Test Report in .pdf format (for templates, see
test-plan-report)
Certified
Certified plug-ins are those that passed Non-Certified<non-certified> phase.
The main difference between Non-Certified and Certified plug-ins is that the latter are tested by the Fuel QA team more thoroughly to verify that plug-in can be enabled in Fuel without any harm.
If a Non-Certified plug-in susccessfully passes all tests, it is
moved to the appropriate directory of the Plug-ins storage<plugins-storage> and signed by
Mirantis GPG key.
How to upload your plug-in into Mirantis OpenStack Catalog
It is not important where to host the plug-in code. Nevertheless, to enable CI tests it is recommended to publish plug-ins into separate repositories of the Stackforge project.
Currently, plug-ins created by Mirantis developers are kept in the following repos:
- Stackforge plug-ins - used for plug-ins developed by Fuel Core team.
- Mirantis plug-ins - used for plug-ins developed by Partner Integrations and MOS teams.
Note that the plug-ins will also be moved to separate repos in Stackforge.
A contributor should only build the plug-in as described in instructions on building a plug-in<create-build-plugin>
and send it to fuel-plugin@mirantis.com.
The email should contain the following information:
- Type of the plug-in
- Set of required documents, described in
Non-Certified<non-certified>andCertified<certified>sections.
After receiving the email, Partner Integration team starts Plug-in acceptance workflow<plug-in-accept-workflow>.
Plug-in acceptance workflow
Non-Certified plug-in acceptance workflow
The workflow for Non-Certified plug-ins consists of the following steps:
- Plug-in that satisfies
Non-Certified<non-certified>plug-ins certification requirements, goes through a set of tests. Fuel QA team confirms it. - Fuel Documentation team verifies that all necessary documents are
provided according to
Documentation template<plugin-doc-template>. - After Fuel QA and Documentation teams provide their confirmation,
responsible person from Partner Integration team adds or replaces the
plug-in with its User Guide into Non-Certified plug-ins directory of the
Plug-ins storage<plugins-storage>.
Certified plug-ins acceptance workflow
The workflow for plug-ins certification consists of the following steps:
- A plug-in should pass
Non-Certified plug-in acceptance workflow<non-certified-plug-in-workflow>. - Fuel Core, PI and MOS teams developers review the code, try to check architecture, security and performance issues of the provided plug-in.
- Fuel QA team tests plug-in according to the extended test cases. Additional test cases should be provided in the contributor's testing instruction.
- After Fuel QA, Core, MOS and Documentation teams confirm that
plug-in can be moved to Verified, responsible person from Partner
Integration team pushes the plug-in with its documentation into the
Certified directory of the
Plug-ins storage<plugins-storage>.