add a checklist for creating a new plugin
includes steps for both infra and osc changes. Change-Id: I35ae2eb29cff87f5c971e64badd2927fc9a59bf4
This commit is contained in:
parent
6176e802b3
commit
3f95e2dd05
@ -129,3 +129,41 @@ so the version should not contain the leading 'v' character.
|
|||||||
DEFAULT_API_VERSION +
|
DEFAULT_API_VERSION +
|
||||||
' (Env: OS_OSCPLUGIN_API_VERSION)')
|
' (Env: OS_OSCPLUGIN_API_VERSION)')
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
|
Checklist for adding new OpenStack plugins
|
||||||
|
==========================================
|
||||||
|
|
||||||
|
Creating the initial plugin described above is the first step. There are a few
|
||||||
|
more steps needed to fully integrate the client with openstackclient.
|
||||||
|
|
||||||
|
Add the command checker to your CI
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
#. Modify the section of ``zuul/layout.yaml`` related to your repository to
|
||||||
|
add ``osc-plugin-jobs`` to the list of job templates for your project.
|
||||||
|
This job checks that to see if any new commands are: duplicated, missing
|
||||||
|
entry points, or have overlap; across all openstackclient plugins.
|
||||||
|
|
||||||
|
#. Update ``jenkins/scripts/check-osc-plugins.sh`` to include your new
|
||||||
|
library to be installed from source. This is essential in running the
|
||||||
|
previously mentioned check job. Simply add
|
||||||
|
``install_from_source python-fooclient`` to the block of code where all
|
||||||
|
other clients are installed.
|
||||||
|
|
||||||
|
Changes to python-openstackclient
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
#. In ``doc/source/plugins.rst``, update the `Adoption` section to reflect the
|
||||||
|
status of the project.
|
||||||
|
|
||||||
|
#. Update ``doc/source/commands.rst`` to include objects that are defined by
|
||||||
|
fooclient's new plugin.
|
||||||
|
|
||||||
|
#. Update ``doc/source/plugin-commands.rst`` to include the entry point defined
|
||||||
|
in fooclient. We use `sphinxext`_ to automatically document commands that
|
||||||
|
are used.
|
||||||
|
|
||||||
|
#. Update ``test-requirements.txt`` to include fooclient. This is necessary
|
||||||
|
to auto-document the commands in the previous step.
|
||||||
|
|
||||||
|
.. _sphinxext: http://docs.openstack.org/developer/stevedore/sphinxext.html
|
||||||
|
Loading…
Reference in New Issue
Block a user