Change default network backend driver to ML2/OVN
This patch is changing the default network backend driver in DevStack to OVN. This is a long effort from the Neutron community that has been discussed on previous PTGs and agreed upon. A similar patch to this one [0] have been merged in the past but got reverted [1] because it did break some zuul jobs. This one also include fixes for such jobs and was verified at [2] [0] https://review.opendev.org/c/openstack/devstack/+/735097 [1] https://review.opendev.org/c/openstack/neutron/+/775632 [2] https://review.opendev.org/c/zuul/zuul-jobs/+/791117 Change-Id: I8c2be82f33ed9f6c36f5509b3b210ee1a38e87ca Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
This commit is contained in:
parent
9ee7821e80
commit
e38a39ad40
20
.zuul.yaml
20
.zuul.yaml
@ -468,6 +468,8 @@
|
|||||||
SWIFT_HASH: 1234123412341234
|
SWIFT_HASH: 1234123412341234
|
||||||
DEBUG_LIBVIRT_COREDUMPS: true
|
DEBUG_LIBVIRT_COREDUMPS: true
|
||||||
NOVA_VNC_ENABLED: true
|
NOVA_VNC_ENABLED: true
|
||||||
|
OVN_L3_CREATE_PUBLIC_NETWORK: true
|
||||||
|
OVN_DBS_LOG_LEVEL: dbg
|
||||||
devstack_local_conf:
|
devstack_local_conf:
|
||||||
post-config:
|
post-config:
|
||||||
$NEUTRON_CONF:
|
$NEUTRON_CONF:
|
||||||
@ -496,13 +498,14 @@
|
|||||||
n-sch: true
|
n-sch: true
|
||||||
# Placement service
|
# Placement service
|
||||||
placement-api: true
|
placement-api: true
|
||||||
|
# OVN services
|
||||||
|
ovn-controller: true
|
||||||
|
ovn-northd: true
|
||||||
|
ovs-vswitchd: true
|
||||||
|
ovsdb-server: true
|
||||||
# Neutron services
|
# Neutron services
|
||||||
q-agt: true
|
|
||||||
q-dhcp: true
|
|
||||||
q-l3: true
|
|
||||||
q-meta: true
|
|
||||||
q-metering: true
|
|
||||||
q-svc: true
|
q-svc: true
|
||||||
|
q-ovn-metadata-agent: true
|
||||||
# Swift services
|
# Swift services
|
||||||
s-account: true
|
s-account: true
|
||||||
s-container: true
|
s-container: true
|
||||||
@ -534,8 +537,12 @@
|
|||||||
n-cpu: true
|
n-cpu: true
|
||||||
# Placement services
|
# Placement services
|
||||||
placement-client: true
|
placement-client: true
|
||||||
|
# OVN services
|
||||||
|
ovn-controller: true
|
||||||
|
ovs-vswitchd: true
|
||||||
|
ovsdb-server: true
|
||||||
# Neutron services
|
# Neutron services
|
||||||
q-agt: true
|
q-ovn-metadata-agent: true
|
||||||
# Cinder services
|
# Cinder services
|
||||||
c-bak: true
|
c-bak: true
|
||||||
c-vol: true
|
c-vol: true
|
||||||
@ -553,6 +560,7 @@
|
|||||||
GLANCE_HOSTPORT: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}:9292"
|
GLANCE_HOSTPORT: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}:9292"
|
||||||
Q_HOST: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
|
Q_HOST: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
|
||||||
NOVA_VNC_ENABLED: true
|
NOVA_VNC_ENABLED: true
|
||||||
|
ENABLE_CHASSIS_AS_GW: false
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: devstack-ipv6
|
name: devstack-ipv6
|
||||||
|
@ -7,15 +7,16 @@
|
|||||||
_XTRACE_NEUTRON_ML2=$(set +o | grep xtrace)
|
_XTRACE_NEUTRON_ML2=$(set +o | grep xtrace)
|
||||||
set +o xtrace
|
set +o xtrace
|
||||||
|
|
||||||
# Default openvswitch L2 agent
|
# Default OVN L2 agent
|
||||||
Q_AGENT=${Q_AGENT:-openvswitch}
|
Q_AGENT=${Q_AGENT:-ovn}
|
||||||
if [ -f $TOP_DIR/lib/neutron_plugins/${Q_AGENT}_agent ]; then
|
if [ -f $TOP_DIR/lib/neutron_plugins/${Q_AGENT}_agent ]; then
|
||||||
source $TOP_DIR/lib/neutron_plugins/${Q_AGENT}_agent
|
source $TOP_DIR/lib/neutron_plugins/${Q_AGENT}_agent
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Enable this to simply and quickly enable tunneling with ML2.
|
# Enable this to simply and quickly enable tunneling with ML2.
|
||||||
# Select either 'gre', 'vxlan', or 'gre,vxlan'
|
# For ML2/OVS select either 'gre', 'vxlan', or 'gre,vxlan'.
|
||||||
Q_ML2_TENANT_NETWORK_TYPE=${Q_ML2_TENANT_NETWORK_TYPE:-"vxlan"}
|
# For ML2/OVN use 'geneve'.
|
||||||
|
Q_ML2_TENANT_NETWORK_TYPE=${Q_ML2_TENANT_NETWORK_TYPE:-"geneve"}
|
||||||
# This has to be set here since the agent will set this in the config file
|
# This has to be set here since the agent will set this in the config file
|
||||||
if [[ "$Q_ML2_TENANT_NETWORK_TYPE" == "gre" || "$Q_ML2_TENANT_NETWORK_TYPE" == "vxlan" ]]; then
|
if [[ "$Q_ML2_TENANT_NETWORK_TYPE" == "gre" || "$Q_ML2_TENANT_NETWORK_TYPE" == "vxlan" ]]; then
|
||||||
Q_TUNNEL_TYPES=$Q_ML2_TENANT_NETWORK_TYPE
|
Q_TUNNEL_TYPES=$Q_ML2_TENANT_NETWORK_TYPE
|
||||||
@ -24,7 +25,7 @@ elif [[ "$ENABLE_TENANT_TUNNELS" == "True" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# List of MechanismDrivers to load
|
# List of MechanismDrivers to load
|
||||||
Q_ML2_PLUGIN_MECHANISM_DRIVERS=${Q_ML2_PLUGIN_MECHANISM_DRIVERS:-openvswitch,linuxbridge}
|
Q_ML2_PLUGIN_MECHANISM_DRIVERS=${Q_ML2_PLUGIN_MECHANISM_DRIVERS:-ovn}
|
||||||
# Default GRE TypeDriver options
|
# Default GRE TypeDriver options
|
||||||
Q_ML2_PLUGIN_GRE_TYPE_OPTIONS=${Q_ML2_PLUGIN_GRE_TYPE_OPTIONS:-tunnel_id_ranges=$TENANT_TUNNEL_RANGES}
|
Q_ML2_PLUGIN_GRE_TYPE_OPTIONS=${Q_ML2_PLUGIN_GRE_TYPE_OPTIONS:-tunnel_id_ranges=$TENANT_TUNNEL_RANGES}
|
||||||
# Default VXLAN TypeDriver options
|
# Default VXLAN TypeDriver options
|
||||||
|
@ -21,10 +21,6 @@
|
|||||||
source ${TOP_DIR}/lib/neutron_plugins/ovs_base
|
source ${TOP_DIR}/lib/neutron_plugins/ovs_base
|
||||||
source ${TOP_DIR}/lib/neutron_plugins/openvswitch_agent
|
source ${TOP_DIR}/lib/neutron_plugins/openvswitch_agent
|
||||||
|
|
||||||
# Load devstack ovs base functions
|
|
||||||
source $NEUTRON_DIR/devstack/lib/ovs
|
|
||||||
|
|
||||||
|
|
||||||
# Defaults
|
# Defaults
|
||||||
# --------
|
# --------
|
||||||
|
|
||||||
@ -88,12 +84,18 @@ OVN_INSTALL_OVS_PYTHON_MODULE=$(trueorfalse False OVN_INSTALL_OVS_PYTHON_MODULE)
|
|||||||
# configure the MTU DHCP option.
|
# configure the MTU DHCP option.
|
||||||
OVN_GENEVE_OVERHEAD=${OVN_GENEVE_OVERHEAD:-38}
|
OVN_GENEVE_OVERHEAD=${OVN_GENEVE_OVERHEAD:-38}
|
||||||
|
|
||||||
# The log level of the OVN databases (north and south)
|
# The log level of the OVN databases (north and south).
|
||||||
|
# Supported log levels are: off, emer, err, warn, info or dbg.
|
||||||
|
# More information about log levels can be found at
|
||||||
|
# http://www.openvswitch.org/support/dist-docs/ovs-appctl.8.txt
|
||||||
OVN_DBS_LOG_LEVEL=${OVN_DBS_LOG_LEVEL:-info}
|
OVN_DBS_LOG_LEVEL=${OVN_DBS_LOG_LEVEL:-info}
|
||||||
|
|
||||||
OVN_META_CONF=$NEUTRON_CONF_DIR/neutron_ovn_metadata_agent.ini
|
OVN_META_CONF=$NEUTRON_CONF_DIR/neutron_ovn_metadata_agent.ini
|
||||||
OVN_META_DATA_HOST=${OVN_META_DATA_HOST:-$(ipv6_unquote $SERVICE_HOST)}
|
OVN_META_DATA_HOST=${OVN_META_DATA_HOST:-$(ipv6_unquote $SERVICE_HOST)}
|
||||||
|
|
||||||
|
# If True (default) the node will be considered a gateway node.
|
||||||
|
ENABLE_CHASSIS_AS_GW=$(trueorfalse True ENABLE_CHASSIS_AS_GW)
|
||||||
|
|
||||||
export OVSDB_SERVER_LOCAL_HOST=$SERVICE_LOCAL_HOST
|
export OVSDB_SERVER_LOCAL_HOST=$SERVICE_LOCAL_HOST
|
||||||
if [[ "$SERVICE_IP_VERSION" == 6 ]]; then
|
if [[ "$SERVICE_IP_VERSION" == 6 ]]; then
|
||||||
OVSDB_SERVER_LOCAL_HOST=[$OVSDB_SERVER_LOCAL_HOST]
|
OVSDB_SERVER_LOCAL_HOST=[$OVSDB_SERVER_LOCAL_HOST]
|
||||||
@ -171,6 +173,9 @@ function wait_for_sock_file {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function use_new_ovn_repository {
|
function use_new_ovn_repository {
|
||||||
|
if [[ "$OVN_BUILD_FROM_SOURCE" == "False" ]]; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
if [ -z "$is_new_ovn" ]; then
|
if [ -z "$is_new_ovn" ]; then
|
||||||
local ovs_repo_dir=$DEST/$OVS_REPO_NAME
|
local ovs_repo_dir=$DEST/$OVS_REPO_NAME
|
||||||
if [ ! -d $ovs_repo_dir ]; then
|
if [ ! -d $ovs_repo_dir ]; then
|
||||||
@ -390,6 +395,9 @@ function install_ovn {
|
|||||||
sudo ln -s $OVS_RUNDIR $OVN_RUNDIR
|
sudo ln -s $OVS_RUNDIR $OVN_RUNDIR
|
||||||
|
|
||||||
if [[ "$OVN_BUILD_FROM_SOURCE" == "True" ]]; then
|
if [[ "$OVN_BUILD_FROM_SOURCE" == "True" ]]; then
|
||||||
|
# Load devstack ovs base functions
|
||||||
|
source $NEUTRON_DIR/devstack/lib/ovs
|
||||||
|
|
||||||
# If OVS is already installed, remove it, because we're about to
|
# If OVS is already installed, remove it, because we're about to
|
||||||
# re-install it from source.
|
# re-install it from source.
|
||||||
for package in openvswitch openvswitch-switch openvswitch-common; do
|
for package in openvswitch openvswitch-switch openvswitch-common; do
|
||||||
|
4
stackrc
4
stackrc
@ -72,8 +72,10 @@ if ! isset ENABLED_SERVICES ; then
|
|||||||
ENABLED_SERVICES+=,g-api
|
ENABLED_SERVICES+=,g-api
|
||||||
# Cinder
|
# Cinder
|
||||||
ENABLED_SERVICES+=,c-sch,c-api,c-vol
|
ENABLED_SERVICES+=,c-sch,c-api,c-vol
|
||||||
|
# OVN
|
||||||
|
ENABLED_SERVICES+=,ovn-controller,ovn-northd,ovs-vswitchd,ovsdb-server
|
||||||
# Neutron
|
# Neutron
|
||||||
ENABLED_SERVICES+=,q-svc,q-dhcp,q-meta,q-agt,q-l3
|
ENABLED_SERVICES+=,q-svc,q-ovn-metadata-agent
|
||||||
# Dashboard
|
# Dashboard
|
||||||
ENABLED_SERVICES+=,horizon
|
ENABLED_SERVICES+=,horizon
|
||||||
# Additional services
|
# Additional services
|
||||||
|
Loading…
Reference in New Issue
Block a user