Rearrange doc structure to standard layout

* The document is no longer only for developers, so the title of
  the top page is updated.
* In the current document standard, docs for contributors are
  placed under contributor/.
* Title levels are rearranged to be shown appropriately
  with openstackdocsthems.
* Fixes many sphinx code-block for better rendering.

Change-Id: I36fc80d1c1e5382597099b86df3bbf009ce06902
This commit is contained in:
Akihiro Motoki 2018-02-25 00:36:54 +09:00
parent 4d51460879
commit 27b2222a3d
10 changed files with 222 additions and 181 deletions

View File

@ -23,25 +23,25 @@ How to Configure
----------------
To configure VPNaaS, it is only necessary to enable the neutron-vpnaas
devstack plugin by adding the following line to the [[local|localrc]]
devstack plugin by adding the following line to the ``[[local|localrc]]``
section of devstack's local.conf file::
enable_plugin neutron-vpnaas <GITURL> [BRANCH]
<GITURL> is the URL of a neutron-vpnaas repository
[BRANCH] is an optional git ref (branch/ref/tag). The default is master.
``<GITURL>`` is the URL of a neutron-vpnaas repository
``[BRANCH]`` is an optional git ref (branch/ref/tag). The default is master.
For example::
For example::
enable_plugin neutron-vpnaas https://git.openstack.org/openstack/neutron-vpnaas stable/kilo
enable_plugin neutron-vpnaas https://git.openstack.org/openstack/neutron-vpnaas stable/kilo
The default implementation for IPSEC package under DevStack is 'strongswan'.
However, depending upon the Linux distribution, you may need to override
this value. Select 'libreswan' for Fedora/RHEL/CentOS::
this value. Select 'libreswan' for Fedora/RHEL/CentOS.
For example, install libreswan for CentOS/RHEL 7::
For example, install libreswan for CentOS/RHEL 7::
IPSEC_PACKAGE=libreswan
IPSEC_PACKAGE=libreswan
This VPNaaS devstack plugin code will then

View File

@ -14,10 +14,10 @@
License for the specific language governing permissions and limitations
under the License.
Developer Guide
===============
Contributor Guide
=================
In the Developer Guide, you will find information on the design, and
In the Contributor Guide, you will find information on the design, and
architecture of the Neutron Virtual Private Network as a Service repo.
This include things like, information on the reference implementation
flavors, design details on VPNaaS internals, and testing. Developers
@ -63,16 +63,6 @@ VPNaaS Team
team
VPNaaS Flavors
-----------------
.. toctree::
:maxdepth: 3
.. todo::
Info on the different Swan flavors, how they are different, and what
Operating Systems support them.
VPNaaS Internals
-----------------
.. toctree::
@ -110,6 +100,18 @@ Module Reference
Add in all the big modules as automodule indexes.
About Documentation
-------------------
This documentation is generated by the Sphinx toolkit and lives in the source
tree. Additional documentation on VPNaaS and other components of OpenStack
can be found on the `OpenStack wiki`_ and the `Neutron section of the wiki`_ (see
the VPN related pages).
The `Neutron Development wiki`_ is also a good resource for new contributors.
.. _`OpenStack wiki`: https://wiki.openstack.org/wiki/Main_Page
.. _`Neutron section of the wiki`: https://wiki.openstack.org/wiki/Neutron
.. _`Neutron Development wiki`: https://wiki.openstack.org/wiki/NeutronDevelopment
Indices and tables
------------------

View File

@ -0,0 +1,96 @@
===================
VPNaaS Rally Tests
===================
This contains the rally test codes for the Neutron VPN as a Service (VPNaaS) service. The tests
currently require rally to be installed via devstack or standalone. It is assumed that you
also have Neutron with the Neutron VPNaaS service installed.
These tests could also be run against a multinode openstack.
Please see /neutron-vpnaas/devstack/README.md for the required devstack configuration settings
for Neutron-VPNaaS.
Structure
=========
1. plugins - Directory where you can add rally plugins. Almost everything in Rally is a plugin.
Contains base, common methods and actual scenario tests
2. rally-configs - Contains input configurations for the scenario tests
How to test
===========
Included in the repo are rally tests. For information on rally,
please see the rally `README <https://github.com/openstack/rally/blob/master/README.rst>`__.
Create a rally deployment for your cloud and make sure it is active.
.. code-block:: console
rally deployment create --file=cloud_cred.json --name=MyCloud
You can also create a rally deployment from the environment variables.
.. code-block:: console
rally deployment create --fromenv --name=MyCloud
Create a folder structure as below
.. code-block:: console
sudo mkdir /opt/rally
Create a symbolic link to the plugins directory
.. code-block:: console
cd /opt/rally
sudo ln -s /opt/stack/neutron-vpnaas/rally-jobs/plugins
Run the tests. You can run the tests in various combinations.
* Single Node with DVR with admin credentials
* Single Node with DVR with non admin credentials
* Multi Node with DVR with admin credentials
* Multi Node with DVR with non admin credentials
* Single Node, Non DVR with admin credentials
* Multi Node, Non DVR with admin credentials
Create a ``args.json`` file with the correct credentials depending on whether
it is a single node or multinode cloud.
A ``args_template.json`` file is available at
``/opt/stack/neutron-vpnaas/rally-jobs/rally-configs/args_template.json``
for your reference.
Update the ``rally_config_dvr.yaml`` or ``rally_config_non_dvr.yaml`` file to
change the admin/non_admin credentials.
Use the appropriate config files to run either dvr or non_dvr tests.
With DVR:
.. code-block:: console
rally task start \
/opt/stack/neutron-vpnaas/rally-jobs/rally-configs/rally_config_dvr.yaml \
--task-args-file /opt/stack/neutron-vpnaas/rally-jobs/rally-configs/args.json
Non DVR:
.. code-block:: console
rally task start \
/opt/stack/neutron-vpnaas/rally-jobs/rally-configs/rally_config_non_dvr.yaml \
--task-args-file /opt/stack/neutron-vpnaas/rally-jobs/rally-configs/args.json
.. note::
Non DVR scenario can only be run as admin as you need admin credentials to create
a non DVR router.
External Resources
==================
For more information on the rally testing framework see: https://github.com/openstack/rally/.

View File

@ -0,0 +1,72 @@
====================
VPNaaS Tempest Tests
====================
This contains the tempest test codes for the Neutron VPN as a Service (VPNaaS) service. The tests
currently require tempest to be installed via devstack or standalone. It is assumed that you
also have Neutron with the Neutron VPNaaS service installed. These tests could also be run against
a multinode openstack.
Please see /neutron-vpnaas/devstack/README.md for the required devstack configuration settings
for Neutron-VPNaaS.
How to test:
============
As a tempest plugin, the steps to run tests by hands are:
1. Setup a local working environment for running tempest.
.. code-block:: console
tempest init ${your_tempest_dir}
2. Enter ${your_tempest_dir}:
.. code-block:: console
cd ${your_tempest_dir}
3. Check neutron_vpnaas_tests exist in tempest plugins.
.. code-block:: console
tempest list-plugins
+----------------------+------------------------------------------------------+
| Name | EntryPoint |
+----------------------+------------------------------------------------------+
| neutron_tests | neutron_tempest_plugin.plugin:NeutronTempestPlugin |
| neutron_vpnaas_tests | neutron_vpnaas.tests.tempest.plugin:VPNTempestPlugin |
+----------------------+------------------------------------------------------+
4. Run neutron_vpnaas tests.
.. code-block:: console
tempest run --regex "^neutron_vpnaas.tests.tempest.api\."
Usage in gate
=============
In the jenkins gate, devstack-gate/devstack-vm-gate-wrap.sh will invoke tempest with proper
configurations, such as:
.. code-block:: none
DEVSTACK_GATE_TEMPEST=1
DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1
DEVSTACK_GATE_TEMPEST_REGEX="^neutron_vpnaas.tests.tempest.api\."
The actual raw command in gate running under the tempest code directory is:
.. code-block:: console
tox -eall-plugin -- "^neutron_vpnaas.tests.tempest.api\."
External Resources
==================
For more information on the tempest,
see: https://docs.openstack.org/tempest/latest/.

View File

@ -1,67 +0,0 @@
===================
VPNaaS Rally Tests
===================
This contains the rally test codes for the Neutron VPN as a Service (VPNaaS) service. The tests
currently require rally to be installed via devstack or standalone. It is assumed that you
also have Neutron with the Neutron VPNaaS service installed.
These tests could also be run against a multinode openstack.
Please see /neutron-vpnaas/devstack/README.md for the required devstack configuration settings
for Neutron-VPNaaS.
Structure:
==========
1. plugins - Directory where you can add rally plugins. Almost everything in Rally is a plugin.
Contains base, common methods and actual scenario tests
2. rally-configs - Contains input configurations for the scenario tests
How to test:
============
Included in the repo are rally tests. For information on rally, please see the rally README :
https://github.com/openstack/rally/blob/master/README.rst
* Create a rally deployment for your cloud and make sure it is active.
rally deployment create --file=cloud_cred.json --name=MyCloud
You can also create a rally deployment from the environment variables.
rally deployment create --fromenv --name=MyCloud
* Create a folder structure as below
sudo mkdir /opt/rally
* Create a symbolic link to the plugins directory
cd /opt/rally
sudo ln -s /opt/stack/neutron-vpnaas/rally-jobs/plugins
* Run the tests. You can run the tests in various combinations.
(a) Single Node with DVR with admin credentials
(b) Single Node with DVR with non admin credentials
(c) Multi Node with DVR with admin credentials
(d) Multi Node with DVR with non admin credentials
(e) Single Node, Non DVR with admin credentials
(f) Multi Node, Non DVR with admin credentials
-> Create a args.json file with the correct credentials depending on whether it is a
single node or multinode cloud. A args_template.json file is available at
/opt/stack/neutron-vpnaas/rally-jobs/rally-configs/args_template.json for your reference.
-> Update the rally_config_dvr.yaml or rally_config_non_dvr.yaml file to change the
admin/non_admin credentials.
-> Use the appropriate config files to run either dvr or non_dvr tests.
With DVR:
rally task start /opt/stack/neutron-vpnaas/rally-jobs/rally-configs/rally_config_dvr.yaml
--task-args-file /opt/stack/neutron-vpnaas/rally-jobs/rally-configs/args.json
Non DVR:
rally task start /opt/stack/neutron-vpnaas/rally-jobs/rally-configs/rally_config_non_dvr.yaml
--task-args-file /opt/stack/neutron-vpnaas/rally-jobs/rally-configs/args.json
**Note:**
Non DVR scenario can only be run as admin as you need admin credentials to create
a non DVR router.
External Resources:
===================
For more information on the rally testing framework see: <https://github.com/openstack/rally>

