openstack-ansible-os_neutron/doc/source/app-plumgrid.rst
Robb Romans 5772632e0e [DOCS] Add links to README; minor restructure
Change-Id: Idc4f409c5ef0e1514de52eaa858ce60bd9c17baa
2016-08-16 14:27:02 -05:00

157 lines
4.6 KiB
ReStructuredText

============================================
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.