You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Marcus Sorensen (JIRA)" <ji...@apache.org> on 2014/01/31 07:32:10 UTC

[jira] [Created] (CLOUDSTACK-6000) Volume lifecycle, stuck in expunging

Marcus Sorensen created CLOUDSTACK-6000:
-------------------------------------------

             Summary: Volume lifecycle, stuck in expunging
                 Key: CLOUDSTACK-6000
                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-6000
             Project: CloudStack
          Issue Type: Bug
      Security Level: Public (Anyone can view this level - this is the default.)
          Components: Management Server
    Affects Versions: 4.3.0, 4.4.0
            Reporter: Marcus Sorensen
            Assignee: Marcus Sorensen
             Fix For: 4.4.0


I think there's a hole in the volume lifecycle.  I've been noticing
volumes lingering that should have been cleaned up, and it seems to be
a bug in the state machine for the volumes:

            s_fsm.addTransition(Destroy, Event.ExpungingRequested, Expunging);
            s_fsm.addTransition(Expunging, Event.ExpungingRequested, Expunging);
            s_fsm.addTransition(Expunging, Event.OperationSucceeded, Expunged);
            s_fsm.addTransition(Expunging, Event.OperationFailed, Expunging);

If a volume is in Destroy state, it goes to Expunging when the delete
operation is requested. If the delete fails, it remains in expunging.
The storage garbage collector will never try to clean up that volume
again, since it only lists volumes in 'Destroy' and attempts those.
You can only get to Expunging from Destroy, it makes sense to change
that last line to revert the volume state back to Destroy if the
expunge operation failed, so that it will try again next time.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)