yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #61393
[Bug 1630600] Re: swap volume intermittently fails with "libvirtError: block copy still active: domain has active block job"
*** This bug is a duplicate of bug 1643017 ***
https://bugs.launchpad.net/bugs/1643017
** This bug has been marked a duplicate of bug 1643017
libvirtError: block copy still active: disk 'vdb' not ready for pivot yet
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1630600
Title:
swap volume intermittently fails with "libvirtError: block copy still
active: domain has active block job"
Status in OpenStack Compute (nova):
In Progress
Bug description:
We now have a tempest test that tests the nova swap volume API and it
intermittently fails waiting for the first attached volume to be
detached and go to from 'in-use' to 'available' status and that's
because the swap volume operation fails in the compute:
http://logs.openstack.org/73/374373/2/check/gate-tempest-dsvm-full-
ubuntu-
xenial/149fe3e/logs/screen-n-cpu.txt.gz?level=TRACE#_2016-10-04_15_54_52_078
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [req-4e0ea92b-ab6d-47aa-88ba-046d1b880907 tempest-TestVolumeSwap-1737812056 tempest-TestVolumeSwap-1737812056] [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] Failed to swap volume 690b7f29-5c8c-4fb6-8ae4-308a2fb1959c for 7b86913d-78e4-4b68-8df2-63f1a4c6656a
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] Traceback (most recent call last):
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] File "/opt/stack/new/nova/nova/compute/manager.py", line 4870, in _swap_volume
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] resize_to)
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] File "/opt/stack/new/nova/nova/virt/libvirt/driver.py", line 1230, in swap_volume
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] self._swap_volume(guest, disk_dev, conf.source_path, resize_to)
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] File "/opt/stack/new/nova/nova/virt/libvirt/driver.py", line 1200, in _swap_volume
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] self._host.write_instance_config(xml)
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] File "/opt/stack/new/nova/nova/virt/libvirt/host.py", line 860, in write_instance_config
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] domain = self.get_connection().defineXML(xml)
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] File "/usr/local/lib/python2.7/dist-packages/eventlet/tpool.py", line 186, in doit
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] result = proxy_call(self._autowrap, f, *args, **kwargs)
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] File "/usr/local/lib/python2.7/dist-packages/eventlet/tpool.py", line 144, in proxy_call
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] rv = execute(f, *args, **kwargs)
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] File "/usr/local/lib/python2.7/dist-packages/eventlet/tpool.py", line 125, in execute
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] six.reraise(c, e, tb)
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] File "/usr/local/lib/python2.7/dist-packages/eventlet/tpool.py", line 83, in tworker
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] rv = meth(*args, **kwargs)
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] File "/usr/local/lib/python2.7/dist-packages/libvirt.py", line 3650, in defineXML
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] if ret is None:raise libvirtError('virDomainDefineXML() failed', conn=self)
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f] libvirtError: block copy still active: domain has active block job
2016-10-04 15:54:52.078 15500 ERROR nova.compute.manager [instance: e0d9f1ff-f5ab-4afe-9eff-0a455006ec3f]
It looks like we're not waiting long enough for the job to complete,
we think the abort_job in this case:
https://github.com/openstack/nova/blob/0f4bd241665c287e49f2d30ca79be96298217b7e/nova/virt/libvirt/driver.py#L1188
Because the tempest test is using volumes that are the same size,
resize_to will be 0 and thus falsey and we won't get into the 2nd
block that does a wait loop.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1630600/+subscriptions
References