Add install-guide Appendix for enabling PLUMgrid Plugin functionality
in openstack-ansible Patch 3: Addressed Kevin's & Jesse's comments plumgrid clones outside of OSA neutron configs added to a new user file Closes-Bug: #1516424 Change-Id: I707613024c55f23276a4ec721ecf85bca1aeb969 Signed-off-by: Javeria Khan <javeriak@plumgrid.com>
This commit is contained in:
parent
9e8e4c78e6
commit
ab95f43568
|
@ -0,0 +1,201 @@
|
||||||
|
`Home <index.html>`__ OpenStack Ansible Installation Guide
|
||||||
|
|
||||||
|
Appendix E. Using PLUMgrid Neutron Plugin
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
Installing Source and Host Networking
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
#. Clone the PLUMgrid ansible repository into the ``/opt`` directory:
|
||||||
|
|
||||||
|
.. code-block:: shell-session
|
||||||
|
|
||||||
|
# git clone -b TAG https://github.com/plumgrid/plumgrid-ansible.git /opt
|
||||||
|
|
||||||
|
Replace *``TAG``* with the current stable release tag.
|
||||||
|
|
||||||
|
#. PLUMgrid will take over networking for the entire cluster; therefore the
|
||||||
|
bridges br-vxlan and br-vlan will only need to be present to avoid
|
||||||
|
relevant containers from erroring out 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.
|
||||||
|
Management is typically shared via the standard br-mgmt and Fabric
|
||||||
|
must be specified in the PLUMgrid configuration file described below.
|
||||||
|
Furthermore the Fabric interface must be untagged and unbridged.
|
||||||
|
|
||||||
|
Neutron Configurations
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
To setup the neutron configuration to install PLUMgrid as the
|
||||||
|
core neutron plugin, create a user space variable file
|
||||||
|
``/etc/openstack_deploy/user_pg_neutron.yml`` and insert the following
|
||||||
|
parameters:
|
||||||
|
|
||||||
|
#. Set the ``neutron_plugin_type`` parameter to ``plumgrid`` in this file:
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
# Neutron Plugins
|
||||||
|
neutron_plugin_type: plumgrid
|
||||||
|
|
||||||
|
#. Also in the same file, disable the installation of all neutron-agents
|
||||||
|
in the ``neutron_services`` dictionary, by setting their ``service_en``
|
||||||
|
keys to ``False``
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
# Neutron Services
|
||||||
|
neutron_services:
|
||||||
|
neutron-dhcp-agent:
|
||||||
|
service_name: neutron-dhcp-agent
|
||||||
|
service_en: False
|
||||||
|
service_conf: dhcp_agent.ini
|
||||||
|
service_group: neutron_agent
|
||||||
|
service_rootwrap: rootwrap.d/dhcp.filters
|
||||||
|
config_options: --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini
|
||||||
|
config_overrides: "{{ neutron_dhcp_agent_ini_overrides }}"
|
||||||
|
config_type: "ini"
|
||||||
|
neutron-linuxbridge-agent:
|
||||||
|
service_name: neutron-linuxbridge-agent
|
||||||
|
service_en: False
|
||||||
|
service_conf: plugins/ml2/ml2_conf.ini
|
||||||
|
service_group: neutron_linuxbridge_agent
|
||||||
|
service_rootwrap: rootwrap.d/linuxbridge-plugin.filters
|
||||||
|
config_options: --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini
|
||||||
|
config_overrides: "{{ neutron_ml2_conf_ini_overrides }}"
|
||||||
|
config_type: "ini"
|
||||||
|
neutron-metadata-agent:
|
||||||
|
service_name: neutron-metadata-agent
|
||||||
|
service_en: False
|
||||||
|
service_conf: metadata_agent.ini
|
||||||
|
service_group: neutron_agent
|
||||||
|
config_options: --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/metadata_agent.ini
|
||||||
|
config_overrides: "{{ neutron_metadata_agent_ini_overrides }}"
|
||||||
|
config_type: "ini"
|
||||||
|
neutron-metering-agent:
|
||||||
|
service_name: neutron-metering-agent
|
||||||
|
service_en: False
|
||||||
|
service_conf: metering_agent.ini
|
||||||
|
service_group: neutron_agent
|
||||||
|
config_options: --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/metering_agent.ini
|
||||||
|
config_overrides: "{{ neutron_metering_agent_ini_overrides }}"
|
||||||
|
config_type: "ini"
|
||||||
|
neutron-l3-agent:
|
||||||
|
service_name: neutron-l3-agent
|
||||||
|
service_en: False
|
||||||
|
service_conf: l3_agent.ini
|
||||||
|
service_group: neutron_agent
|
||||||
|
service_rootwrap: rootwrap.d/l3.filters
|
||||||
|
config_options: --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/l3_agent.ini
|
||||||
|
config_overrides: "{{ neutron_l3_agent_ini_overrides }}"
|
||||||
|
config_type: "ini"
|
||||||
|
neutron-lbaas-agent:
|
||||||
|
service_name: neutron-lbaas-agent
|
||||||
|
service_en: False
|
||||||
|
service_conf: lbaas_agent.ini
|
||||||
|
service_group: neutron_agent
|
||||||
|
service_rootwrap: rootwrap.d/lbaas-haproxy.filters
|
||||||
|
config_options: --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/lbaas_agent.ini
|
||||||
|
config_overrides: "{{ neutron_lbaas_agent_ini_overrides }}"
|
||||||
|
config_type: "ini"
|
||||||
|
neutron-server:
|
||||||
|
service_name: neutron-server
|
||||||
|
service_en: True
|
||||||
|
service_group: neutron_server
|
||||||
|
config_options: "--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/{{ neutron_plugins[neutron_plugin_type].plugin_ini }}"
|
||||||
|
|
||||||
|
|
||||||
|
PLUMgrid Cofigurations
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
On the Deployment Host create a PLUMgrid user variables file, using the sample in
|
||||||
|
``../playbooks/plumgrid-ansible/etc/user_pg_vars.yml.example`` and place it under
|
||||||
|
``/etc/openstack_deploy/``. The following paremeters must be configured:
|
||||||
|
|
||||||
|
#. Replace ``PG_REPO_HOST`` with a valid repo URL hosting PLUMgrid
|
||||||
|
packages.
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
plumgrid_repo: PG_REPO_HOST
|
||||||
|
|
||||||
|
#. Replace ``INFRA_IPs`` with comma seperated Infrastructure Node IPs and
|
||||||
|
``PG_VIP`` with an anallocated IP on the management network, this will
|
||||||
|
be 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 that will be used
|
||||||
|
for PLUMgrid Fabric. [Note: PLUMgrid Fabric must be an untagged unbridged
|
||||||
|
raw inteface such as eth0]
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
fabric_interface: FABRIC_IFC
|
||||||
|
|
||||||
|
#. To override the default interface names with another name for any
|
||||||
|
particular node fill in the ``fabric_ifc_override`` and ``mgmt_override``
|
||||||
|
dicts with node ``hostname: interface_name`` as shown in the example file.
|
||||||
|
|
||||||
|
#. 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
|
||||||
|
that are used for providing connectivity with external resources such as
|
||||||
|
external networks (Internet), 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 confgiuration files.
|
||||||
|
|
||||||
|
#. To add Gateways Hosts, add a ``gateway_hosts`` section to
|
||||||
|
``/etc/openstack_deploy/openstack_user_config.yml`` as shown below:
|
||||||
|
|
||||||
|
.. 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.
|
||||||
|
|
||||||
|
#. Also add a ``gateway_hosts`` section to the end of the PLUMgrid ``user_pg_vars.yml``
|
||||||
|
file described in the section above. This must contain 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 with (do this before the openstack-setup.yml
|
||||||
|
playbook is run):
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
cd /opt/plumgrid-ansible
|
||||||
|
openstack-ansible plumgrid_playbooks/plumgrid_all.yml
|
||||||
|
|
||||||
|
Note: Contact PLUMgrid for an Installation Pack info@plumgrid.com
|
||||||
|
(includes full/trial license, packages, deployment documentation and
|
||||||
|
automation scripts for the entire workflow described above)
|
||||||
|
|
||||||
|
--------------
|
||||||
|
|
||||||
|
.. include:: navigation.txt
|
||||||
|
|
|
@ -62,3 +62,4 @@ Appendices
|
||||||
app-resources.rst
|
app-resources.rst
|
||||||
app-minorupgrade.rst
|
app-minorupgrade.rst
|
||||||
app-tips.rst
|
app-tips.rst
|
||||||
|
app-plumgrid.rst
|
||||||
|
|
Loading…
Reference in New Issue