diff --git a/tools/ebtables.workaround b/tools/ebtables.workaround new file mode 100644 index 000000000000..4c1d8ed81b08 --- /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 $@