Volume Manager failed to start when some volumes are not found on the backend
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
Fix Released
|
High
|
Huang Zhiteng | ||
Mitaka |
Fix Released
|
Undecided
|
Huang Zhiteng | ||
Newton |
Fix Released
|
High
|
Huang Zhiteng | ||
Ocata |
Fix Released
|
High
|
Huang Zhiteng |
Bug Description
When volume manager initializes a backend, one of the steps is to let backend driver to update provider info for list of volumes in Cinder DB. Current code assumed that every volume (no matter what status it is in) can be found in backend, which in some cases are not true. In those cases, Cinder volume service would fail to start due to a unhandled IndexError.
=======
def _sync_provider_
updates, snapshot_updates = self.driver.
if updates:
for volume in volumes:
# NOTE(JDG): Make sure returned item is in this hosts volumes
if update:
-------
File "cinder/
File "cinder/
IndexError: list index out of range
Changed in cinder: | |
assignee: | nobody → Huang Zhiteng (zhiteng-huang) |
importance: | Undecided → High |
Changed in cinder: | |
milestone: | none → ocata-1 |
Fix proposed to branch: master /review. openstack. org/378175
Review: https:/