View File

@ -1,68 +0,0 @@
====================
VPNaaS Tempest Tests
====================
This contains the tempest test codes for the Neutron VPN as a Service (VPNaaS) service. The tests
currently require tempest to be installed via devstack or standalone. It is assumed that you
also have Neutron with the Neutron VPNaaS service installed. These tests could also be run against
a multinode openstack.
Please see /neutron-vpnaas/devstack/README.md for the required devstack configuration settings
for Neutron-VPNaaS.
How to test:
============
As a tempest plugin, the steps to run tests by hands are:
1. Setup a local working environment for running tempest
::
tempest init ${your_tempest_dir}
2. Enter ${your_tempest_dir}
::
cd ${your_tempest_dir}
3. Check neutron_vpnaas_tests exist in tempest plugins:
::
tempest list-plugins
+----------------------+--------------------------------------------------------+
| Name | EntryPoint |
+----------------------+--------------------------------------------------------+
| neutron_tests | neutron_tempest_plugin.plugin:NeutronTempestPlugin |
| neutron_vpnaas_tests | neutron_vpnaas.tests.tempest.plugin:VPNTempestPlugin |
+----------------------+--------------------------------------------------------+
4. Run neutron_vpnaas tests:
::
tempest run --regex "^neutron_vpnaas.tests.tempest.api\."
Usage in gate:
==============
In the jenkins gate, devstack-gate/devstack-vm-gate-wrap.sh will invoke tempest with proper
configurations, such as:
::
DEVSTACK_GATE_TEMPEST=1
DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1
DEVSTACK_GATE_TEMPEST_REGEX="^neutron_vpnaas.tests.tempest.api\."
The actual raw command in gate running under the tempest code directory is:
::
tox -eall-plugin -- "^neutron_vpnaas.tests.tempest.api\."
External Resources:
===================
For more information on the tempest, see: <https://docs.openstack.org/tempest/latest/>

View File

@ -14,37 +14,43 @@
License for the specific language governing permissions and limitations
under the License.
Welcome to Neutron VPNaaS developer documentation!
==================================================
========================================
Welcome to Neutron VPNaaS documentation!
========================================
This provides Virtual Private Network as a Service (VPNaaS) capabilities to Neutron.
Maintained as a separate repo, this works in conjunction with the Neutron repo to
provide VPN services for OpenStack. The `VPNaaS API`_ is implementation as an
extension to Neutron's networking API:
Neutron VPNaaS provides Virtual Private Network as a Service (VPNaaS)
capabilities to Neutron. Maintained as a separate repo, this works in
conjunction with the Neutron repo to provide VPN services for OpenStack.
The `VPNaaS API`_ is implementation as an extension to Neutron's networking API:
.. _`VPNaaS API`: https://developer.openstack.org/api-ref/networking/v2/index.html#vpnaas-2-0-unmaintained-vpn-vpnservices-ikepolicies-ipsecpolicies-endpoint-groups-ipsec-site-connections
This documentation is generated by the Sphinx toolkit and lives in the source
tree. Additional documentation on VPNaaS and other components of OpenStack
can be found on the `OpenStack wiki`_ and the `Neutron section of the wiki`_ (see
the VPN related pages).
The `Neutron Development wiki`_ is also a good resource for new contributors.
.. _`OpenStack wiki`: https://wiki.openstack.org/wiki/Main_Page
.. _`Neutron section of the wiki`: https://wiki.openstack.org/wiki/Neutron
.. _`Neutron Development wiki`: https://wiki.openstack.org/wiki/NeutronDevelopment
.. _`VPNaaS API`: https://developer.openstack.org/api-ref/network/v2/index.html#vpnaas-2-0-vpn-vpnservices-ikepolicies-ipsecpolicies-endpoint-groups-ipsec-site-connections
Enjoy!
Developer Docs
==============
User Documentation
------------------
VPNaaS API
~~~~~~~~~~
Go to https://developer.openstack.org/api-ref/network/
and see the VPNaaS section.
VPNaaS Flavors
~~~~~~~~~~~~~~
.. toctree::
:maxdepth: 3
.. todo::
Info on the different Swan flavors, how they are different, and what
Operating Systems support them.
Contributor Guide
-----------------
.. toctree::
:maxdepth: 1
devref/index
API Extensions
==============
Go to https://developer.openstack.org/api-ref/networking/ for information about OpenStack Network API extensions.
contributor/index