projects
/
openvswitch
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
netflow: Back-out optimization that could lead to infinite loop
[openvswitch]
/
xenserver
/
etc_init.d_openvswitch
diff --git
a/xenserver/etc_init.d_openvswitch
b/xenserver/etc_init.d_openvswitch
index 19d825b389926340a07b07cf463c47a1410b157f..5f18196cf8342008eced5b8d002fc308704a07bd 100755
(executable)
--- a/
xenserver/etc_init.d_openvswitch
+++ b/
xenserver/etc_init.d_openvswitch
@@
-117,6
+117,12
@@
else
monitor_opt=
fi
monitor_opt=
fi
+function hup_monitor_external_ids {
+ if [ -e /var/run/openvswitch/ovs-external-ids.pid ]; then
+ action "Configuring Open vSwitch external IDs" kill -HUP `cat /var/run/openvswitch/ovs-external-ids.pid`
+ fi
+}
+
function dp_list {
"$dpctl" show | grep '^dp[0-9]\+:' | cut -d':' -f 1
}
function dp_list {
"$dpctl" show | grep '^dp[0-9]\+:' | cut -d':' -f 1
}
@@
-293,10
+299,11
@@
EOF
function set_system_ids {
if [ -f /etc/xensource-inventory ]; then
action "Configuring Open vSwitch system IDs" true
function set_system_ids {
if [ -f /etc/xensource-inventory ]; then
action "Configuring Open vSwitch system IDs" true
- $vsctl --no-wait set Open_vSwitch . \
+ $vsctl --no-wait
--timeout=5
set Open_vSwitch . \
external-ids:system-type="$PRODUCT_BRAND" \
external-ids:system-version="$PRODUCT_VERSION-$BUILD_NUMBER" \
external-ids:system-type="$PRODUCT_BRAND" \
external-ids:system-version="$PRODUCT_VERSION-$BUILD_NUMBER" \
- external-ids:system-uuid="$INSTALLATION_UUID"
+ external-ids:system-id="$INSTALLATION_UUID" \
+ external-ids:xs-system-uuid="$INSTALLATION_UUID"
else
action "Configuring Open vSwitch system IDs" false
fi
else
action "Configuring Open vSwitch system IDs" false
fi
@@
-328,11
+335,11
@@
function start {
fi
start_ovsdb_server
fi
start_ovsdb_server
- $vsctl --no-wait init
+ $vsctl --no-wait
--timeout=5
init
if [ ! -e /var/run/openvswitch.booted ]; then
touch /var/run/openvswitch.booted
for bridge in $($vsctl list-br); do
if [ ! -e /var/run/openvswitch.booted ]; then
touch /var/run/openvswitch.booted
for bridge in $($vsctl list-br); do
- $vsctl --no-wait del-br $bridge
+ $vsctl --no-wait
--timeout=5
del-br $bridge
done
fi
done
fi
@@
-342,6
+349,12
@@
function start {
if [ "${ENABLE_BRCOMPAT}" = "y" ] ; then
start_brcompatd
fi
if [ "${ENABLE_BRCOMPAT}" = "y" ] ; then
start_brcompatd
fi
+
+ # Start daemon to monitor external ids
+ PYTHONPATH=/usr/share/openvswitch/python \
+ /usr/share/openvswitch/scripts/ovs-external-ids \
+ --pidfile --detach $monitor_opt "$VSWITCHD_OVSDB_SERVER"
+
touch /var/lock/subsys/openvswitch
}
touch /var/lock/subsys/openvswitch
}
@@
-349,6
+362,9
@@
function stop {
stop_daemon BRCOMPATD "$brcompatd"
stop_daemon VSWITCHD "$vswitchd"
stop_daemon OVSDB_SERVER "$ovsdb_server"
stop_daemon BRCOMPATD "$brcompatd"
stop_daemon VSWITCHD "$vswitchd"
stop_daemon OVSDB_SERVER "$ovsdb_server"
+ if [ -e /var/run/openvswitch/ovs-external-ids.pid ]; then
+ kill `cat /var/run/openvswitch/ovs-external-ids.pid`
+ fi
rm -f /var/lock/subsys/openvswitch
}
rm -f /var/lock/subsys/openvswitch
}
@@
-370,8
+386,10
@@
case "$1" in
restart
;;
reload|force-reload)
restart
;;
reload|force-reload)
- # Nothing to do--ovs-vswitchd and ovsdb-server keep their configuration
- # up-to-date all the time.
+ # Nothing to do to ovs-vswitchd and ovsdb-server as they keep their
+ # configuration up-to-date all the time. HUP ovs-external-ids so it
+ # re-runs.
+ hup_monitor_external_ids
;;
strace-vswitchd)
shift
;;
strace-vswitchd)
shift