Add Octavia file in devstack/lib
Looks like this was initially missed on the OVN migration, but after talking with Octavia, this setup should really all live here since it's SDN-specific things that are being configured. Content basically copied from the octavia devstack/plugin.sh script with some small modifications to support OVN. Change-Id: Idb80cd164c6b41ca6636373696a9a1e7f19b5e62
This commit is contained in:
parent
fc96f5b2b3
commit
0493af3399
45
devstack/lib/octavia
Normal file
45
devstack/lib/octavia
Normal file
@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Save trace setting
|
||||
XTRACE=$(set +o | grep xtrace)
|
||||
set +o xtrace
|
||||
|
||||
if is_plugin_enabled octavia; then
|
||||
function octavia_create_network_interface_device {
|
||||
INTERFACE=$1
|
||||
MGMT_PORT_ID=$2
|
||||
MGMT_PORT_MAC=$3
|
||||
|
||||
if [[ $NEUTRON_AGENT == "openvswitch" || $Q_AGENT == "openvswitch" || $NEUTRON_AGENT == "ovn" || $Q_AGENT == "ovn" ]]; then
|
||||
if [[ $NEUTRON_AGENT == "ovn" || $Q_AGENT == "ovn" ]]; then
|
||||
openstack subnet set --gateway none lb-mgmt-subnet
|
||||
fi
|
||||
sudo ovs-vsctl -- --may-exist add-port ${OVS_BRIDGE:-br-int} $INTERFACE -- set Interface $INTERFACE type=internal -- set Interface $INTERFACE external-ids:iface-status=active -- set Interface $INTERFACE external-ids:attached-mac=$MGMT_PORT_MAC -- set Interface $INTERFACE external-ids:iface-id=$MGMT_PORT_ID -- set Interface $INTERFACE external-ids:skip_cleanup=true
|
||||
elif [[ $NEUTRON_AGENT == "linuxbridge" || $Q_AGENT == "linuxbridge" ]]; then
|
||||
if ! ip link show $INTERFACE ; then
|
||||
sudo ip link add $INTERFACE type veth peer name o-bhm0
|
||||
NETID=$(openstack network show lb-mgmt-net -c id -f value)
|
||||
BRNAME=brq$(echo $NETID|cut -c 1-11)
|
||||
sudo ip link set o-bhm0 master $BRNAME
|
||||
sudo ip link set o-bhm0 up
|
||||
fi
|
||||
else
|
||||
die "Unknown network controller - $NEUTRON_AGENT/$Q_AGENT"
|
||||
fi
|
||||
}
|
||||
|
||||
function octavia_delete_network_interface_device {
|
||||
if [[ $NEUTRON_AGENT == "openvswitch" || $Q_AGENT == "openvswitch" || $NEUTRON_AGENT == "ovn" || $Q_AGENT == "ovn" ]]; then
|
||||
: # Do nothing
|
||||
elif [[ $NEUTRON_AGENT == "linuxbridge" || $Q_AGENT == "linuxbridge" ]]; then
|
||||
if ip link show $INTERFACE ; then
|
||||
sudo ip link del $INTERFACE
|
||||
fi
|
||||
else
|
||||
die "Unknown network controller - $NEUTRON_AGENT/$Q_AGENT"
|
||||
fi
|
||||
}
|
||||
fi
|
||||
|
||||
# Restore xtrace
|
||||
$XTRACE
|
@ -17,6 +17,7 @@ source $LIBDIR/log
|
||||
source $LIBDIR/fip_port_forwarding
|
||||
source $LIBDIR/uplink_status_propagation
|
||||
source $LIBDIR/tag_ports_during_bulk_creation
|
||||
source $LIBDIR/octavia
|
||||
|
||||
Q_BUILD_OVS_FROM_GIT=$(trueorfalse False Q_BUILD_OVS_FROM_GIT)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user