install ebtables locking workaround
ebtables is racing with itself when nova and libvirt attempt to create rules at the same time in the nat table. ebtables now has an explicit --concurrent flag, that all tools must opt into to prevent ebtables from inherently being unsafe to run. libvirt gained this support in 1.2.11, which is too new for our ubuntu primary testing environment. Nova still hasn't added this support, though even if it did, we'd run into the issue with libvirt. We can do the most ghetto thing possible and create a wrapper for ebtables that does explicit locking on it's own. It's pretty terrible, but it should work. And it is the kind of work around that people unable to upgrade libvirt will probably need to do. This is an opt in value which we should set in the gate to True. Related-Bug: #1501558 Change-Id: Ic6fa847eba34c21593b9df86a1c2c179534d0ba5
This commit is contained in:
@ -31,6 +31,11 @@ function install_libvirt {
|
||||
fi
|
||||
install_package libvirt-bin libvirt-dev
|
||||
pip_install_gr libvirt-python
|
||||
if [[ "$EBTABLES_RACE_FIX" == "True" ]]; then
|
||||
# Work around for bug #1501558. We can remove this once we
|
||||
# get to a version of Ubuntu that has new enough libvirt.
|
||||
TOP_DIR=$TOP_DIR $TOP_DIR/tools/install_ebtables_workaround.sh
|
||||
fi
|
||||
#pip_install_gr <there-si-no-guestfs-in-pypi>
|
||||
elif is_fedora || is_suse; then
|
||||
install_package kvm
|
||||
|
Reference in New Issue
Block a user