Skip to content

Commit 3f95e2d

Browse files
author
Steve Martinelli
committed
add a checklist for creating a new plugin
includes steps for both infra and osc changes. Change-Id: I35ae2eb29cff87f5c971e64badd2927fc9a59bf4
1 parent 6176e80 commit 3f95e2d

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

doc/source/plugins.rst

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,3 +129,41 @@ so the version should not contain the leading 'v' character.
129129
DEFAULT_API_VERSION +
130130
' (Env: OS_OSCPLUGIN_API_VERSION)')
131131
return parser
132+
133+
Checklist for adding new OpenStack plugins
134+
==========================================
135+
136+
Creating the initial plugin described above is the first step. There are a few
137+
more steps needed to fully integrate the client with openstackclient.
138+
139+
Add the command checker to your CI
140+
----------------------------------
141+
142+
#. Modify the section of ``zuul/layout.yaml`` related to your repository to
143+
add ``osc-plugin-jobs`` to the list of job templates for your project.
144+
This job checks that to see if any new commands are: duplicated, missing
145+
entry points, or have overlap; across all openstackclient plugins.
146+
147+
#. Update ``jenkins/scripts/check-osc-plugins.sh`` to include your new
148+
library to be installed from source. This is essential in running the
149+
previously mentioned check job. Simply add
150+
``install_from_source python-fooclient`` to the block of code where all
151+
other clients are installed.
152+
153+
Changes to python-openstackclient
154+
---------------------------------
155+
156+
#. In ``doc/source/plugins.rst``, update the `Adoption` section to reflect the
157+
status of the project.
158+
159+
#. Update ``doc/source/commands.rst`` to include objects that are defined by
160+
fooclient's new plugin.
161+
162+
#. Update ``doc/source/plugin-commands.rst`` to include the entry point defined
163+
in fooclient. We use `sphinxext`_ to automatically document commands that
164+
are used.
165+
166+
#. Update ``test-requirements.txt`` to include fooclient. This is necessary
167+
to auto-document the commands in the previous step.
168+
169+
.. _sphinxext: http://docs.openstack.org/developer/stevedore/sphinxext.html

0 commit comments

Comments
 (0)