[DOCS] Move over the Neutron Plugins docs

This change moves the Neutron Plugin documents for Plumgrid and Nuage
over to the Neutron role.  Moving forward, specific project
configurations are maintained in the appropriate role book.

Change-Id: I5d2d6a38419a879862c98f21e094d094a4857b62
This commit is contained in:
Drew Thorstensen 2016-08-10 13:57:35 -05:00 committed by Jesse Pretorius (odyssey4me)
parent 31a0386574
commit b1674b6a82
6 changed files with 364 additions and 44 deletions

View File

@ -1,30 +1,5 @@
OpenStack Neutron
#################
:tags: openstack, neutron, cloud, ansible
:category: \*nix
=========================
OpenStack-Ansible neutron
=========================
Role for deployment, setup and installation of Neutron.
This role will install the following:
* neutron-server
* neutron-agents
.. code-block:: yaml
- name: Installation and setup of Neutron
hosts: neutron_all
user: root
roles:
- { role: "os_neutron", tags: [ "os-neutron" ] }
vars:
neutron_galera_address: "{{ internal_lb_vip_address }}"
Tags
====
This role supports two tags: ``neutron-install`` and ``neutron-config``
The ``neutron-install`` tag can be used to install and upgrade.
The ``neutron-config`` tag can be used to maintain configuration of the
service.
Ansible role that installs and configures OpenStack neutron.

148
doc/source/app-nuage.rst Normal file
View File

@ -0,0 +1,148 @@
=========================================
Scenario - Using the Nuage neutron plugin
=========================================
Introduction
~~~~~~~~~~~~
Follow these steps to deploy Nuage Networks VCS with OpenStack-Ansible
(OSA):
- Install prerequisites.
- Configure neutron to use the Nuage Networks neutron plugin.
- Configure the Nuage Networks neutron plugin.
- Download Nuage Networks VCS components and playbooks.
- Execute the playbooks.
Prerequisites
~~~~~~~~~~~~~
#. The deployment environment is configured according to OSA best
practices such as cloning OSA software and bootstrapping Ansible.
See `OpenStack-Ansible Install Guide
<http://docs.openstack.org/developer/openstack-ansible/install-guide/index.html>`_
#. VCS stand-alone components, VSD and VSC, are configured and
deployed. See the Nuage Networks VSD and VSC Install Guides.
#. Nuage VRS playbooks were cloned to the deployment host from
`https://github.com/nuagenetworks/nuage-openstack-ansible
<https://github.com/nuagenetworks/nuage-openstack-ansible>`_. This
guide assumes a deployment host path of
``/opt/nuage-openstack-ansible``.
Configure Nuage neutron plugin
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Configuring the neutron plugin requires creating or editing of
parameters in the following two files:
- ``/etc/openstack_deploy/user_nuage_vars.yml``
- ``/etc/openstack_deploy/user_variables.yml``
On the deployment host, copy the Nuage user variables file from
``/opt/nuage-openstack-ansible/etc/user_nuage_vars.yml`` to the
``/etc/openstack_deploy/`` folder.
.. code-block:: shell-session
# cp /opt/nuage-openstack-ansible/etc/user_nuage_vars.yml \
/etc/openstack_deploy/
Next, modify the following parameters in that file as per your Nuage
VCS environment:
#. Replace *VSD Enterprise Name* with the name of VSD Enterprise:
.. code-block:: yaml
nuage_net_partition_name: "<VSD Enterprise Name>"
#. Replace *VSD IP* and *VSD GUI Port* as per your VSD configuration:
.. code-block:: yaml
nuage_vsd_ip: "<VSD IP>:<VSD GUI Port>"
#. Replace *VSD Username, VSD Password*, and *VSD Organization Name*
with your login credentials for the VSD GUI:
.. code-block:: yaml
nuage_vsd_username: "<VSD Username>"
nuage_vsd_password: "<VSD Password>"
nuage_vsd_organization: "<VSD Organization Name>"
#. Replace *Nuage VSP Version* with the Nuage VSP release for
Integration. For example, for Nuage VSP release 3.2 this value
would be *v3\_2*.
.. code-block:: yaml
nuage_base_uri_version: "<Nuage VSP Version>"
#. Replace *Nuage VSD CMS Id* with the ``CMS-Id`` generated by VSD to
manage your OpenStack cluster:
.. code-block:: yaml
nuage_cms_id: "<Nuage VSD CMS Id>"
#. Replace *Active VSC-IP* with the IP address of your active VSC node
and *Standby VSC-IP* with the IP address of your standby VSC node:
.. code-block:: yaml
active_controller: "<Active VSC-IP>"
standby_controller: "<Standby VSC-IP>"
#. Replace *Local Package Repository* with the link of the local
repository hosting the Nuage VRS packages. For example:
``http://192.0.2.10/debs/3.2/vrs/``
.. code-block:: yaml
nuage_vrs_debs_repo: "deb <Local Package Repository>"
#. On the Deployment host, add the following lines to the
``/etc/openstack_deploy/user_variables.yml`` file, replacing the
*Local PyPi Mirror URL* with the link to the PyPi server hosting
the Nuage OpenStack Python packages in “.whl” format:
.. code-block:: yaml
neutron_plugin_type: "nuage"
nova_network_type: "nuage"
pip_links:
- { name: "openstack_release", link: "{{ openstack_repo_url \
}}/os-releases/{{ openstack_release }}/" }
- { name: "nuage_repo", link: "<Local PyPi Mirror URL>" }
Installation
~~~~~~~~~~~~
#. After you set up the multi-node OpenStack cluster, start the
OpenStack deployment as listed in the OpenStack-Ansible Install
guide by running all playbooks in sequence on the deployment host.
#. After OpenStack deployment is complete, deploy Nuage VRS on all
compute target hosts in the OpenStack cluster by running the Nuage
VRS playbooks in ``/opt/nuage-openstack-ansible/nuage_playbook`` on
your deployment host:
.. code-block:: shell-session
# cd /opt/nuage-openstack-ansible/nuage_playbooks
# openstack-ansible nuage_all.yml
.. note:: To obtain Nuage Networks VSP software packages, user
documentation, and licenses, contact
info@nuagenetworks.net.

