Remove plumgrid network provider type

This change removes the plumgrid network provider type. Plumgrid
was purchased by VMWare and subsequently dismantled. This change removes
the driver because it is no longer maintained and is no longer a viable
option with an OpenStack cloud.

Change-Id: I87522d5dc4a5a1fccc417e2e9688900873c067fe
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
This commit is contained in:
Kevin Carter 2017-05-17 12:42:16 -05:00
parent 4fd6cf8a5d
commit 477fae8e5c
No known key found for this signature in database
GPG Key ID: 69FEFFC5E2D9273F
11 changed files with 6 additions and 318 deletions

View File

@ -127,8 +127,6 @@ neutron_neutron_conf_overrides: {}
neutron_nuage_conf_ini_overrides: {}
neutron_openvswitch_agent_ini_overrides: {}
neutron_openvswitch_agent_init_overrides: {}
neutron_plumgrid_conf_ini_overrides: {}
neutron_plumlib_ini_overrides: {}
# Provide a list of access controls to update the default policy.json with.
# These changes will be merged
# with the access controls in the default policy.json. E.g.

View File

@ -1,156 +0,0 @@
============================================
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

@ -8,7 +8,6 @@ Neutron role for OpenStack-Ansible
configure-network-services.rst
app-openvswitch.rst
app-nuage.rst
app-plumgrid.rst
app-calico.rst
:tags: openstack, neutron, cloud, ansible

View File

@ -0,0 +1,5 @@
---
deprecations:
- The plumgrid network provider has been removed. This is being dropped
without a full deprecation cycle because the company, plumgrid, no
longer exists.

View File

@ -115,11 +115,6 @@
notify:
- Restart neutron services
- name: Setup PLUMgrid config
include: plumgrid_config.yml
static: no
when: neutron_plugin_type == 'plumgrid'
- name: Setup Nuage neutron config
include: nuage_neutron_config.yml
static: no

View File

@ -1,64 +0,0 @@
---
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Setup PLUMlib Neutron Config
config_template:
src: plugins/plumgrid/plumlib.ini
dest: "{{ neutron_conf_dir }}/plugins/plumgrid/plumlib.ini"
owner: "{{ neutron_system_user_name }}"
group: "{{ neutron_system_group_name }}"
config_overrides: "{{ neutron_plumlib_ini_overrides }}"
config_type: "ini"
- name: Place pgrc file
template:
src: plugins/plumgrid/pgrc
dest: "{{ neutron_conf_dir }}/plugins/plumgrid/pgrc"
owner: "{{ neutron_system_user_name }}"
group: "{{ neutron_system_group_name }}"
- name: Install networking-plumgrid
package:
name: networking-plumgrid
state: "{{ neutron_package_state }}"
update_cache: "{{ (ansible_pkg_mgr == 'apt') | ternary('yes', omit) }}"
cache_valid_time: "{{ (ansible_pkg_mgr == 'apt') | ternary(cache_timeout, omit) }}"
force: "{{ (ansible_pkg_mgr == 'apt') | ternary('yes', omit) }}"
register: install_packages
until: install_packages|success
retries: 5
delay: 2
when:
- inventory_hostname in groups[neutron_services['neutron-server']['group']]
- name: Register networking_plumgrid version
shell: >
dpkg -l | grep networking-plumgrid | awk '{print $3}'
register: np_ver
when:
- inventory_hostname in groups[neutron_services['neutron-server']['group']]
- name: Link networking-plumgrid files (venv)
file:
src: "{{ item.name }}"
dest: "{{ neutron_venv_lib_dir }}{{ item.name | basename }}"
state: "{{ item.state }}"
force: "yes"
with_items:
- { state: link, name: "/usr/local/lib/python2.7/dist-packages/networking_plumgrid" }
- { state: link, name: "/usr/local/lib/python2.7/dist-packages/networking_plumgrid-{{ np_ver.stdout }}-py2.7.egg-info" }
when:
- neutron_venv_enabled | bool
- inventory_hostname in groups[neutron_services['neutron-server']['group']]

View File

@ -206,7 +206,7 @@ auth_version = 3
{% endif %}
{% if neutron_fwaas | bool and neutron_plugin_type != 'plumgrid' %}
{% if neutron_fwaas | bool %}
[fwaas]
enabled = true
driver = neutron_fwaas.services.firewall.drivers.linux.iptables_fwaas.IptablesFwaasDriver

