Merge citrix branch into master.
[sliver-openvswitch.git] / xenserver / etc_init.d_vswitch-xapi-update
1 #!/bin/bash
2 #
3 # vswitch-xapi-update
4 #
5 # chkconfig: 2345 95 01
6 # description: Update vswitch configuration from XAPI database at boot
7
8 # Copyright (C) 2009 Nicira Networks, Inc.
9 #
10 # Licensed under the Apache License, Version 2.0 (the "License");
11 # you may not use this file except in compliance with the License.
12 # You may obtain a copy of the License at:
13 #
14 #     http://www.apache.org/licenses/LICENSE-2.0
15 #
16 # Unless required by applicable law or agreed to in writing, software
17 # distributed under the License is distributed on an "AS IS" BASIS,
18 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 # See the License for the specific language governing permissions and
20 # limitations under the License.
21
22 . /etc/init.d/functions
23
24 test -e /etc/sysconfig/vswitch && . /etc/sysconfig/vswitch
25 : ${VSWITCHD_CONF:=/etc/ovs-vswitchd.conf}
26 : ${VSWITCHD_PIDFILE:=/var/run/ovs-vswitchd.pid}
27 : ${VSWITCHD_PRIORITY:=-5}
28 : ${VSWITCHD_LOGFILE:=/var/log/ovs-vswitchd.log}
29 : ${VSWITCHD_FILE_LOGLEVEL:=}
30 : ${VSWITCHD_SYSLOG_LOGLEVEL:=WARN}
31 : ${VSWITCHD_MEMLEAK_LOGFILE:=}
32 : ${BRCOMPATD_PIDFILE:=/var/run/ovs-brcompatd.pid}
33 : ${BRCOMPATD_PRIORITY:=-5}
34 : ${BRCOMPATD_LOGFILE:=/var/log/ovs-brcompatd.log}
35 : ${BRCOMPATD_FILE_LOGLEVEL:=}
36 : ${BRCOMPATD_SYSLOG_LOGLEVEL:=WARN}
37 : ${BRCOMPATD_MEMLEAK_LOGFILE:=}
38
39 function do_host_call {
40     xe host-call-plugin host-uuid="$INSTALLATION_UUID" plugin="vswitch-cfg-update" fn="update" >/dev/null
41 }
42
43 function start {
44     if [ ! -f /etc/xensource-inventory ]; then
45         printf "vxwitch-xapi-update ERROR: XenSource inventory not present in /etc/xensource-inventory\n"
46         exit 1
47     fi
48     source /etc/xensource-inventory
49     action "Updating configuration" do_host_call
50 }
51
52 case "$1" in
53     start)
54         start
55         ;;
56     stop)
57         # Nothing to do here.
58         ;;
59     restart)
60         start
61         ;;
62     help)
63         printf "vswitch [start|stop|restart]\n"
64         ;;
65     *)
66         printf "Unknown command: $1\n"
67         exit 1
68         ;;
69 esac