3
3
4
4
set -euo pipefail
5
5
6
- if [[ $( lsmod | cut -d" " -f1 | grep -q openvswitch) -eq 1 ]]; then
7
- modprobe openvswitch
8
- sleep 2
6
+ if ! lsmod | cut -d" " -f1 | grep -q openvswitch; then
7
+ echo " INFO: Loading kernel module: openvswitch"
8
+ modprobe openvswitch
9
+ sleep 2
9
10
fi
10
11
11
12
mkdir -p /var/run/openvswitch /var/log/contiv
12
13
13
14
if [ -d " /etc/openvswitch" ]; then
14
- if [ -f " /etc/openvswitch/conf.db" ]; then
15
- echo " INFO: The Open vSwitch database exists"
16
- else
17
- echo " INFO: The Open VSwitch database doesn't exist"
18
- echo " INFO: Creating the Open VSwitch database..."
19
- ovsdb-tool create /etc/openvswitch/conf.db /usr/share/openvswitch/vswitch.ovsschema
20
- fi
15
+ if [ -f " /etc/openvswitch/conf.db" ]; then
16
+ echo " INFO: The Open vSwitch database exists"
17
+ else
18
+ echo " INFO: The Open VSwitch database doesn't exist"
19
+ echo " INFO: Creating the Open VSwitch database..."
20
+ ovsdb-tool create /etc/openvswitch/conf.db /usr/share/openvswitch/vswitch.ovsschema
21
+ fi
21
22
else
22
- echo " CRITICAL: Open vSwitch is not mounted from host"
23
- exit 1
23
+ echo " CRITICAL: Open vSwitch is not mounted from host"
24
+ exit 1
24
25
fi
25
26
26
27
echo " INFO: Starting ovsdb-server..."
27
28
ovsdb-server --remote=punix:/var/run/openvswitch/db.sock \
28
- --remote=db:Open_vSwitch,Open_vSwitch,manager_options \
29
- --private-key=db:Open_vSwitch,SSL,private_key \
30
- --certificate=db:Open_vSwitch,SSL,certificate \
31
- --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \
32
- --log-file=/var/log/contiv/ovs-db.log -vsyslog:info -vfile:info \
33
- --pidfile /etc/openvswitch/conf.db &
29
+ --remote=db:Open_vSwitch,Open_vSwitch,manager_options \
30
+ --private-key=db:Open_vSwitch,SSL,private_key \
31
+ --certificate=db:Open_vSwitch,SSL,certificate \
32
+ --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \
33
+ --log-file=/var/log/contiv/ovs-db.log -vsyslog:info -vfile:info \
34
+ --pidfile /etc/openvswitch/conf.db &
34
35
OVSDB_PID=$!
35
36
36
37
echo " INFO: Starting ovs-vswitchd"
37
38
ovs-vswitchd -v --pidfile --detach --log-file=/var/log/contiv/ovs-vswitchd.log \
38
- -vconsole:err -vsyslog:info -vfile:info &
39
+ -vconsole:err -vsyslog:info -vfile:info &
39
40
VSWITCHD_PID=$!
40
41
41
42
retry=0
42
- while [[ $( ovsdb-client list-dbs | grep -c Open_vSwitch) -eq 0 ]] ; do
43
- if [[ ${retry} -eq 5 ]]; then
44
- echo " CRITICAL: Failed to start ovsdb in 5 seconds."
45
- exit 1
46
- else
47
- echo " INFO: Waiting for ovsdb to start..."
48
- sleep 1
49
- (( retry += 1 ))
50
- fi
43
+ while ! ovsdb-client list-dbs | grep -q Open_vSwitch; do
44
+ if [[ ${retry} -eq 5 ]]; then
45
+ echo " CRITICAL: Failed to start ovsdb in 5 seconds."
46
+ exit 1
47
+ else
48
+ echo " INFO: Waiting for ovsdb to start..."
49
+ sleep 1
50
+ (( retry += 1 ))
51
+ fi
51
52
done
52
53
53
54
echo " INFO: Setting OVS manager (tcp)..."
@@ -59,8 +60,8 @@ ovs-vsctl set-manager ptcp:6640
59
60
STATUS=0
60
61
61
62
for pid in $OVSDB_PID $VSWITCHD_PID ; do
62
- echo " INFO: waiting for pid $pid "
63
- wait $pid || let STATUS=1
63
+ echo " INFO: waiting for pid $pid "
64
+ wait $pid || let STATUS=1
64
65
done
65
66
66
67
exit $STATUS
0 commit comments