openstack-ansible-os_neutron/doc/source/app-genericswitch.rst
James Denton 485e358be8 Add networking-generic-switch support for Ironic integration
This patch implements support for the networking-generic-switch (NGS)
Neutron mechanism driver to facilitate VLAN-based network segmentation
in multi-tenant Ironic deployments.

Change-Id: I502196175f9d7d75ea37d3fbaa5e4a88a8e59859
Implements: networking-generic-switch mechanism driver
2020-04-07 22:13:02 +00:00

2.8 KiB

Scenario - Networking Generic Switch

Overview

Operators can choose to utilize the Networking Generic Switch (NGS) mechanism driver to manage physical switches when Ironic is integrated with Neutron. The Networking Generic Switch mechanism driver can be deployed alongside other drivers, such as Open vSwitch or LinuxBridge. This document outlines how to set it up in your environment.

It is recommended to familiarize yourself with project-specific documentation to better understand deployment and configuration options:

Prerequisites

OpenStack-Ansible user variables

Add ml2.genericswitch to the neutron_plugin_types list in /etc/openstack_deploy/user_variables.yml:

neutron_plugin_types:
- ml2.genericswitch

To interface with a supported network switch, configure ini overrides for each connected switch in your environment:

neutron_ml2_conf_genericswitch_ini_overrides:
  genericswitch:arista01:
    device_type: netmiko_arista_eos
    ngs_mac_address: "00:1c:73:29:ea:ca"
    ip: "192.168.90.2"
    username: "openstack"
    password: "0p3nst@ck"
    ngs_port_default_vlan: 3
  genericswitch:arista02:
    device_type: netmiko_arista_eos
    ngs_mac_address: "00:1c:73:29:ea:cb"
    ip: "192.168.90.3"
    username: "openstack"
    password: "0p3nst@ck"
    ngs_port_default_vlan: 3

Lastly, configure an override to Ironic to enable the neutron interface:

ironic_enabled_network_interfaces_list: neutron
ironic_default_network_interface: neutron

Notes

Ironic bare-metal ports that are associated with bare-metal nodes can be configured with the respective connection details using the openstack baremetal port set command:

openstack baremetal port set 3a948c3b-6c41-4f68-8389-c4f5ca667c63 \
--local-link-connection switch_info=arista01 \
--local-link-connection switch_id="00:1c:73:29:ea:ca" \
--local-link-connection port_id="et11"

When a server is deployed using a bare-metal node, Neutron will connect to the respective switch(es) and configure the switchport interface(s) according.