GitHub user ProjectMoon opened a pull request:

    https://github.com/apache/cloudstack/pull/1406

    CLOUDSTACK-9280: Allow system VM volumes to be expunged if no system VMs 
are remaining.

    This pull request is our proposed fix for 
https://issues.apache.org/jira/browse/CLOUDSTACK-9280. I added a new special 
SSVM endpoint that happily accepts any command given to it. This endpoint is 
used in only a very specific scenario:
    
    The volume's VM is in state destroyed or expunging, but the volume still 
lingers.
    The volume's VM is a system VM (SSVM or console proxy).
    There are no secondary storage machines existing in the volume's zone.
    This necessitated a small change to VolumeObject which allows it to find 
removed VMs (findByIdIncludingRemoved). The main part of the work is in the 
DefaultEndpointSelector.
    
    We would like some thorough review of this PR as well as what tests to 
create/run. I'm not sure if the scope of this fix will lead to unintentional 
behavior changes in other scenarios.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/greenqloud/cloudstack pr-volume-expunge-fix

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cloudstack/pull/1406.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1406
    
----
commit b5f10b0d9bbf1a6788e82ae86d02e1ba484f238e
Author: jeff <j...@greenqloud.com>
Date:   2016-02-08T16:30:03Z

    CLOUDSTACK-9280: System VM volumes can be expunged if no SSVM exists.
    
    This commit adds a special SSVM endpoint which simply returns true for
    all operations sent to it, without actually doing anything. This
    allows for destroyed volumes of system VMs to be expunged when there
    are no hosts (and thus no system VMs) remaining to handle the volume
    destruction.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to