Storwize/SVC driver crashes when check volume copy status

Bug #1304115 reported by Li Min Liu
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
Medium
Li Min Liu
Icehouse
Fix Released
Medium
Mike Perez

Bug Description

Loopingcall will failed if user delete the volume before it finish copy, .

2014-03-31 16:01:04.086 ERROR cinder.openstack.common.loopingcall [-] in fixed duration looping call
2014-03-31 16:01:04.086 TRACE cinder.openstack.common.loopingcall Traceback (most recent call last):
2014-03-31 16:01:04.086 TRACE cinder.openstack.common.loopingcall File "/opt/stack/cinder/cinder/openstack/common/loopingcall.py", line 76, in
_inner
2014-03-31 16:01:04.086 TRACE cinder.openstack.common.loopingcall self.f(*self.args, **self.kw)
2014-03-31 16:01:04.086 TRACE cinder.openstack.common.loopingcall File "/opt/stack/cinder/cinder/volume/drivers/ibm/storwize_svc/_init_.py",
line 634, in _check_volume_copy_ops
2014-03-31 16:01:04.086 TRACE cinder.openstack.common.loopingcall volume = self.db.volume_get(ctxt, vol_id)
2014-03-31 16:01:04.086 TRACE cinder.openstack.common.loopingcall File "/opt/stack/cinder/cinder/db/api.py", line 205, in volume_get
2014-03-31 16:01:04.086 TRACE cinder.openstack.common.loopingcall return IMPL.volume_get(context, volume_id)
2014-03-31 16:01:04.086 TRACE cinder.openstack.common.loopingcall File "/opt/stack/cinder/cinder/db/sqlalchemy/api.py", line 135, in wrapper
2014-03-31 16:01:04.086 TRACE cinder.openstack.common.loopingcall return f(*args, **kwargs)
2014-03-31 16:01:04.086 TRACE cinder.openstack.common.loopingcall File "/opt/stack/cinder/cinder/db/sqlalchemy/api.py", line 1152, in volume_ge
t
2014-03-31 16:01:04.086 TRACE cinder.openstack.common.loopingcall return _volume_get(context, volume_id)
2014-03-31 16:01:04.086 TRACE cinder.openstack.common.loopingcall File "/opt/stack/cinder/cinder/db/sqlalchemy/api.py", line 135, in wrapper
2014-03-31 16:01:04.086 TRACE cinder.openstack.common.loopingcall return f(*args, **kwargs)
2014-03-31 16:01:04.086 TRACE cinder.openstack.common.loopingcall File "/opt/stack/cinder/cinder/db/sqlalchemy/api.py", line 1145, in _volume_g
et
2014-03-31 16:01:04.086 TRACE cinder.openstack.common.loopingcall raise exception.VolumeNotFound(volume_id=volume_id)
2014-03-31 16:01:04.086 TRACE cinder.openstack.common.loopingcall VolumeNotFound: Volume 8ff1a61e-21c2-48a7-890e-e7d958172721 could not be found.
2014-03-31 16:01:04.086 TRACE cinder.openstack.common.loopingcall

Li Min Liu (liminliu)
tags: added: storwize
Changed in cinder:
assignee: nobody → Li Min Liu (liminliu)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (master)

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

Mike Perez (thingee)
tags: added: drivers
Changed in cinder:
status: New → In Progress
Jay Bryant (jsbryant)
tags: added: icehouse-backport-potential
tags: added: icehouse-rc-potential
removed: icehouse-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

Reviewed: https://review.openstack.org/85893
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=0c4a94eac94399a524ff758fa7046e98b07951ae
Submitter: Jenkins
Branch: master

commit 0c4a94eac94399a524ff758fa7046e98b07951ae
Author: Li Min Liu <email address hidden>
Date: Tue Apr 8 10:18:56 2014 +0800

    Storwize/SVC driver crashes when check volume copy status

    Storwize/SVC driver does not clear up property of _vdiskcopyops
    when deleting a volume. So if a volume which under async copy is
    deleted before sync completed, the driver will crash.

    When delete a volume, add a check for _vdiskcopyops, if volume
    is in the dict, remove it.

    Change-Id: I4905404b72a7ac8f90bd92fa4345ba771a78418b
    Closes-Bug: #1304115

Changed in cinder:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
tags: added: icehouse-backport-potential
removed: icehouse-rc-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (stable/icehouse)

Fix proposed to branch: stable/icehouse
Review: https://review.openstack.org/94122

Alan Pevec (apevec)
Changed in cinder:
importance: Undecided → Medium
tags: removed: icehouse-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (stable/icehouse)

Reviewed: https://review.openstack.org/94122
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=75fa69df1dd9334d70dda623789b2734ccb8da9d
Submitter: Jenkins
Branch: stable/icehouse

commit 75fa69df1dd9334d70dda623789b2734ccb8da9d
Author: Li Min Liu <email address hidden>
Date: Tue Apr 8 10:18:56 2014 +0800

    Storwize/SVC driver crashes when check volume copy status

    Storwize/SVC driver does not clear up property of _vdiskcopyops
    when deleting a volume. So if a volume which under async copy is
    deleted before sync completed, the driver will crash.

    When delete a volume, add a check for _vdiskcopyops, if volume
    is in the dict, remove it.

    Change-Id: I4905404b72a7ac8f90bd92fa4345ba771a78418b
    Closes-Bug: #1304115
    (cherry picked from commit 0c4a94eac94399a524ff758fa7046e98b07951ae)

Thierry Carrez (ttx)
Changed in cinder:
milestone: none → juno-1
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in cinder:
milestone: juno-1 → 2014.2
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.