Delete an instance created from volume would be unsuccessful if the connection_info has no volume_id

Bug #1515457 reported by jingtao liang
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Expired
Medium
Unassigned

Bug Description

description:
when delete an instance created from the volume. It will get the volume metadata like this :
    volume_id = connection_info['data']['volume_id']
But the connection_info has no volume_id. It will be error.

version :2014.1.

Relevant log :
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2587, in do_terminate_instance
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] self._delete_instance(context, instance, bdms, quotas)
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] File "/usr/lib/python2.7/site-packages/nova/hooks.py", line 103, in inner
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] rv = f(*args, **kwargs)
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2556, in _delete_instance
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] quotas.rollback()
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] File "/usr/lib/python2.7/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] six.reraise(self.type_, self.value, self.tb)
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2528, in _delete_instance
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] self._shutdown_instance(context, db_inst, bdms)
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2463, in _shutdown_instance
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] requested_networks)
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] File "/usr/lib/python2.7/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] six.reraise(self.type_, self.value, self.tb)
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2453, in _shutdown_instance
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] block_device_info)
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 1009, in destroy
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] destroy_disks)
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 1098, in cleanup
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] volume_meta = self._get_volume_metadata(context, connection_info)
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 3642, in _get_volume_metadata
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] raise exception.InvalidBDMVolume(id=volume_id)
2015-11-12 17:03:52.676 6137 TRACE nova.compute.manager [instance: 4d6213cb-4761-49fb-a993-37833f5a6add] UnboundLocalError: local variable 'volume_id' referenced before assignment

Reproduce steps:
1 create a volume named a from an image
2 create an instance from the volume a
3 delete the instance

Tags: ceph libvirt
Revision history for this message
jingtao liang (liang-jingtao) wrote :

added:
the volume is created with rbd backend.

tks

tags: added: libvirt
Changed in nova:
assignee: nobody → Mohammed Ashraf (mohammed-asharaf)
Changed in nova:
status: New → In Progress
Changed in nova:
assignee: Mohammed Ashraf (mohammed-asharaf) → nobody
Changed in nova:
status: In Progress → Confirmed
Changed in nova:
assignee: nobody → Mohammed Ashraf (mohammed-asharaf)
Changed in nova:
assignee: Mohammed Ashraf (mohammed-asharaf) → Bhargavi (challa-bhargavi1)
Revision history for this message
jingtao liang (liang-jingtao) wrote :

@Bhargavi

yeal, the release is icehouse 2014.1 which this issue was identified

Bhargavi (bhargavi-c81)
Changed in nova:
assignee: Bhargavi (challa-bhargavi1) → nobody
Yafei Yu (yu-yafei)
summary: - when delete an instance created from the volume.It will be unsuccessful
- because the connection_info has no volume_id
+ Delete an instance created from volume would be unsuccessful if the
+ connection_info has no volume_id
Revision history for this message
John Garbutt (johngarbutt) wrote :

I think we probably should double check this still happens, given it was reported on an old version of Nova.

tags: added: rbd
tags: added: ceph
removed: rbd
Changed in nova:
importance: Undecided → Medium
status: Confirmed → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for OpenStack Compute (nova) because there has been no activity for 60 days.]

Changed in nova:
status: Incomplete → Expired
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.