
Change-Id: Ib9ff465c4e14173ff43d28690de98fea3fcdbb32 Signed-off-by: Javeria Khan <javeriak@plumgrid.com>
7.3 KiB
Home OpenStack-Ansible Installation Guide
Appendix E. Using PLUMgrid Neutron Plugin
Installing Source and Host Networking
Clone the PLUMgrid ansible repository under the
/opt/
directory:# 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 toplumgrid
in this file:# 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 theirservice_en
keys toFalse
# 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
/opt/plumgrid-ansible/etc/user_pg_vars.yml.example
and copy
it to /etc/openstack_deploy/user_pg_vars.yml
. The following
parameters must be configured:
Replace
PG_REPO_HOST
with a valid repo URL hosting PLUMgrid packages.plumgrid_repo: PG_REPO_HOST
Replace
INFRA_IPs
with comma separated Infrastructure Node IPs andPG_VIP
with an allocated IP on the management network, this will be used to access the PLUMgrid UI.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]fabric_interface: FABRIC_IFC
To override the default interface names with another name for any particular node fill in the
fabric_ifc_override
andmgmt_override
dicts with nodehostname: 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 configuration files.
To add Gateways Hosts, add a
gateway_hosts
section to/etc/openstack_deploy/openstack_user_config.yml
as shown below:gateway_hosts: gateway1: ip: GW01_IP_ADDRESS gateway2: ip: GW02_IP_ADDRESS
Replace
*_IP_ADDRESS
with the IP address of thebr-mgmt
container management bridge on each Gateway host.Also add a
gateway_hosts
section to the end of the PLUMgriduser_pg_vars.yml
file described in the section above. This must contain hostnames and gateway_dev names for each Gateway in the cluster.gateway_hosts: - hostname: gateway1 gateway_devs: - eth3 - eth4
Installation
- Run the PLUMgrid playbooks with (do this before the openstack-setup.yml playbook is run):
cd /opt/plumgrid-ansible/plumgrid_playbooks
openstack-ansible 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)