|
|
|
@ -4,42 +4,41 @@
|
|
|
|
|
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 |
|
|
|
|
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" |
|
|
|
|
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 { |
|
|
|
|
|
|
|
|
|
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" |
|
|
|
|
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 |
|
|
|
|
} |
|
|
|
|
fi |
|
|
|
|
else |
|
|
|
|
die "Unknown network controller - $NEUTRON_AGENT/$Q_AGENT" |
|
|
|
|
fi |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# Restore xtrace |
|
|
|
|
$XTRACE |
|
|
|
|