Apply cookiecutter to newly split project
This tempest plugin is being split out of the main keystone project in
accordance with Queens goal "Split Tempest Plugins into Separate
Repos/Projects"[1]. This patch applies the standard boilerplate files
for OpenStack projects so that it can stand on its own.
[1] https://governance.openstack.org/tc/goals/queens/split-tempest-plugins.html
diff --git a/doc/source/admin/index.rst b/doc/source/admin/index.rst
new file mode 100644
index 0000000..37ec8e5
--- /dev/null
+++ b/doc/source/admin/index.rst
@@ -0,0 +1,5 @@
+====================
+Administrators guide
+====================
+
+Administrators guide of cinder_tempest_plugin.
diff --git a/doc/source/cli/index.rst b/doc/source/cli/index.rst
new file mode 100644
index 0000000..e10dc82
--- /dev/null
+++ b/doc/source/cli/index.rst
@@ -0,0 +1,5 @@
+================================
+Command line interface reference
+================================
+
+CLI reference of cinder_tempest_plugin.
diff --git a/doc/source/conf.py b/doc/source/conf.py
new file mode 100755
index 0000000..bd620dc
--- /dev/null
+++ b/doc/source/conf.py
@@ -0,0 +1,81 @@
+# -*- coding: utf-8 -*-
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import os
+import sys
+
+sys.path.insert(0, os.path.abspath('../..'))
+# -- General configuration ----------------------------------------------------
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+extensions = [
+ 'sphinx.ext.autodoc',
+ 'openstackdocstheme',
+ #'sphinx.ext.intersphinx',
+]
+
+# autodoc generation is a bit aggressive and a nuisance when doing heavy
+# text edit cycles.
+# execute "export SPHINX_DEBUG=1" in your terminal to disable
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'cinder_tempest_plugin'
+copyright = u'2017, OpenStack Developers'
+
+# openstackdocstheme options
+repository_name = 'cinder_tempest_plugin/cinder_tempest_plugin'
+bug_project = 'cinder_tempest_plugin'
+bug_tag = ''
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+add_module_names = True
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+# -- Options for HTML output --------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages. Major themes that come with
+# Sphinx are currently 'default' and 'sphinxdoc'.
+# html_theme_path = ["."]
+# html_theme = '_theme'
+# html_static_path = ['static']
+html_theme = 'openstackdocs'
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = '%sdoc' % project
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title, author, documentclass
+# [howto/manual]).
+latex_documents = [
+ ('index',
+ '%s.tex' % project,
+ u'%s Documentation' % project,
+ u'OpenStack Developers', 'manual'),
+]
+
+# Example configuration for intersphinx: refer to the Python standard library.
+#intersphinx_mapping = {'http://docs.python.org/': None}
diff --git a/doc/source/configuration/index.rst b/doc/source/configuration/index.rst
new file mode 100644
index 0000000..074b9c7
--- /dev/null
+++ b/doc/source/configuration/index.rst
@@ -0,0 +1,5 @@
+=============
+Configuration
+=============
+
+Configuration of cinder_tempest_plugin.
diff --git a/doc/source/contributor/contributing.rst b/doc/source/contributor/contributing.rst
new file mode 100644
index 0000000..2aa0707
--- /dev/null
+++ b/doc/source/contributor/contributing.rst
@@ -0,0 +1,4 @@
+============
+Contributing
+============
+.. include:: ../../../CONTRIBUTING.rst
diff --git a/doc/source/contributor/index.rst b/doc/source/contributor/index.rst
new file mode 100644
index 0000000..036e449
--- /dev/null
+++ b/doc/source/contributor/index.rst
@@ -0,0 +1,9 @@
+===========================
+ Contributor Documentation
+===========================
+
+.. toctree::
+ :maxdepth: 2
+
+ contributing
+
diff --git a/doc/source/index.rst b/doc/source/index.rst
new file mode 100644
index 0000000..0c9ae83
--- /dev/null
+++ b/doc/source/index.rst
@@ -0,0 +1,30 @@
+.. cinder_tempest_plugin documentation master file, created by
+ sphinx-quickstart on Tue Jul 9 22:26:36 2013.
+ You can adapt this file completely to your liking, but it should at least
+ contain the root `toctree` directive.
+
+=====================================================
+Welcome to the documentation of cinder_tempest_plugin
+=====================================================
+
+Contents:
+
+.. toctree::
+ :maxdepth: 2
+
+ readme
+ install/index
+ library/index
+ contributor/index
+ configuration/index
+ cli/index
+ user/index
+ admin/index
+ reference/index
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
diff --git a/doc/source/install/common_configure.rst b/doc/source/install/common_configure.rst
new file mode 100644
index 0000000..59ee597
--- /dev/null
+++ b/doc/source/install/common_configure.rst
@@ -0,0 +1,10 @@
+2. Edit the ``/etc/cinder_tempest_plugin/cinder_tempest_plugin.conf`` file and complete the following
+ actions:
+
+ * In the ``[database]`` section, configure database access:
+
+ .. code-block:: ini
+
+ [database]
+ ...
+ connection = mysql+pymysql://cinder_tempest_plugin:CINDER_TEMPEST_PLUGIN_DBPASS@controller/cinder_tempest_plugin
diff --git a/doc/source/install/common_prerequisites.rst b/doc/source/install/common_prerequisites.rst
new file mode 100644
index 0000000..45be927
--- /dev/null
+++ b/doc/source/install/common_prerequisites.rst
@@ -0,0 +1,75 @@
+Prerequisites
+-------------
+
+Before you install and configure the volume service,
+you must create a database, service credentials, and API endpoints.
+
+#. To create the database, complete these steps:
+
+ * Use the database access client to connect to the database
+ server as the ``root`` user:
+
+ .. code-block:: console
+
+ $ mysql -u root -p
+
+ * Create the ``cinder_tempest_plugin`` database:
+
+ .. code-block:: none
+
+ CREATE DATABASE cinder_tempest_plugin;
+
+ * Grant proper access to the ``cinder_tempest_plugin`` database:
+
+ .. code-block:: none
+
+ GRANT ALL PRIVILEGES ON cinder_tempest_plugin.* TO 'cinder_tempest_plugin'@'localhost' \
+ IDENTIFIED BY 'CINDER_TEMPEST_PLUGIN_DBPASS';
+ GRANT ALL PRIVILEGES ON cinder_tempest_plugin.* TO 'cinder_tempest_plugin'@'%' \
+ IDENTIFIED BY 'CINDER_TEMPEST_PLUGIN_DBPASS';
+
+ Replace ``CINDER_TEMPEST_PLUGIN_DBPASS`` with a suitable password.
+
+ * Exit the database access client.
+
+ .. code-block:: none
+
+ exit;
+
+#. Source the ``admin`` credentials to gain access to
+ admin-only CLI commands:
+
+ .. code-block:: console
+
+ $ . admin-openrc
+
+#. To create the service credentials, complete these steps:
+
+ * Create the ``cinder_tempest_plugin`` user:
+
+ .. code-block:: console
+
+ $ openstack user create --domain default --password-prompt cinder_tempest_plugin
+
+ * Add the ``admin`` role to the ``cinder_tempest_plugin`` user:
+
+ .. code-block:: console
+
+ $ openstack role add --project service --user cinder_tempest_plugin admin
+
+ * Create the cinder_tempest_plugin service entities:
+
+ .. code-block:: console
+
+ $ openstack service create --name cinder_tempest_plugin --description "volume" volume
+
+#. Create the volume service API endpoints:
+
+ .. code-block:: console
+
+ $ openstack endpoint create --region RegionOne \
+ volume public http://controller:XXXX/vY/%\(tenant_id\)s
+ $ openstack endpoint create --region RegionOne \
+ volume internal http://controller:XXXX/vY/%\(tenant_id\)s
+ $ openstack endpoint create --region RegionOne \
+ volume admin http://controller:XXXX/vY/%\(tenant_id\)s
diff --git a/doc/source/install/get_started.rst b/doc/source/install/get_started.rst
new file mode 100644
index 0000000..7a7dac4
--- /dev/null
+++ b/doc/source/install/get_started.rst
@@ -0,0 +1,9 @@
+=======================
+volume service overview
+=======================
+The volume service provides...
+
+The volume service consists of the following components:
+
+``cinder_tempest_plugin-api`` service
+ Accepts and responds to end user compute API calls...
diff --git a/doc/source/install/index.rst b/doc/source/install/index.rst
new file mode 100644
index 0000000..79839c8
--- /dev/null
+++ b/doc/source/install/index.rst
@@ -0,0 +1,17 @@
+=================================
+volume service installation guide
+=================================
+
+.. toctree::
+ :maxdepth: 2
+
+ get_started.rst
+ install.rst
+ verify.rst
+ next-steps.rst
+
+The volume service (cinder_tempest_plugin) provides...
+
+This chapter assumes a working setup of OpenStack following the
+`OpenStack Installation Tutorial
+<https://docs.openstack.org/project-install-guide/ocata/>`_.
diff --git a/doc/source/install/install-obs.rst b/doc/source/install/install-obs.rst
new file mode 100644
index 0000000..7fc0227
--- /dev/null
+++ b/doc/source/install/install-obs.rst
@@ -0,0 +1,34 @@
+.. _install-obs:
+
+
+Install and configure for openSUSE and SUSE Linux Enterprise
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This section describes how to install and configure the volume service
+for openSUSE Leap 42.1 and SUSE Linux Enterprise Server 12 SP1.
+
+.. include:: common_prerequisites.rst
+
+Install and configure components
+--------------------------------
+
+#. Install the packages:
+
+ .. code-block:: console
+
+ # zypper --quiet --non-interactive install
+
+.. include:: common_configure.rst
+
+
+Finalize installation
+---------------------
+
+Start the volume services and configure them to start when
+the system boots:
+
+.. code-block:: console
+
+ # systemctl enable openstack-cinder_tempest_plugin-api.service
+
+ # systemctl start openstack-cinder_tempest_plugin-api.service
diff --git a/doc/source/install/install-rdo.rst b/doc/source/install/install-rdo.rst
new file mode 100644
index 0000000..85740b1
--- /dev/null
+++ b/doc/source/install/install-rdo.rst
@@ -0,0 +1,33 @@
+.. _install-rdo:
+
+Install and configure for Red Hat Enterprise Linux and CentOS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
+This section describes how to install and configure the volume service
+for Red Hat Enterprise Linux 7 and CentOS 7.
+
+.. include:: common_prerequisites.rst
+
+Install and configure components
+--------------------------------
+
+#. Install the packages:
+
+ .. code-block:: console
+
+ # yum install
+
+.. include:: common_configure.rst
+
+Finalize installation
+---------------------
+
+Start the volume services and configure them to start when
+the system boots:
+
+.. code-block:: console
+
+ # systemctl enable openstack-cinder_tempest_plugin-api.service
+
+ # systemctl start openstack-cinder_tempest_plugin-api.service
diff --git a/doc/source/install/install-ubuntu.rst b/doc/source/install/install-ubuntu.rst
new file mode 100644
index 0000000..d5e59df
--- /dev/null
+++ b/doc/source/install/install-ubuntu.rst
@@ -0,0 +1,31 @@
+.. _install-ubuntu:
+
+Install and configure for Ubuntu
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This section describes how to install and configure the volume
+service for Ubuntu 14.04 (LTS).
+
+.. include:: common_prerequisites.rst
+
+Install and configure components
+--------------------------------
+
+#. Install the packages:
+
+ .. code-block:: console
+
+ # apt-get update
+
+ # apt-get install
+
+.. include:: common_configure.rst
+
+Finalize installation
+---------------------
+
+Restart the volume services:
+
+.. code-block:: console
+
+ # service openstack-cinder_tempest_plugin-api restart
diff --git a/doc/source/install/install.rst b/doc/source/install/install.rst
new file mode 100644
index 0000000..3c79c4d
--- /dev/null
+++ b/doc/source/install/install.rst
@@ -0,0 +1,20 @@
+.. _install:
+
+Install and configure
+~~~~~~~~~~~~~~~~~~~~~
+
+This section describes how to install and configure the
+volume service, code-named cinder_tempest_plugin, on the controller node.
+
+This section assumes that you already have a working OpenStack
+environment with at least the following components installed:
+.. (add the appropriate services here and further notes)
+
+Note that installation and configuration vary by distribution.
+
+.. toctree::
+ :maxdepth: 2
+
+ install-obs.rst
+ install-rdo.rst
+ install-ubuntu.rst
diff --git a/doc/source/install/next-steps.rst b/doc/source/install/next-steps.rst
new file mode 100644
index 0000000..b18fab2
--- /dev/null
+++ b/doc/source/install/next-steps.rst
@@ -0,0 +1,9 @@
+.. _next-steps:
+
+Next steps
+~~~~~~~~~~
+
+Your OpenStack environment now includes the cinder_tempest_plugin service.
+
+To add additional services, see
+https://docs.openstack.org/project-install-guide/ocata/.
diff --git a/doc/source/install/verify.rst b/doc/source/install/verify.rst
new file mode 100644
index 0000000..da5cd25
--- /dev/null
+++ b/doc/source/install/verify.rst
@@ -0,0 +1,24 @@
+.. _verify:
+
+Verify operation
+~~~~~~~~~~~~~~~~
+
+Verify operation of the volume service.
+
+.. note::
+
+ Perform these commands on the controller node.
+
+#. Source the ``admin`` project credentials to gain access to
+ admin-only CLI commands:
+
+ .. code-block:: console
+
+ $ . admin-openrc
+
+#. List service components to verify successful launch and registration
+ of each process:
+
+ .. code-block:: console
+
+ $ openstack volume service list
diff --git a/doc/source/library/index.rst b/doc/source/library/index.rst
new file mode 100644
index 0000000..274ba2a
--- /dev/null
+++ b/doc/source/library/index.rst
@@ -0,0 +1,7 @@
+========
+Usage
+========
+
+To use cinder_tempest_plugin in a project::
+
+ import cinder_tempest_plugin
diff --git a/doc/source/readme.rst b/doc/source/readme.rst
new file mode 100644
index 0000000..a6210d3
--- /dev/null
+++ b/doc/source/readme.rst
@@ -0,0 +1 @@
+.. include:: ../../README.rst
diff --git a/doc/source/reference/index.rst b/doc/source/reference/index.rst
new file mode 100644
index 0000000..c08ed8d
--- /dev/null
+++ b/doc/source/reference/index.rst
@@ -0,0 +1,5 @@
+==========
+References
+==========
+
+References of cinder_tempest_plugin.
diff --git a/doc/source/user/index.rst b/doc/source/user/index.rst
new file mode 100644
index 0000000..b1d3cb0
--- /dev/null
+++ b/doc/source/user/index.rst
@@ -0,0 +1,5 @@
+===========
+Users guide
+===========
+
+Users guide of cinder_tempest_plugin.