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