summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/ebtables.workaround35
1 files changed, 35 insertions, 0 deletions
diff --git a/tools/ebtables.workaround b/tools/ebtables.workaround
new file mode 100644
index 0000000000..4c1d8ed81b
--- /dev/null
+++ b/tools/ebtables.workaround
@@ -0,0 +1,35 @@
+#!/bin/bash
+#
+# Copyright 2015 Hewlett-Packard Development Company, L.P.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+#
+# This is a terrible, terrible, truly terrible work around for
+# environments that have libvirt < 1.2.11. ebtables requires that you
+# specifically tell it you would like to not race and get punched in
+# the face when 2 run at the same time with a --concurrent flag.
+#
+# INSTALL instructions
+#
+# * Copy /sbin/ebtables to /sbin/ebtables.real
+# * Copy the ebtables.workaround script to /sbin/ebtables
+#
+# Note: upgrades to ebtables will overwrite this work around. If you
+# are packaging this file consider putting a trigger in place so that
+# the workaround is replaced after ebtables upgrade.
+#
+# Additional Note: this file can be removed from nova once our libvirt
+# minimum is >= 1.2.11.
+
+flock -w 300 /var/lock/ebtables.nova /sbin/ebtables.real $@