← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1322467] [NEW] Resource could not be updated when deleting instances

 

Public bug reported:

In my openstack compute node. a kvm-based vm exists and it has a iso image configured in the cdrom. The iso image path is /root/RHEL6.5-20131111.0-Server-x86_64-DVD1.iso.
When deleting the nova instances, the following error happend in the /var/log/nova/compute.log. And this error caused that the resources could not be updated and the resources occupied by the deleted instances could not be released.  This error also happend when restaring the nova-compute service and so that nova-compute could not restarted successfully. 

We should catch this exception for some existing libvirt instances
otherwise all resources for nova instances could not be updated
correctly.

2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task Traceback (most recent call last):
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/openstack/common/periodic_task.py", line 182, in run_periodic_tasks
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     task(self, context)
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 5445, in update_available_resource
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     rt.update_available_resource(context)
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/openstack/common/lockutils.py", line 249, in inner
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     return f(*args, **kwargs)
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/compute/resource_tracker.py", line 293, in update_available_resource
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     resources = self.driver.get_available_resource(self.nodename)
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 4142, in get_available_resource
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     stats = self.get_host_stats(refresh=True)
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 4817, in get_host_stats
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     return self.host_state.get_host_stats(refresh=refresh)
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 5218, in get_host_stats
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     self.update_status()
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 5261, in update_status
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     data['disk_available_least'] = _get_disk_available_least()
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 5234, in _get_disk_available_least
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     disk_over_committed = (self.driver.
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 4787, in get_disk_over_committed_size_total
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     self.get_instance_disk_info(i_name))
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 4759, in get_instance_disk_info
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     dk_size = int(os.path.getsize(path))
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib64/python2.6/genericpath.py", line 49, in getsize
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     return os.stat(filename).st_size
2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task OSError: [Errno 13] Permission denied: '/root/RHEL6.5-20131111.0-Server-x86_64-DVD1.iso'

** Affects: nova
     Importance: Undecided
         Status: In Progress

** Changed in: nova
       Status: New => In Progress

-- 
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/1322467

Title:
  Resource could not be updated when deleting instances

Status in OpenStack Compute (Nova):
  In Progress

Bug description:
  In my openstack compute node. a kvm-based vm exists and it has a iso image configured in the cdrom. The iso image path is /root/RHEL6.5-20131111.0-Server-x86_64-DVD1.iso.
  When deleting the nova instances, the following error happend in the /var/log/nova/compute.log. And this error caused that the resources could not be updated and the resources occupied by the deleted instances could not be released.  This error also happend when restaring the nova-compute service and so that nova-compute could not restarted successfully. 

  We should catch this exception for some existing libvirt instances
  otherwise all resources for nova instances could not be updated
  correctly.

  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task Traceback (most recent call last):
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/openstack/common/periodic_task.py", line 182, in run_periodic_tasks
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     task(self, context)
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 5445, in update_available_resource
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     rt.update_available_resource(context)
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/openstack/common/lockutils.py", line 249, in inner
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     return f(*args, **kwargs)
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/compute/resource_tracker.py", line 293, in update_available_resource
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     resources = self.driver.get_available_resource(self.nodename)
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 4142, in get_available_resource
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     stats = self.get_host_stats(refresh=True)
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 4817, in get_host_stats
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     return self.host_state.get_host_stats(refresh=refresh)
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 5218, in get_host_stats
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     self.update_status()
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 5261, in update_status
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     data['disk_available_least'] = _get_disk_available_least()
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 5234, in _get_disk_available_least
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     disk_over_committed = (self.driver.
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 4787, in get_disk_over_committed_size_total
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     self.get_instance_disk_info(i_name))
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 4759, in get_instance_disk_info
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     dk_size = int(os.path.getsize(path))
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task   File "/usr/lib64/python2.6/genericpath.py", line 49, in getsize
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task     return os.stat(filename).st_size
  2014-05-20 09:34:26.802 4061 TRACE nova.openstack.common.periodic_task OSError: [Errno 13] Permission denied: '/root/RHEL6.5-20131111.0-Server-x86_64-DVD1.iso'

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1322467/+subscriptions


Follow ups

References