Note nbd isn't supported on RHEL, so I presume you manually added that module to your kernel build too.
It might be that you're hitting old qemu bugs. Though looking a bit more at your logs I don't actually
see the umount command being run. That suggests an issue with the nova lxc umount logic :(
If there really is no mention of "Running cmd.*umount" in your logs for the problematic runs,
then could you change the _device_for_path() function in /usr/local/nova/nova/virt/disk/api.py
to add this before the return:
if not device: LOG.debug("Didn't find %s in %s" % (path, open("/proc/mounts").read()))
If that outputs something it should help determine why umount is not being called.
Note nbd isn't supported on RHEL, so I presume you manually added that module to your kernel build too.
It might be that you're hitting old qemu bugs. Though looking a bit more at your logs I don't actually
see the umount command being run. That suggests an issue with the nova lxc umount logic :(
If there really is no mention of "Running cmd.*umount" in your logs for the problematic runs, nova/nova/ virt/disk/ api.py
then could you change the _device_for_path() function in /usr/local/
to add this before the return:
if not device:
LOG.debug( "Didn't find %s in %s" % (path, open("/ proc/mounts" ).read( )))
If that outputs something it should help determine why umount is not being called.
thanks,
Pádraig.