deepti dohare created CLOUDSTACK-357:
----------------------------------------

             Summary: ISOs can be deleted while still attached to a running VM, 
and they subsequently cannot be detached from a running VM
                 Key: CLOUDSTACK-357
                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-357
             Project: CloudStack
          Issue Type: Bug
          Components: ISO
    Affects Versions: pre-4.0.0
            Reporter: deepti dohare
            Priority: Minor
             Fix For: 4.1.0


If an ISO is attached to a running VM, and you delete that ISO via CloudStack, 
the ISO file is deleted from secondary storage. However, it is left attached to 
the running VM, and it cannot be detached while the VM is running. The 
exception given in the log is pasted below (full snippet attached). It appears 
that CloudStack is not even trying to detach it (no tasks show up on vSphere). 

Shutting down the VM and detaching the ISO works fine, but this is an 
inconvenience at the least and should be handled better. For example, ISO 
deletion could fail if it is attached to any VM, ISOs could be automatically 
detached from VMs before being deleted, or deleted ISOs could be detachable 
from running VMs. 

2012-08-24 08:53:09,785 DEBUG [cloud.async.AsyncJobManagerImpl] 
(Job-Executor-29:job-98) Executing com.cloud.api.commands.DetachIsoCmd for 
job-98 
2012-08-24 08:53:09,801 WARN [cloud.storage.StorageManagerImpl] 
(Job-Executor-29:job-98) Unable to find secondary storage in zone id=1 
2012-08-24 08:53:09,801 WARN [cloud.vm.UserVmManagerImpl] 
(Job-Executor-29:job-98) Couldn't get absolute iso path 
2012-08-24 08:53:09,808 ERROR [cloud.api.ApiDispatcher] 
(Job-Executor-29:job-98) Exception while executing DetachIsoCmd: 
com.cloud.utils.exception.CloudRuntimeException: Failed to detach iso 
        at 
com.cloud.template.TemplateManagerImpl.detachIso(TemplateManagerImpl.java:1109) 
        at 
com.cloud.event.ActionEventCallback.intercept(ActionEventCallback.java:32) 
        at com.cloud.api.commands.DetachIsoCmd.execute(DetachIsoCmd.java:82) 
        at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:134) 
        at 
com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:427) 
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
        at java.lang.Thread.run(Thread.java:679) 
2012-08-24 08:53:09,809 DEBUG [cloud.async.AsyncJobManagerImpl] 
(Job-Executor-29:job-98) Complete async job-98, jobStatus: 2, resultCode: 530, 
result: com.cloud.api.response.ExceptionResponse@3cb12e2b 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to