156
doc/source/app-plumgrid.rst Normal file
View File

@ -0,0 +1,156 @@
============================================
Scenario - Using the PLUMgrid Neutron plugin
============================================
Installing source and host networking
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. Clone the PLUMgrid Ansible repository in the ``/opt/`` directory:
.. code-block:: shell-session
# git clone -b TAG \
https://github.com/plumgrid/plumgrid-ansible.git \
/opt/plumgrid-ansible
Replace *``TAG``* with the current stable release tag.
#. PLUMgrid controls networking for the entire cluster. The bridges
``br-vxlan`` and ``br-vlan`` are present to prevent relevant
containers from exiting with errors on infra hosts. They do not
need to be attached to any host interface or a valid network.
#. PLUMgrid requires two networks: a `Management` and a `Fabric`
network. The Management network is typically shared through the
standard ``br-mgmt`` bridge and the Fabric network must be
specified in the PLUMgrid configuration file as described below.
The Fabric interface must be untagged and unbridged.
Neutron configuration
~~~~~~~~~~~~~~~~~~~~~
To set up the neutron configuration to install PLUMgrid as the core
neutron plugin, create a userspace variable file named
``/etc/openstack_deploy/user_pg_neutron.yml`` and insert the following
parameters:
#. Set the ``neutron_plugin_type`` parameter to ``plumgrid``:
.. code-block:: yaml
# Neutron Plugins
neutron_plugin_type: plumgrid
#. In the same file, disable the installation of unnecessary
``neutron-agents`` in the ``neutron_services`` dictionary by
setting their ``service_en`` parameters to ``False``:
.. code-block:: yaml
neutron_metering: False
neutron_l3: False
neutron_lbaas: False
neutron_lbaasv2: False
neutron_vpnaas: False
PLUMgrid configuration
~~~~~~~~~~~~~~~~~~~~~~
On the deployment host, create a PLUMgrid user variables file using
the sample in ``/opt/plumgrid-ansible/etc/user_pg_vars.yml.example``.
Copy that file to ``/etc/openstack_deploy/user_pg_vars.yml``. You must
configure the following parameters:
#. Replace ``PG_REPO_HOST`` with a valid repository URL hosting
PLUMgrid packages:
.. code-block:: yaml
plumgrid_repo: PG_REPO_HOST
#. Replace ``INFRA_IPs`` with comma-separated Infrastructure Node IPs
and ``PG_VIP`` with an unallocated IP on the management network.
This IP is used to access the PLUMgrid UI:
.. code-block:: yaml
plumgrid_ip: INFRA_IPs
pg_vip: PG_VIP
#. Replace ``FABRIC_IFC`` with the name of the interface to be used
for PLUMgrid Fabric.
.. note::
PLUMgrid Fabric must be an untagged unbridged raw interface such
as ``eth0``.
.. code-block:: yaml
fabric_interface: FABRIC_IFC
#. Fill in the ``fabric_ifc_override`` and ``mgmt_override`` dicts
with node ``hostname: interface_name`` to override the default
interface names.
#. Obtain a PLUMgrid License file, rename to ``pg_license`` and place
it under ``/var/lib/plumgrid/pg_license`` on the deployment host.
Gateway hosts
~~~~~~~~~~~~~
PLUMgrid-enabled OpenStack clusters contain one or more gateway nodes
used for providing connectivity with external resources, such as
external networks, bare-metal servers, or network service appliances.
In addition to the `Management` and `Fabric` networks required by
PLUMgrid nodes, gateways require dedicated external interfaces
referred to as ``gateway_devs`` in the configuration files.
#. Add a ``gateway_hosts`` section to
``/etc/openstack_deploy/openstack_user_config.yml``:
.. code-block:: yaml
gateway_hosts:
gateway1:
ip: GW01_IP_ADDRESS
gateway2:
ip: GW02_IP_ADDRESS
Replace ``*_IP_ADDRESS`` with the IP address of the ``br-mgmt``
container management bridge on each Gateway host.
#. Add a ``gateway_hosts`` section to the end of the PLUMgrid
``user_pg_vars.yml`` file:
.. note::
This section must contain the hostnames and ``gateway_dev``
names for each gateway in the cluster.
.. code-block:: yaml
gateway_hosts:
- hostname: gateway1
gateway_devs:
- eth3
- eth4
Installation
~~~~~~~~~~~~
#. Run the PLUMgrid playbooks before running the
``openstack-setup.yml`` playbook:
.. code-block:: shell-session
# cd /opt/plumgrid-ansible/plumgrid_playbooks
# openstack-ansible plumgrid_all.yml
.. note::
Contact PLUMgrid at info@plumgrid.com for an Installation Pack.
This pack includes a full trial commercial license, packages,
deployment documentation, and automation scripts for the entire
work flow.

View File

@ -1,22 +1,32 @@
os_neutron Role Docs
====================
==================================
Neutron role for OpenStack-Ansible
==================================
The os_neutron role is used to to deploy, configure and install OpenStack
Networking.
.. toctree::
:maxdepth: 2
This role will install the following:
overview.rst
app-nuage.rst
app-plumgrid.rst
:tags: openstack, neutron, cloud, ansible
:category: \*nix
This role will install the following Upstart services:
* neutron-server
* neutron-agents
Basic Role Example
^^^^^^^^^^^^^^^^^^
Example playbook
~~~~~~~~~~~~~~~~
.. code-block:: yaml
.. literalinclude:: ../../examples/playbook.yml
:language: yaml
- name: Installation and setup of Neutron
hosts: neutron_all
user: root
roles:
- { role: "os_neutron", tags: [ "os-neutron" ] }
vars:
neutron_galera_address: "{{ internal_lb_vip_address }}"
Tags
~~~~
This role supports two tags: ``neutron-install`` and ``neutron-config``
The ``neutron-install`` tag can be used to install and upgrade.
The ``neutron-config`` tag can be used to manage configuration.

24
doc/source/overview.rst Normal file
View File

@ -0,0 +1,24 @@
========
Overview
========
Default variables
~~~~~~~~~~~~~~~~~
.. literalinclude:: ../../defaults/main.yml
:language: yaml
:start-after: under the License.
Example playbook
~~~~~~~~~~~~~~~~
.. literalinclude:: ../../examples/playbook.yml
:language: yaml
Tags
~~~~
This role supports two tags: ``neutron-install`` and
``neutron-config``. The ``neutron-install`` tag can be used to install
and upgrade. The ``neutron-config`` tag can be used to maintain the
configuration of the service.

7
examples/playbook.yml Normal file
View File

@ -0,0 +1,7 @@
- name: Installation and setup of Neutron
hosts: neutron_all
user: root
roles:
- { role: "os_neutron", tags: [ "neutron-install", "neutron-config" ] }
vars:
neutron_galera_address: "{{ internal_lb_vip_address }}"