View File

@ -1,9 +0,0 @@
#!/bin/sh
# {{ ansible_managed }}
export os_auth_url="{{ keystone_service_adminurl }}"
export os_admin_user="{{ keystone_admin_user_name }}"
export os_admin_tenant="{{ keystone_admin_tenant_name }}"
export os_admin_password="{{ keystone_auth_admin_password }}"
export pg_virtual_ip="{{ pg_vip }}"
export pg_username="{{ pg_username }}"
export pg_password="{{ pg_password }}"

View File

@ -1,19 +0,0 @@
#Config file for Neutron PLUMgrid Plugin
[plumgriddirector]
# This line should point to the PLUMgrid Director Virtual-IP,
# for the PLUMgrid Platform.
director_server={{ pg_vip }}
director_server_port={{ pg_ports['vip_port'] }}
# Authentification parameters for the Director.
# These are the admin credentials to manage and control
# the PLUMgrid Director server.
username={{ pg_username }}
password={{ pg_password }}
servertimeout=70
connection = mysql+pymysql://{{ neutron_galera_user }}:{{ neutron_container_mysql_password }}@{{ neutron_galera_address }}/{{ neutron_galera_database }}?charset=utf8
[l2gateway]
vendor={{ hardware_vendor_type }}
sw_username={{ switch_username }}
sw_password={{ switch_password }}

View File

@ -1,57 +0,0 @@
# Configuration file for the Python PLUMgrid Library
# PLUMgrid spefifc parameters are expected to come
# from /etc/openstack_deploy/user_pg_vars.yml
[PLUMgridLibrary]
# PLUMlib writes to CDB to save some data. If this flag is set to
# false, PLUMlib will not use CDB utility
cdb_configuration = True
# Name of the interface plugged on fabric network
fabric_eth = eth1
# Security Policy Flag
enable_pg_security = True
# Reverse Flow Flag
enable_reverse_flow = True
# Flag to enable/disable virtual appliance creation
vapp_flag = False
[PLUMgridMetadata]
nova_metadata_ip = {{ pg_metadata_ip }}
nova_metadata_port = {{ pg_metadata_port }}
metadata_proxy_shared_secret = {{ nova_metadata_proxy_secret }}
enable_pg_metadata = {{ enable_pg_metadata }}
# setting "metadata_ns" to false, will result in
# no metadata namespace created on this node
metadata_ns = True
# Where to store Neutron state files
state_path = /var/lib/neutron/
# Name of proxy used in metadata namespaces
ns_proxy_name = neutron-ns-metadata-proxy
# PLUMlib supports two metadata modes: tunnel and local
# Note: modes cannot be changed on a running system. This config
# should be done before bringing up the system
metadata_mode = local
# Use "sudo neutron-rootwrap {{ neutron_conf_dir }}/rootwrap.conf" to use the real
# root filter facility.
# Change to "sudo" to skip the filtering and just run the comand directly
root_helper_name = {{ neutron_bin }}/neutron-rootwrap
[ConnectorType]
connector_type = {{ pg_connector_type|default('distributed') }}
[keystone_authtoken]
admin_user = {{ neutron_service_user_name }}
admin_password = {{ neutron_service_password }}
auth_uri = {{ keystone_service_internaluri }}/v3
admin_tenant_name = {{ neutron_service_project_name }}
identity_version = {{ identity_version|default('v3') }}
user_domain_name = {{ plumlib_user_domain_name|default('Default')}}

View File

@ -180,10 +180,6 @@ neutron_plugins:
plugin_conf_ini_overrides: "{{ neutron_ml2_conf_ini_overrides }}"
l3_agent_mode: "legacy"
driver_interface: "openvswitch"
plumgrid:
plugin_conf_ini_overrides: "{{ neutron_plumgrid_conf_ini_overrides }}"
plugin_core: networking_plumgrid.neutron.plugins.plugin.NeutronPluginPLUMgridV2
plugin_ini: plugins/plumgrid/plumgrid.ini
nuage:
plugin_core: neutron.plugins.nuage.plugin.NuagePlugin
plugin_ini: plugins/nuage/nuage.ini