Files
nova/nova/virt/libvirt/firewall.py
Matt Riedemann 2ce193e16d libvirt: ignore conflict when defining network filters
We have a latent race in the libvirt firewall code when setting
up static filters which is now an error with libvirt>=1.2.7,
which is why we started seeing this in CI failures starting in
newton which run on xenial nodes that have libvirt 1.3.1 (but
didn't see it on trusty nodes with libvirt 1.2.2).

Libvirt commit 46a811db0731cedaea0153fc223faa6096cee5b5 checks
for an existing filter with the same name but a different uuid
when defining network filters and raises an error if found. That
was added in the 1.2.7 release.

This change simply handles the error and ignores it so we don't
fail to boot the instance.

Unfortunately we don't have a specific error code from libvirt
when this happens so the best we can do is compare the error
message from the libvirt error which is only going to work for
English locales because the error message from libvirt is
translated.

Change-Id: I161be26d605351f168e351d3ed3d308234346f6f
Closes-Bug: #1612875
2016-09-22 13:53:38 -04:00

15 KiB