7.3 KiB
Home OpenStack-Ansible Installation Guide
Appendix E. Using PLUMgrid Neutron Plugin
Installing Source and Host Networking
Clone the PLUMgrid ansible repository into the
/optdirectory:# git clone -b TAG https://github.com/plumgrid/plumgrid-ansible.git /optReplace ``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_typeparameter toplumgridin this file:# Neutron Plugins neutron_plugin_type: plumgridAlso in the same file, disable the installation of all neutron-agents in the
neutron_servicesdictionary, by setting theirservice_enkeys 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
../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_HOSTwith a valid repo URL hosting PLUMgrid packages.plumgrid_repo: PG_REPO_HOSTReplace
INFRA_IPswith comma seperated Infrastructure Node IPs andPG_VIPwith an anallocated IP on the management network, this will be used to access the PLUMgrid UI.plumgrid_ip: INFRA_IPs pg_vip: PG_VIPReplace
FABRIC_IFCwith 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_IFCTo override the default interface names with another name for any particular node fill in the
fabric_ifc_overrideandmgmt_overridedicts with nodehostname: interface_nameas shown in the example file.Obtain a PLUMgrid License file, rename to
pg_licenseand place it under/var/lib/plumgrid/pg_licenseon 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_hostssection to/etc/openstack_deploy/openstack_user_config.ymlas shown below:gateway_hosts: gateway1: ip: GW01_IP_ADDRESS gateway2: ip: GW02_IP_ADDRESSReplace
*_IP_ADDRESSwith the IP address of thebr-mgmtcontainer management bridge on each Gateway host.Also add a
gateway_hostssection to the end of the PLUMgriduser_pg_vars.ymlfile 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
openstack-ansible plumgrid_playbooks/plumgrid_all.ymlNote: 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)