Nova tries to re-define an existing nwfilter with the same name but different uuid
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
High
|
Daniel Berrange | ||
Icehouse |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Hello,
I have successfully compiled libvirt 1.2.7 and qemu 2.1.0 but had some troubles with nova-compute. It appears like libvirt is throwing back an error if a nwfilter is already present.
Here is my debug log:
2014-08-22 08:22:25.032 15354 DEBUG nova.virt.
2014-08-22 08:22:25.033 15354 DEBUG nova.virt.
2014-08-22 08:22:25.034 15354 DEBUG nova.virt.
Here is the original function:
def _define_
if callable(xml):
xml = xml()
And here is the "patched" function":
def _define_
if callable(xml):
xml = xml()
try:
except Exception, e:
I'm not a python expert but I think that patch could be adapted to raise an error ONLY if the nwfilter rule doesn't already exist.
Dave
Changed in nova: | |
milestone: | none → juno-rc1 |
Changed in nova: | |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | juno-rc1 → 2014.2 |
tags: | added: icehouse-backport-potential |
"operation failed: filter 'nova-nodhcp' already exists with uuid 59970732- ca52-4521- ba0c-d001049d84 6"
Libvirt aims to ensure uniqueness of name + uuid. So if you have a filter already existing with name FOO and UUID of XXXXX, and you try to define a new one with name FOO but UUID of YYYY it considers that a mistake.. The fix is to ensure you always use the original UUID when trying to replace the config of the existing filter.