52 lines
1.6 KiB
Plaintext
52 lines
1.6 KiB
Plaintext
|
#!/bin/bash
|
||
|
|
||
|
if [ "$#" -ne 1 ]; then
|
||
|
echo "Illegal number of parameters"
|
||
|
exit 1
|
||
|
fi
|
||
|
echo "ZZZ $1"
|
||
|
|
||
|
START(){
|
||
|
hostname=$(hostname)
|
||
|
loopbackIP={{LAN_IP}}
|
||
|
controllerIP={{OVN_VIP}}
|
||
|
echo "Starting OpenVSwitch and OVN on $hostname with $loopbackIP and pointing to OVN controller $controllerIP"
|
||
|
|
||
|
DIR="/var/run/openvswitch/db.sock"
|
||
|
if [ -d "$DIR" ]; then
|
||
|
rm -rf $DIR
|
||
|
echo "Removed extraneous dir $DIR"
|
||
|
fi
|
||
|
|
||
|
/usr/share/openvswitch/scripts/ovs-ctl start --system-id=$hostname
|
||
|
#Instruct OVSDB to listen on 127.0.0.2:6640 so the ovs-vsctl command from within a container can access OpenVswitch
|
||
|
ovs-appctl -t ovsdb-server ovsdb-server/add-remote ptcp:6640
|
||
|
|
||
|
ovs-vsctl set open . external-ids:ovn-bridge=br-int
|
||
|
ovs-vsctl set open . external-ids:ovn-remote=tcp:$controllerIP:6642
|
||
|
ovs-vsctl set open . external-ids:ovn-encap-type=geneve
|
||
|
ovs-vsctl set open . external-ids:ovn-encap-ip=$loopbackIP
|
||
|
/usr/share/ovn/scripts/ovn-ctl start_controller
|
||
|
echo "OVS and OVN started"
|
||
|
|
||
|
{% if ansible_fqdn in groups['compute-nodes'] %}
|
||
|
echo "Bringing online br-provider for WAN1"
|
||
|
ovs-vsctl --may-exist add-br br-provider
|
||
|
ovs-vsctl set open . external-ids:ovn-bridge-mappings=WAN1:br-provider
|
||
|
ovs-vsctl --may-exist add-port br-provider bond0.11
|
||
|
{% endif %}
|
||
|
|
||
|
|
||
|
}
|
||
|
STOP() {
|
||
|
echo "Stopping OpenVSwitch and OVN"
|
||
|
/usr/share/ovn/scripts/ovn-ctl stop_controller
|
||
|
/usr/share/ovn/scripts/ovn-ctl stop_ovsdb
|
||
|
/usr/share/openvswitch/scripts/ovs-ctl stop
|
||
|
echo "OpenVSwitch and OVN Stopped"
|
||
|
}
|
||
|
|
||
|
case $1 in
|
||
|
START|STOP) "$1" ;;
|
||
|
esac
|