Snapshot deleting of attached volume fails with remotefs volume drivers

Bug #1475202 reported by Dmitry Guryanov
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
High
Dmitry Guryanov

Bug Description

cinder create --image-id 3dc83685-ed82-444c-8863-1e962eb33de8 1 # ID of cirros image

nova boot qwe --flavor m1.tiny --block-device id=d62c5786-1d13-46bb-be13-3b110c144de7,source=volume,dest=volume,type=disk,bootindex=0

cinder snapshot-create --force=True 46b22595-31b0-41ca-8214-8ad6b81a06b6

cinder snapshot-delete 43fb72a4-963f-45f7-8b42-89e7c2cbd720

Then check nova-compute log:

2015-07-16 08:44:26.841 ERROR nova.virt.libvirt.driver [req-f92f3dd2-1bef-4c2c-8208-54d765592985 nova service] Error occurred during volume_snapshot_delete, sending error status to Cinder.
2015-07-16 08:44:26.841 29626 ERROR nova.virt.libvirt.driver Traceback (most recent call last):
2015-07-16 08:44:26.841 29626 ERROR nova.virt.libvirt.driver File "/opt/stack/new/nova/nova/virt/libvirt/driver.py", line 2004, in volume_snapshot_delete
2015-07-16 08:44:26.841 29626 ERROR nova.virt.libvirt.driver self._volume_snapshot_delete(context, instance, volume_id,
2015-07-16 08:44:26.841 29626 ERROR nova.virt.libvirt.driver File "/opt/stack/new/nova/nova/virt/libvirt/driver.py", line 1939, in _volume_snapshot_delete
2015-07-16 08:44:26.841 29626 ERROR nova.virt.libvirt.driver dev = guest.get_block_device(rebase_disk)
2015-07-16 08:44:26.841 29626 ERROR nova.virt.libvirt.driver File "/opt/stack/new/nova/nova/virt/libvirt/guest.py", line 302, in rebase
2015-07-16 08:44:26.841 29626 ERROR nova.virt.libvirt.driver self._disk, base, self.REBASE_DEFAULT_BANDWIDTH, flags=flags)
2015-07-16 08:44:26.841 29626 ERROR nova.virt.libvirt.driver File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 183, in doit
2015-07-16 08:44:26.841 29626 ERROR nova.virt.libvirt.driver result = proxy_call(self._autowrap, f, *args, **kwargs)
2015-07-16 08:44:26.841 29626 ERROR nova.virt.libvirt.driver File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 141, in proxy_call
2015-07-16 08:44:26.841 29626 ERROR nova.virt.libvirt.driver rv = execute(f, *args, **kwargs)
2015-07-16 08:44:26.841 29626 ERROR nova.virt.libvirt.driver File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 122, in execute
2015-07-16 08:44:26.841 29626 ERROR nova.virt.libvirt.driver six.reraise(c, e, tb)
2015-07-16 08:44:26.841 29626 ERROR nova.virt.libvirt.driver File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 80, in tworker
2015-07-16 08:44:26.841 29626 ERROR nova.virt.libvirt.driver rv = meth(*args, **kwargs)
2015-07-16 08:44:26.841 29626 ERROR nova.virt.libvirt.driver File "/usr/lib/python2.7/site-packages/libvirt.py", line 865, in blockRebase
2015-07-16 08:44:26.841 29626 ERROR nova.virt.libvirt.driver if ret == -1: raise libvirtError ('virDomainBlockRebase() failed', dom=self)
2015-07-16 08:44:26.841 29626 ERROR nova.virt.libvirt.driver libvirtError: invalid argument: flag VIR_DOMAIN_BLOCK_REBASE_RELATIVE is valid only with non-null base

Revision history for this message
Dmitry Guryanov (dguryanov) wrote :

Commit, that introduced the problem: e9639913294036ff94f354e9c8ea18cd816243ab

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/202442

Changed in nova:
status: New → In Progress
Revision history for this message
Deepak C Shetty (dpkshetty) wrote :

FWIW, the recent patch @ https://review.openstack.org/#/c/190213/9 caused this regression

Changed in nova:
importance: Critical → High
Revision history for this message
Sylvain Bauza (sylvain-bauza) wrote :

Triaging the bug as High as we only leave the Critical bugs for major feature issues.

See https://wiki.openstack.org/wiki/BugTriage#Task_2:_Prioritize_confirmed_bugs_.28bug_supervisors.29 for further details

Matt Riedemann (mriedem)
tags: added: libvirt volumes
Changed in nova:
milestone: liberty-2 → liberty-3
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/202442
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=45d73c49bd2f37ff0091f10a928b2ad548256bae
Submitter: Jenkins
Branch: master

commit 45d73c49bd2f37ff0091f10a928b2ad548256bae
Author: Dmitry Guryanov <email address hidden>
Date: Thu Jul 23 02:52:31 2015 +0300

    libvirt: do relative block rebase only with non-null base

    You can't use VIR_DOMAIN_BLOCK_REBASE_RELATIVE with null
    base, libvirt reports error in this case, so check if
    base is non-null before setting this flag (relative argument
    of BlockDevice.rebase method).

    The error was introduced by commit
    e9639913294036ff94f354e9c8ea18cd816243ab

    Change-Id: Ife50f211fd54190a2665ad090f6208048b841690
    Closes-Bug: #1475202

Changed in nova:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in nova:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in nova:
milestone: liberty-3 → 12.0.0
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.