add a checklist for creating a new plugin

includes steps for both infra and osc changes.

Change-Id: I35ae2eb29cff87f5c971e64badd2927fc9a59bf4
This commit is contained in:
Steve Martinelli 2016-02-25 16:42:45 -05:00
parent 6176e802b3
commit 3f95e2dd05

View File

@ -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