Remove lxb driver support from the role
With neutron removing the lxb driver from their codebase [1],
we have no other choice but remove driver-related logic from our
codebase as well.
[1] 25d0273588
Change-Id: I348ff209a2f2dfe912dc8dd235dc440eca8f2a86
This commit is contained in:
parent
2a7e834ad0
commit
4b05664e9c
@ -153,8 +153,6 @@ neutron_ironic_neutron_agent_ini_overrides: {}
|
||||
neutron_ironic_neutron_agent_init_overrides: {}
|
||||
neutron_l3_agent_ini_overrides: {}
|
||||
neutron_l3_agent_init_overrides: {}
|
||||
neutron_linuxbridge_agent_ini_overrides: {}
|
||||
neutron_linuxbridge_agent_init_overrides: {}
|
||||
neutron_metadata_agent_ini_overrides: {}
|
||||
neutron_metadata_agent_init_overrides: {}
|
||||
neutron_metering_agent_ini_overrides: {}
|
||||
|
@ -1,202 +0,0 @@
|
||||
=============================
|
||||
Scenario - Using Linux Bridge
|
||||
=============================
|
||||
|
||||
Overview
|
||||
~~~~~~~~
|
||||
|
||||
Operators can choose to utilize Linux Bridges instead of Open vSwitch for the
|
||||
neutron ML2 agent. This document outlines how to set it up in your environment.
|
||||
|
||||
.. warning::
|
||||
|
||||
LinuxBridge driver is considered as experimental in Neutron and is
|
||||
discouraged for usage as of today.
|
||||
|
||||
|
||||
Prerequisites
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
All compute nodes must have bridges configured:
|
||||
|
||||
- ``br-mgmt`` - Bridge is used to wire LXC containers. Can be regular interface
|
||||
for bare metal deployments
|
||||
- ``br-vlan`` (optional - used for vlan networks). Can be regular interface.
|
||||
- ``br-vxlan`` (optional - used for vxlan tenant networks). Can be regular
|
||||
interface.
|
||||
- ``br-storage`` (optional - used for certain storage devices). It's also
|
||||
used to wire LXC containers. Can be regular interface for bare metal nodes.
|
||||
|
||||
For more information see:
|
||||
`<https://docs.openstack.org/project-deploy-guide/openstack-ansible/newton/targethosts-networkconfig.html>`_
|
||||
|
||||
|
||||
Configuring bridges (Linux Bridge)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The following is an example of how to configure a bridge (example: ``br-mgmt``)
|
||||
with a Linux Bridge on Ubuntu 16.04 LTS:
|
||||
|
||||
``/etc/network/interfaces``
|
||||
|
||||
.. code-block:: shell-session
|
||||
|
||||
auto lo
|
||||
iface lo inet loopback
|
||||
|
||||
# Management network
|
||||
auto eth0
|
||||
iface eth0 inet manual
|
||||
|
||||
# VLAN network
|
||||
auto eth1
|
||||
iface eth1 inet manual
|
||||
|
||||
source /etc/network/interfaces.d/*.cfg
|
||||
|
||||
``/etc/network/interfaces.d/br-mgmt.cfg``
|
||||
|
||||
.. code-block:: shell-session
|
||||
|
||||
# OpenStack Management network bridge
|
||||
auto br-mgmt
|
||||
iface br-mgmt inet static
|
||||
bridge_stp off
|
||||
bridge_waitport 0
|
||||
bridge_fd 0
|
||||
bridge_ports eth0
|
||||
address MANAGEMENT_NETWORK_IP
|
||||
netmask 255.255.255.0
|
||||
|
||||
One ``br-<type>.cfg`` is required for each bridge. VLAN interfaces can be used
|
||||
to back the ``br-<type>`` bridges if there are limited physical adapters on the
|
||||
system.
|
||||
|
||||
OpenStack-Ansible user variables
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Specify provider network definitions in your
|
||||
``/etc/openstack_deploy/openstack_user_config.yml`` that define
|
||||
one or more Neutron provider bridges and related configuration:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
- network:
|
||||
container_bridge: "br-provider"
|
||||
container_type: "veth"
|
||||
type: "vlan"
|
||||
range: "101:200,301:400"
|
||||
net_name: "physnet1"
|
||||
network_interface: "bond1"
|
||||
group_binds:
|
||||
- neutron_linuxbridge_agent
|
||||
- network:
|
||||
container_bridge: "br-provider2"
|
||||
container_type: "veth"
|
||||
type: "vlan"
|
||||
range: "203:203,467:500"
|
||||
net_name: "physnet2"
|
||||
network_interface: "bond2"
|
||||
group_binds:
|
||||
- neutron_linuxbridge_agent
|
||||
|
||||
When using ``flat`` provider networks, modify the network type accordingly:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
- network:
|
||||
container_bridge: "br-publicnet"
|
||||
container_type: "veth"
|
||||
type: "flat"
|
||||
net_name: "flat"
|
||||
group_binds:
|
||||
- neutron_linuxbridge_agent
|
||||
|
||||
Specify an overlay network definition in your
|
||||
``/etc/openstack_deploy/openstack_user_config.yml`` that defines
|
||||
overlay network-related configuration:
|
||||
|
||||
.. note::
|
||||
|
||||
The bridge name should correspond to a pre-created Linux bridge.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
- network:
|
||||
container_bridge: "br-vxlan"
|
||||
container_type: "veth"
|
||||
container_interface: "eth10"
|
||||
ip_from_q: "tunnel"
|
||||
type: "vxlan"
|
||||
range: "1:1000"
|
||||
net_name: "vxlan"
|
||||
group_binds:
|
||||
- neutron_linuxbridge_agent
|
||||
|
||||
Set the following user variables in your
|
||||
``/etc/openstack_deploy/user_variables.yml``:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
neutron_plugin_type: ml2.lxb
|
||||
|
||||
neutron_ml2_drivers_type: "flat,vlan,vxlan"
|
||||
neutron_plugin_base:
|
||||
- router
|
||||
- metering
|
||||
|
||||
The overrides are instructing Ansible to deploy the LXB mechanism driver and
|
||||
associated LXB components. This is done by setting ``neutron_plugin_type``
|
||||
to ``ml2.lxb``.
|
||||
|
||||
The ``neutron_ml2_drivers_type`` override provides support for all common type
|
||||
drivers supported by LXB.
|
||||
|
||||
The ``neutron_plugin_base`` is used to defined list of plugins that will be
|
||||
enabled.
|
||||
|
||||
If provider network overrides are needed on a global or per-host basis,
|
||||
the following format can be used in ``user_variables.yml`` or per-host
|
||||
in ``openstack_user_config.yml``.
|
||||
|
||||
.. note::
|
||||
|
||||
These overrides are not normally required when defining global provider
|
||||
networks in the ``openstack_user_config.yml`` file.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# When configuring Neutron to support vxlan tenant networks and
|
||||
# vlan provider networks the configuration may resemble the following:
|
||||
neutron_provider_networks:
|
||||
network_types: "vxlan"
|
||||
network_vxlan_ranges: "1:1000"
|
||||
network_vlan_ranges: "physnet1:102:199"
|
||||
network_mappings: "physnet1:br-provider"
|
||||
network_interface_mappings: "br-provider:bond1"
|
||||
|
||||
# When configuring Neutron to support only vlan tenant networks and
|
||||
# vlan provider networks the configuration may resemble the following:
|
||||
neutron_provider_networks:
|
||||
network_types: "vlan"
|
||||
network_vlan_ranges: "physnet1:102:199"
|
||||
network_mappings: "physnet1:br-provider"
|
||||
network_interface_mappings: "br-provider:bond1"
|
||||
|
||||
# When configuring Neutron to support multiple vlan provider networks
|
||||
# the configuration may resemble the following:
|
||||
neutron_provider_networks:
|
||||
network_types: "vlan"
|
||||
network_vlan_ranges: "physnet1:102:199,physnet2:2000:2999"
|
||||
network_mappings: "physnet1:br-provider,physnet2:br-provider2"
|
||||
network_interface_mappings: "br-provider:bond1,br-provider2:bond2"
|
||||
|
||||
# When configuring Neutron to support multiple vlan and flat provider
|
||||
# networks the configuration may resemble the following:
|
||||
neutron_provider_networks:
|
||||
network_flat_networks: "*"
|
||||
network_types: "vlan"
|
||||
network_vlan_ranges: "physnet1:102:199,physnet2:2000:2999"
|
||||
network_mappings: "physnet1:br-provider,physnet2:br-provider2"
|
||||
network_interface_mappings: "br-provider:bond1,br-provider2:bond2"
|
||||
|
@ -342,7 +342,7 @@ configuration to enable Neutron SR-IOV support.
|
||||
net_name: "physnet1"
|
||||
sriov_host_interfaces: "p1p1,p4p1"
|
||||
group_binds:
|
||||
- neutron_linuxbridge_agent
|
||||
- neutron_openvswitch_agent
|
||||
- neutron_sriov_nic_agent
|
||||
|
||||
#. Configure Nova
|
||||
@ -395,9 +395,7 @@ configuration to enable Neutron SR-IOV support.
|
||||
The `conf override`_ ``neutron_plugin_types`` variable can contain a list
|
||||
of additional ML2 plugins to load. Make sure that only compatible
|
||||
ML2 plugins are loaded at all times.
|
||||
The SR-IOV ML2 plugin is known to work with the linuxbridge (``ml2.lxb``)
|
||||
and openvswitch (``ml2.ovs``) ML2 plugins.
|
||||
``ml2.lxb`` is the standard activated core ML2 plugin.
|
||||
The SR-IOV ML2 plugin is known to work with openvswitch (``ml2.ovs``) ML2 plugin.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
|
@ -6,7 +6,6 @@ Neutron role for OpenStack-Ansible
|
||||
:maxdepth: 2
|
||||
|
||||
configure-network-services.rst
|
||||
app-linuxbridge.rst
|
||||
app-openvswitch.rst
|
||||
app-openvswitch-asap.rst
|
||||
app-openvswitch-dvr.rst
|
||||
|
20
releasenotes/notes/lxb_removed-543fdff51aad6817.yaml
Normal file
20
releasenotes/notes/lxb_removed-543fdff51aad6817.yaml
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
|
||||
upgrade:
|
||||
- |
|
||||
A ``ml2.lxb`` (linuxbridge) plugin has been removed from Neutron for this release and
|
||||
can not be used anymore. Please, ensure migrating to supported Neutron driver
|
||||
before proceeding with the upgrade to this OpenStack version.
|
||||
Unfortunatelly, there is no currently existing automation for such migration.
|
||||
You can reffer to the blog post `Migrating from LinuxBridge to OVN <https://www.jimmdenton.com/migrating-lxb-to-ovn/>`_
|
||||
to learn more on how such migrations were achieved previously.
|
||||
deprecations:
|
||||
- |
|
||||
Previously marked as experimental by Neutron linuxbridge (``ml2.lxb``) plugin
|
||||
has been removed from the codebase.
|
||||
Please make sure that you are using supported driver before upgrade.
|
||||
critical:
|
||||
- |
|
||||
Previously marked as experimental by Neutron linuxbridge (``ml2.lxb``) plugin
|
||||
has been removed from the codebase.
|
||||
Please make sure that you are using supported driver before upgrade.
|
@ -70,7 +70,7 @@ agent_down_time = {{ neutron_agent_down_time }}
|
||||
|
||||
{% set num_l3_agent = (neutron_l3_agents_max | int) if neutron_l3_agents_max is defined else groups[neutron_services['neutron-l3-agent']['group']] | length %}
|
||||
{% if neutron_plugin_type.split('.')[0] == 'ml2' and num_l3_agent >= 2 %}
|
||||
{% if neutron_services['neutron-linuxbridge-agent']['service_en'] | bool or neutron_services['neutron-openvswitch-agent']['service_en'] | bool %}
|
||||
{% if neutron_services['neutron-openvswitch-agent']['service_en'] | bool %}
|
||||
|
||||
{% set max_l3_router = num_l3_agent if num_l3_agent > 2 else 2 %}
|
||||
|
||||
@ -120,11 +120,6 @@ send_events_interval = 2
|
||||
|
||||
# End of [DEFAULT] section
|
||||
|
||||
{% if neutron_plugin_type == 'ml2.lxb' %}
|
||||
[experimental]
|
||||
linuxbridge = True
|
||||
{% endif %}
|
||||
|
||||
{% if neutron_designate_enabled %}
|
||||
|
||||
[designate]
|
||||
|
@ -89,18 +89,12 @@ neutron_service_distro_packages:
|
||||
neutron_optional_ovs_distro_packages:
|
||||
- neutron-openvswitch-agent
|
||||
|
||||
neutron_optional_lxb_distro_packages:
|
||||
- neutron-linuxbridge-agent
|
||||
|
||||
neutron_optional_fwaas_distro_packages:
|
||||
- python3-neutron-fwaas
|
||||
|
||||
neutron_optional_vpnaas_distro_packages:
|
||||
- neutron-vpnaas-agent
|
||||
|
||||
neutron_lxb_distro_packages:
|
||||
- bridge-utils
|
||||
|
||||
neutron_vpnaas_distro_packages:
|
||||
- strongswan
|
||||
- libstrongswan-standard-plugins
|
||||
|
@ -32,10 +32,6 @@ neutron_package_list: |-
|
||||
{% set _ = packages.extend(neutron_ovs_distro_packages) %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if neutron_services['neutron-linuxbridge-agent']['group'] in group_names and neutron_services['neutron-linuxbridge-agent'].service_en | bool %}
|
||||
{% set _ = packages.extend(neutron_lxb_distro_packages) %}
|
||||
{% set _ = packages.extend(neutron_optional_lxb_distro_packages) %}
|
||||
{% endif %}
|
||||
{% if neutron_services['neutron-l3-agent']['group'] in group_names and neutron_fwaas_v2 | bool %}
|
||||
{% set _ = packages.extend(neutron_optional_fwaas_distro_packages) %}
|
||||
{% endif %}
|
||||
|
@ -155,16 +155,6 @@ neutron_metering: "{% if 'metering' in neutron_plugin_base %}True{% else %}False
|
||||
neutron_plugin_core: "{{ neutron_plugins[neutron_plugin_type].plugin_core }}"
|
||||
|
||||
neutron_plugins:
|
||||
ml2.lxb:
|
||||
driver_firewall: iptables
|
||||
driver_interface: linuxbridge
|
||||
drivers_type: "{{ neutron_ml2_drivers_type }}"
|
||||
l2_population: "{{ neutron_l2_population }}"
|
||||
mechanisms: "linuxbridge"
|
||||
l3_agent_mode: "legacy"
|
||||
plugin_conf_ini_overrides: "{{ neutron_ml2_conf_ini_overrides }}"
|
||||
plugin_core: ml2
|
||||
plugin_ini: plugins/ml2/ml2_conf.ini
|
||||
ml2.ovs:
|
||||
driver_firewall: "{{ neutron_firewall_driver | default('iptables_hybrid') }}"
|
||||
driver_interface: openvswitch
|
||||
@ -406,20 +396,6 @@ neutron_services:
|
||||
config_type: "ini"
|
||||
init_config_overrides: "{{ neutron_openvswitch_agent_init_overrides }}"
|
||||
start_order: 2
|
||||
neutron-linuxbridge-agent:
|
||||
group: neutron_linuxbridge_agent
|
||||
service_name: neutron-linuxbridge-agent
|
||||
service_en: "{{ neutron_plugin_type == 'ml2.lxb' }}"
|
||||
service_conf_path: "{{ neutron_conf_version_dir }}"
|
||||
service_conf: plugins/ml2/linuxbridge_agent.ini
|
||||
service_rootwrap: rootwrap.d/linuxbridge-plugin.filters
|
||||
execstarts: >-
|
||||
{{ neutron_bin }}/neutron-linuxbridge-agent --config-file {{ neutron_conf_dir }}/neutron.conf
|
||||
--config-file {{ neutron_conf_dir }}/plugins/ml2/ml2_conf.ini --config-file {{ neutron_conf_dir }}/plugins/ml2/linuxbridge_agent.ini
|
||||
config_overrides: "{{ neutron_linuxbridge_agent_ini_overrides }}"
|
||||
config_type: "ini"
|
||||
init_config_overrides: "{{ neutron_linuxbridge_agent_init_overrides }}"
|
||||
start_order: 2
|
||||
neutron-metadata-agent:
|
||||
group: neutron_metadata_agent
|
||||
service_name: neutron-metadata-agent
|
||||
|
@ -80,18 +80,12 @@ neutron_service_distro_packages:
|
||||
neutron_optional_ovs_distro_packages:
|
||||
- openstack-neutron-openvswitch
|
||||
|
||||
neutron_optional_lxb_distro_packages:
|
||||
- openstack-neutron-linuxbridge
|
||||
|
||||
neutron_optional_fwaas_distro_packages:
|
||||
- openstack-neutron-fwaas
|
||||
|
||||
neutron_optional_vpnaas_distro_packages:
|
||||
- openstack-neutron-vpnaas
|
||||
|
||||
neutron_lxb_distro_packages:
|
||||
- bridge-utils
|
||||
|
||||
neutron_vpnaas_distro_packages:
|
||||
- libreswan
|
||||
|
||||
|
@ -31,9 +31,6 @@ neutron_package_list: |-
|
||||
{% set _ = packages.extend(neutron_ovs_distro_packages) %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if neutron_services['neutron-linuxbridge-agent']['group'] in group_names and neutron_services['neutron-linuxbridge-agent'].service_en | bool %}
|
||||
{% set _ = packages.extend(neutron_lxb_distro_packages) %}
|
||||
{% endif %}
|
||||
{% if (neutron_services['neutron-l3-agent']['group'] in group_names or
|
||||
neutron_services['neutron-ovn-vpn-agent']['group'] in group_names) and neutron_vpnaas | bool %}
|
||||
{% set _ = packages.extend(neutron_vpnaas_distro_packages) %}
|
||||
|
@ -14,16 +14,6 @@
|
||||
# limitations under the License.
|
||||
|
||||
# Ubuntu Focal
|
||||
- job:
|
||||
name: openstack-ansible-deploy-aio_lxb_lxc-ubuntu-jammy
|
||||
parent: openstack-ansible-deploy-aio
|
||||
nodeset: ubuntu-jammy
|
||||
|
||||
- job:
|
||||
name: openstack-ansible-deploy-aio_lxb_metal-ubuntu-jammy
|
||||
parent: openstack-ansible-deploy-aio
|
||||
nodeset: ubuntu-jammy
|
||||
|
||||
- job:
|
||||
name: openstack-ansible-deploy-aio_ovs_lxc-ubuntu-jammy
|
||||
parent: openstack-ansible-deploy-aio
|
||||
@ -40,18 +30,8 @@
|
||||
parent: openstack-ansible-deploy-aio
|
||||
nodeset: centos-9-stream
|
||||
|
||||
- job:
|
||||
name: openstack-ansible-deploy-aio_lxb_lxc-centos-9-stream
|
||||
parent: openstack-ansible-deploy-aio
|
||||
nodeset: centos-9-stream
|
||||
|
||||
# Rocky 9
|
||||
- job:
|
||||
name: openstack-ansible-deploy-aio_metal_ovs-rockylinux-9
|
||||
parent: openstack-ansible-deploy-aio
|
||||
nodeset: rockylinux-9
|
||||
|
||||
- job:
|
||||
name: openstack-ansible-deploy-aio_lxb_metal-rockylinux-9
|
||||
parent: openstack-ansible-deploy-aio
|
||||
nodeset: rockylinux-9
|
||||
|
@ -28,16 +28,8 @@
|
||||
- openstack-ansible-deploy-aio_ovs_lxc-centos-9-stream:
|
||||
voting: false
|
||||
- openstack-ansible-deploy-aio_metal_ovs-rockylinux-9
|
||||
- openstack-ansible-deploy-aio_lxb_lxc-centos-9-stream:
|
||||
voting: false
|
||||
- openstack-ansible-deploy-aio_lxb_metal-rockylinux-9
|
||||
- openstack-ansible-deploy-aio_lxb_lxc-ubuntu-jammy
|
||||
- openstack-ansible-deploy-aio_lxb_metal-ubuntu-jammy
|
||||
gate:
|
||||
jobs:
|
||||
- openstack-ansible-deploy-aio_ovs_lxc-ubuntu-jammy
|
||||
- openstack-ansible-deploy-aio_metal_ovs-ubuntu-jammy
|
||||
- openstack-ansible-deploy-aio_metal_ovs-rockylinux-9
|
||||
- openstack-ansible-deploy-aio_lxb_metal-rockylinux-9
|
||||
- openstack-ansible-deploy-aio_lxb_lxc-ubuntu-jammy
|
||||
- openstack-ansible-deploy-aio_lxb_metal-ubuntu-jammy
|
||||
|
Loading…
x
Reference in New Issue
Block a user