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

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

Slair1 opened a new pull request #2474: CLOUDSTACK-10246 Fix Host HA and VM HA 
issues
URL: https://github.com/apache/cloudstack/pull/2474
 
 
   The HA logic just does not work.  VM's with HA enabled would never restart 
after a host failure.  Had to re-do most of that logic.  There are comments 
inline with the code, but here is the general updated logic.  Sorry for the 
long notes...
   
   We are running KVM FYI.
   
   - If host-agent is unreachable, handleDisconnectWithInvestigation() is 
called as always.
   - The investigators are called to see what happened, which is one of the 
following two scenarios.  (If it isn't one of the two below, then the host just 
came back UP, or another status was returned and that is also logged.  But the 
two scenarios below are what needed updated the most)
   
   **If the investigators find the host is UP, but just the agent is 
unreachable**
   The host is put into DISCONNECTED status.  It will stay in this status and 
the PingTimeouts will continue to call handleDisconnectWithoutInvestigation() 
periodically.  It will stay in DISCONNECTED status until the AlertWait config 
option expires.  If the AlertWait time eventually is hit, and the investigators 
are still just reporting that the host is DISCONNECTED and not DOWN.  Then 
we'll put the host into ALERT state and we'll stay there until the 
investigators say the host is UP or the investigators say the host is DOWN.  If 
the host goes DOWN, then VM HA will be initiated.
   
   **If the investigators find the host is DOWN**
   Then VM HA is initiated...
   
   **VirtualNetworkApplianceManagerImpl.java**
   The file VirtualNetworkApplianceManagerImpl.java is edited for a related VM 
HA problem.  When a Host is determined to be DOWN, CloudStack attempts to VM HA 
any affected routers.  The problem is, when the host is determined to be down, 
by code referenced above, the host may not actually be DOWN.  On KVM for 
example, the host is considered DOWN if the agent is stopped on the KVM host 
for too long.  In that case, the VMs could still be running just fine...  
However when we think the host is DOWN, VM HA runs on the router and as part of 
that it unallocates/cleans-up the router and it's 169.x.x.x control IP is 
unallocated.  Then after it cleans it up, it tries to power on the router on 
another host, and as part of that it allocates a NEW 169.x.x.x control IP and 
writes that to the DB.  However, since the router isn't actually down (we just 
think the host is down) the VM HA fails as the vRouter is currently still 
running on the problem host.  
   
   Next, in this example, when the host agent is back online again, it sends a 
power report to the mgmt servers, and the management servers think the router 
was powered-on OOB.  However, the GUI will not show a control IP for the 
vRouter, and the DB will have the NEW control IP it tried to allocated during 
the failed VM HA event.  Thus, leaving us unable to communicate with the 
vRouter.
   
   This PR does a simple check that we can still communicate with the vRouter 
after any OOB power-on occurs.  If we can, then we have the correct control IP 
in the DB and we're good - so we do nothing.  If we can't communicate with the 
vRouter after the OOB power-on, we do a reboot of the vRouter to fix it.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> VM HA issues
> ------------
>
>                 Key: CLOUDSTACK-10246
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-10246
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: Management Server
>    Affects Versions: 4.11.0.0
>         Environment: My setup is CentOS 7 Management server with 3 CentOS 7 
> KVM HVs, NFS as primary and secondary storages.
>            Reporter: Nux
>            Priority: Major
>
> VM HA fails to kick in when one of the hypervisors goes down.
> It even fails to restart the system VMs which remain down along with the 
> instances until the affected HV comes back online.
> When I crash or power off the HV the system marks it in the hosts list as 
> "Alert" or "Disconnected" respectively. It should get changed to "Down" after 
> that, but this never happens.
>  
> I have tried various combinations of setups (Adv, Basic), none succeeded.
>  
> My instances use HA enabled offerings.
> Management server DEBUG logs here:
> [http://tmp.nux.ro/CW4-vmhafail-411rc1.txt]
>  
>  
>  
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to