summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-03-01 13:16:21 +0000
committerGerrit Code Review <review@openstack.org>2016-03-01 13:16:21 +0000
commit31ff21c51176ceed3046c359d6b3f2296d05a253 (patch)
tree8744f201cad95f883069465ccf1ae986427ffcb6
parent11490b79f4271a1f0b49a277288ba4cdf854a082 (diff)
parent3f95e2dd052cf0b24507088da7883e281101b6b9 (diff)
downloadpython-openstackclient-31ff21c51176ceed3046c359d6b3f2296d05a253.tar.gz
Merge "add a checklist for creating a new plugin"
-rw-r--r--doc/source/plugins.rst38
1 files changed, 38 insertions, 0 deletions
diff --git a/doc/source/plugins.rst b/doc/source/plugins.rst
index 288ee4b1..f5bbd6dd 100644
--- a/doc/source/plugins.rst
+++ b/doc/source/plugins.rst
@@ -129,3 +129,41 @@ so the version should not contain the leading 'v' character.
DEFAULT_API_VERSION +
' (Env: OS_OSCPLUGIN_API_VERSION)')
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