Merge "Start using project_network_types for neutron ML2"
This commit is contained in:
20
lib/neutron
20
lib/neutron
@@ -201,35 +201,35 @@ fi
|
||||
# --------------------------------
|
||||
|
||||
# The following variables control the Neutron ML2 plugins' allocation
|
||||
# of tenant networks and availability of provider networks. If these
|
||||
# are not configured in ``localrc``, tenant networks will be local to
|
||||
# of project networks and availability of provider networks. If these
|
||||
# are not configured in ``localrc``, project networks will be local to
|
||||
# the host (with no remote connectivity), and no physical resources
|
||||
# will be available for the allocation of provider networks.
|
||||
|
||||
# To disable tunnels (GRE or VXLAN) for tenant networks,
|
||||
# To disable tunnels (GRE or VXLAN) for project networks,
|
||||
# set to False in ``local.conf``.
|
||||
# GRE tunnels are only supported by the openvswitch.
|
||||
ENABLE_TENANT_TUNNELS=${ENABLE_TENANT_TUNNELS:-True}
|
||||
|
||||
# If using GRE, VXLAN or GENEVE tunnels for tenant networks,
|
||||
# specify the range of IDs from which tenant networks are
|
||||
# If using GRE, VXLAN or GENEVE tunnels for project networks,
|
||||
# specify the range of IDs from which project networks are
|
||||
# allocated. Can be overridden in ``localrc`` if necessary.
|
||||
TENANT_TUNNEL_RANGES=${TENANT_TUNNEL_RANGES:-1:1000}
|
||||
|
||||
# To use VLANs for tenant networks, set to True in localrc. VLANs
|
||||
# To use VLANs for project networks, set to True in localrc. VLANs
|
||||
# are supported by the ML2 plugins, requiring additional configuration
|
||||
# described below.
|
||||
ENABLE_TENANT_VLANS=${ENABLE_TENANT_VLANS:-False}
|
||||
|
||||
# If using VLANs for tenant networks, set in ``localrc`` to specify
|
||||
# the range of VLAN VIDs from which tenant networks are
|
||||
# If using VLANs for project networks, set in ``localrc`` to specify
|
||||
# the range of VLAN VIDs from which project networks are
|
||||
# allocated. An external network switch must be configured to
|
||||
# trunk these VLANs between hosts for multi-host connectivity.
|
||||
#
|
||||
# Example: ``TENANT_VLAN_RANGE=1000:1999``
|
||||
TENANT_VLAN_RANGE=${TENANT_VLAN_RANGE:-}
|
||||
|
||||
# If using VLANs for tenant networks, or if using flat or VLAN
|
||||
# If using VLANs for project networks, or if using flat or VLAN
|
||||
# provider networks, set in ``localrc`` to the name of the physical
|
||||
# network, and also configure ``OVS_PHYSICAL_BRIDGE`` for the
|
||||
# openvswitch agent, as described below.
|
||||
@@ -237,7 +237,7 @@ TENANT_VLAN_RANGE=${TENANT_VLAN_RANGE:-}
|
||||
# Example: ``PHYSICAL_NETWORK=default``
|
||||
PHYSICAL_NETWORK=${PHYSICAL_NETWORK:-public}
|
||||
|
||||
# With the openvswitch agent, if using VLANs for tenant networks,
|
||||
# With the openvswitch agent, if using VLANs for project networks,
|
||||
# or if using flat or VLAN provider networks, set in ``localrc`` to
|
||||
# the name of the OVS bridge to use for the physical network. The
|
||||
# bridge will be created if it does not already exist, but a
|
||||
|
||||
@@ -72,16 +72,16 @@ function neutron_plugin_configure_common {
|
||||
|
||||
function neutron_plugin_configure_service {
|
||||
if [[ "$Q_ML2_TENANT_NETWORK_TYPE" != "local" ]]; then
|
||||
Q_SRV_EXTRA_OPTS+=(tenant_network_types=$Q_ML2_TENANT_NETWORK_TYPE)
|
||||
Q_SRV_EXTRA_OPTS+=(project_network_types=$Q_ML2_TENANT_NETWORK_TYPE)
|
||||
elif [[ "$ENABLE_TENANT_TUNNELS" == "True" ]]; then
|
||||
# This assumes you want a simple configuration, and will overwrite
|
||||
# Q_SRV_EXTRA_OPTS if set in addition to ENABLE_TENANT_TUNNELS.
|
||||
Q_SRV_EXTRA_OPTS+=(tenant_network_types=gre)
|
||||
Q_SRV_EXTRA_OPTS+=(project_network_types=gre)
|
||||
Q_ML2_PLUGIN_GRE_TYPE_OPTIONS=(tunnel_id_ranges=$TENANT_TUNNEL_RANGES)
|
||||
elif [[ "$ENABLE_TENANT_VLANS" == "True" ]]; then
|
||||
Q_SRV_EXTRA_OPTS+=(tenant_network_types=vlan)
|
||||
Q_SRV_EXTRA_OPTS+=(project_network_types=vlan)
|
||||
else
|
||||
echo "WARNING - The ml2 plugin is using local tenant networks, with no connectivity between hosts."
|
||||
echo "WARNING - The ml2 plugin is using local project networks, with no connectivity between hosts."
|
||||
fi
|
||||
|
||||
# Allow for overrding VLAN configuration (for example, to configure provider
|
||||
|
||||
@@ -20,12 +20,12 @@ function neutron_plugin_configure_common {
|
||||
|
||||
function neutron_plugin_configure_service {
|
||||
if [[ "$ENABLE_TENANT_TUNNELS" == "True" ]]; then
|
||||
iniset /$Q_PLUGIN_CONF_FILE ovs tenant_network_type gre
|
||||
iniset /$Q_PLUGIN_CONF_FILE ovs project_network_type gre
|
||||
iniset /$Q_PLUGIN_CONF_FILE ovs tunnel_id_ranges $TENANT_TUNNEL_RANGES
|
||||
elif [[ "$ENABLE_TENANT_VLANS" == "True" ]]; then
|
||||
iniset /$Q_PLUGIN_CONF_FILE ovs tenant_network_type vlan
|
||||
iniset /$Q_PLUGIN_CONF_FILE ovs project_network_type vlan
|
||||
else
|
||||
echo "WARNING - The openvswitch plugin is using local tenant networks, with no connectivity between hosts."
|
||||
echo "WARNING - The openvswitch plugin is using local project networks, with no connectivity between hosts."
|
||||
fi
|
||||
|
||||
# Override ``OVS_VLAN_RANGES`` and ``OVS_BRIDGE_MAPPINGS`` in ``localrc``
|
||||
|
||||
@@ -35,7 +35,7 @@ Q_PUBLIC_VETH_INT=${Q_PUBLIC_VETH_INT:-veth-pub-int}
|
||||
# The next variable is configured by plugin
|
||||
# e.g. _configure_neutron_l3_agent or lib/neutron_plugins/*
|
||||
#
|
||||
# L3 routers exist per tenant
|
||||
# L3 routers exist per project
|
||||
Q_L3_ROUTER_PER_TENANT=${Q_L3_ROUTER_PER_TENANT:-True}
|
||||
|
||||
|
||||
@@ -216,7 +216,7 @@ function create_neutron_initial_network {
|
||||
if is_networking_extension_supported "router" && is_networking_extension_supported "external-net"; then
|
||||
# Create a router, and add the private subnet as one of its interfaces
|
||||
if [[ "$Q_L3_ROUTER_PER_TENANT" == "True" ]]; then
|
||||
# create a tenant-owned router.
|
||||
# create a project-owned router.
|
||||
ROUTER_ID=$(openstack --os-cloud devstack --os-region "$REGION_NAME" router create $Q_ROUTER_NAME -f value -c id)
|
||||
die_if_not_set $LINENO ROUTER_ID "Failure creating router $Q_ROUTER_NAME"
|
||||
else
|
||||
@@ -387,7 +387,7 @@ function _neutron_configure_router_v6 {
|
||||
# Override global IPV6_ROUTER_GW_IP with the true value from neutron
|
||||
# NOTE(slaweq): when enforce scopes is enabled in Neutron, router's
|
||||
# gateway ports aren't visible in API because such ports don't belongs
|
||||
# to any tenant. Because of that, at least temporary we need to find
|
||||
# to any project. Because of that, at least temporary we need to find
|
||||
# IPv6 address of the router's gateway in a bit different way.
|
||||
# It can be reverted when bug
|
||||
# https://bugs.launchpad.net/neutron/+bug/1959332 will be fixed
|
||||
|
||||
@@ -21,7 +21,7 @@ set -o pipefail
|
||||
|
||||
TOP_DIR=$(cd $(dirname "$0")/.. && pwd)
|
||||
|
||||
# This *must* be run as the admin tenant
|
||||
# This *must* be run as the admin project
|
||||
source $TOP_DIR/openrc admin admin
|
||||
|
||||
function usage {
|
||||
@@ -29,7 +29,7 @@ function usage {
|
||||
ping_neutron.sh <net_name> [ping args]
|
||||
|
||||
This provides a wrapper to ping neutron guests that are on isolated
|
||||
tenant networks that the caller can't normally reach. It does so by
|
||||
project networks that the caller can't normally reach. It does so by
|
||||
using either the DHCP or Metadata network namespace to support both
|
||||
ML2/OVS and OVN.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user