volume manager fails in init_host on delete_volume

Bug #1232177 reported by Bill Owen on 2013-09-27
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Bill Owen

Bug Description

cinder.volume.manager.init_host attempts to delete volumes that have status of "deleting". But set_initialized is not called until after this step.

And manager.delete_volume has new decorator @utils.require_driver_initialized.

So the call to delete_volume from init_host will always fail because the driver is not yet marked as initialized.

Proposed solution: move set_initailized up after the call to check_for_setup_error.

Bill Owen (billowen) on 2013-09-27
Changed in cinder:
assignee: nobody → Bill Owen (billowen)
Changed in cinder:
status: New → In Progress

Reviewed: https://review.openstack.org/48718
Committed: http://github.com/openstack/cinder/commit/b715701ff4387d55e7eb4c301a0edea92fa4e0e8
Submitter: Jenkins
Branch: master

commit b715701ff4387d55e7eb4c301a0edea92fa4e0e8
Author: Bill Owen <email address hidden>
Date: Fri Sep 27 11:22:57 2013 -0700

    Set vol driver initialized before deleting volumes

    Move the call to set_initialized before calling delete_volume in
    init_host. The delete_volume method has a precondition that the
    driver be initialized.

    Closes-Bug: #1232177

    Change-Id: Ie73bd30e0ab80d489ab61ba8a60fac51ccb505b5

Changed in cinder:
status: In Progress → Fix Committed
Thierry Carrez (ttx) on 2013-10-04
Changed in cinder:
milestone: none → havana-rc1
status: Fix Committed → Fix Released
Thierry Carrez (ttx) on 2013-10-17
Changed in cinder:
milestone: havana-rc1 → 2013.2

Reviewed: https://review.openstack.org/59531
Committed: http://github.com/openstack/cinder/commit/e5d459ae7176f25c2b43606e37c049a52e54e5dc
Submitter: Jenkins
Branch: master

commit e5d459ae7176f25c2b43606e37c049a52e54e5dc
Author: Eric Harney <email address hidden>
Date: Mon Dec 2 14:58:57 2013 -0500

    Don't stop volume service for failed re-export operations

    Commit b71570 "Set vol driver initialized before deleting volumes"
    changed the manager behavior to call set_initialized() before
    attempting to re-export volumes.

    Drivers should not be considered initialized before re-export has
    succeeded. Otherwise a failure to export causes the volume
    service to stop, when that failure should be handled like any other
    failure to initialize.

    Closes-Bug: 1257049
    Related-Bug: 1232177
    Change-Id: Ic6bc89ef3f15dbbc971fdd8c91117cccb5c2801b

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers