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

ASF subversion and git services commented on CLOUDSTACK-2519:
-------------------------------------------------------------

Commit ddd7cfd71c45c708012d30a0b7858db9d74c90f4 in branch refs/heads/master 
from Prachi Damle <pra...@cloud.com>
[ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=ddd7cfd ]

CLOUDSTACK-2519: VMs on local storage incorrectly destroyed when removing 
another host using deleteHost API

- For DeleteHost API: Search for Volumes in READY state on the local storage of 
the host to find VM's in 'Running' State
- For PrepareForMaintenance API: Search for Volumes not in Destroy or Expunging 
state to check if the Local Storage on the host is being used.

                
> VMs on local storage incorrectly destroyed when removing another host using 
> deleteHost API
> ------------------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-2519
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-2519
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: Management Server
>            Reporter: Prachi Damle
>            Assignee: Prachi Damle
>             Fix For: 4.2.0
>
>
> Steps to reproduce:
> Using local storage following erroneous situation is observed while using 
> deleteHost API:
> - Use local storage. Suppose Zone has 2 clusters, say Cluster1 has 2 hosts 
> (host A and host B). Cluster 2 has 1 host (host C)
> During deployVM following needs to happen:
> 1) host A is selected and VM's root disk is created on its local storage. 
> Then mgt server sends start command to the host A to start this vm, but 
> somehow, start vm failed.
> 2) Then we will retry another host in the same cluster, but no other host in 
> that cluster can be used since the root Disk on local storage is not 
> accessible to hostB.
> 3) Then planner will find host C in other cluster and a new local storage pool
> 4) Mgmt server will mark the previous root disk as destroyed, and create new 
> root disk on local stoarge of host C
> 5) Vm starts successfully on host C
> 6) At this point, VM instance is on host C. In volumes table, 2 records point 
> to this VM instance - one record is the root disk in READY state on host C 
> LVM. Another entry is root disk in Destroy state (that was created in step 1 
> ) on host A LVM. This is fine.
> 7) Now using deleteHostAPI, try to delete Host A. When host A is deleted, the 
> VM running on host C gets destroyed. Use command: 
> command=deleteHost&id=<host_id>&forced=true&forcedestroylocalstorage=true
> This is a bug that is picking the VM on host C wrongly because we find a 
> volume record on host A LVM pointing to this VM. Mgmt Server should not 
> destroy this VM. To fix this it should search the volumes records that are in 
> READY state only.
> To reproduce this, simulator might be needed since we need to somehow return 
> error to the startCommand from hostA in step 1 above. But host C should 
> return success.

--
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