nova/compute/manager.py throws TypeError: 'NoneType' object is not iterable
Bug #1796981 reported by
Chris DeVita
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
Matt Riedemann | ||
Ocata |
Triaged
|
Medium
|
Unassigned | ||
Pike |
Fix Committed
|
Medium
|
Matt Riedemann | ||
Queens |
Fix Committed
|
Medium
|
Matt Riedemann | ||
Rocky |
Fix Committed
|
Medium
|
Matt Riedemann |
Bug Description
Problem Description: Nova evacuate <instance_id> <target_host_name> fails, instances reported in ERROR state after executing “nova evacuate”
Summary: A instance with its boot volume on a shared storage device ( HP 3Par or SUSE CEPH cluster ) errors out during a evacuate. By making a code change to catch the error dereferencing vol_stats in nova/compute/
Included:
* Steps to produce it
* nova evacuate with --debug
* Command line output showing the state of the VM before and after the evacuate
* code that was changed
* Command line output showing the successful state of the VM before and after the evacuate
tags: | added: compute notifications |
tags: | added: libvirt |
Changed in nova: | |
assignee: | nobody → Matt Riedemann (mriedem) |
To post a comment you must log in.
Looking at what fails:
def _notify_ volume_ usage_detach( self, context, instance, bdm): usage_poll_ interval <= 0:
if CONF.volume_
return
vol_stats = []
vol_ stats = self.driver. block_stats( instance, mp) rror:
mp = bdm.device_name
# Handle bootable volumes which will not contain /dev/
if '/dev/' in mp:
mp = mp[5:]
try:
except NotImplementedE
return
rd_req, rd_bytes, wr_req, wr_bytes, flush_ops = vol_stats
Clearly volume_ usage_poll_ interval has to be configured, which it's not by default. Which compute driver are you using that returns None but doesn't raise NotImplementedE rror?