cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CLOUDSTACK-9560) Root volume of deleted VM left unremoved
Date Wed, 26 Oct 2016 12:15:58 GMT

    [ https://issues.apache.org/jira/browse/CLOUDSTACK-9560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15608272#comment-15608272
] 

ASF GitHub Bot commented on CLOUDSTACK-9560:
--------------------------------------------

Github user ustcweizhou commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1726#discussion_r85108024
  
    --- Diff: server/src/com/cloud/storage/StorageManagerImpl.java ---
    @@ -2199,15 +2199,20 @@ public void cleanupDownloadUrls(){
                     if(downloadUrlCurrentAgeInSecs < _downloadUrlExpirationInterval){
 // URL hasnt expired yet
                         continue;
                     }
    -
    -                s_logger.debug("Removing download url " + volumeOnImageStore.getExtractUrl()
+ " for volume id " + volumeOnImageStore.getVolumeId());
    +                long volumeId = volumeOnImageStore.getVolumeId();
    +                s_logger.debug("Removing download url " + volumeOnImageStore.getExtractUrl()
+ " for volume id " + volumeId);
     
                     // Remove it from image store
                     ImageStoreEntity secStore = (ImageStoreEntity) _dataStoreMgr.getDataStore(volumeOnImageStore.getDataStoreId(),
DataStoreRole.Image);
                     secStore.deleteExtractUrl(volumeOnImageStore.getInstallPath(), volumeOnImageStore.getExtractUrl(),
Upload.Type.VOLUME);
     
                     // Now expunge it from DB since this entry was created only for download
purpose
                     _volumeStoreDao.expunge(volumeOnImageStore.getId());
    +                Volume volume = _volumeDao.findById(volumeId);
    +                if (volume != null && volume.getState() == Volume.State.Expunged)
    +                {
    +                    _volumeDao.remove(volumeId);
    +                }
    --- End diff --
    
    There might be multiple volume snapshot on image store.
    We need to make sure that all volume snapshot have been removed from image store.
    
    ```
    +                VolumeDataStoreVO volumesOnImageStore = _volumeStoreDao.findByVolume(volumeId);
    +                if (volumesOnImageStore == null) { // volume is expunged from primary,
as well as on secondary
    +                    VolumeVO vol = _volumeDao.findById(volumeId);
    +                    if (vol != null && (vol.getState() == Volume.State.Expunged))
{
    +                        _volumeDao.remove(volumeId);
    +                    }
    +                }
    ```


> Root volume of deleted VM left unremoved
> ----------------------------------------
>
>                 Key: CLOUDSTACK-9560
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9560
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>          Components: Volumes
>    Affects Versions: 4.8.0
>         Environment: XenServer
>            Reporter: subhash yedugundla
>             Fix For: 4.8.1
>
>
> In the following scenario root volume gets unremoved
> Steps to reproduce the issue
> 1. Create a VM.
> 2. Stop this VM.
> 3. On the page of the volume of the VM, click 'Download Volume' icon.
> 4. Wait for the popup screen to display and cancel out with/without clicking the download
link.
> 5. Destroy the VM
> Even after the corresponding VM is deleted,expunged, the root-volume is left in 'Expunging'
state unremoved.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message