venkata swamybabu budumuru created CLOUDSTACK-2562:
------------------------------------------------------

             Summary: [VMWARE] As per the code, currently CloudStack fails to 
program PF/NAT/LB rules when VR is restarted by VMWARE HA
                 Key: CLOUDSTACK-2562
                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-2562
             Project: CloudStack
          Issue Type: Bug
      Security Level: Public (Anyone can view this level - this is the default.)
          Components: Management Server
    Affects Versions: 4.2.0
         Environment: commit # b3e9b2a5dc0439cad60058d693cba9d3c714af70
            Reporter: venkata swamybabu budumuru
            Assignee: Sateesh Chodapuneedi
             Fix For: 4.2.0


When VR is restarted out-of-band by VMware HA then there is no way currently 
CloudStack can reprogram PF/NAT/LB rules.

Here is the code snippet from 
.//server/src/com/cloud/vm/VirtualMachineManagerImpl.java

        if (trackExternalChange) {
            if (serverState == State.Starting) {
                if (vm.getHostId() != null && vm.getHostId() != hostId) {
                    s_logger.info("CloudStack is starting VM on host " + 
vm.getHostId() + ", but status report comes from a different host " + hostId + 
", skip status sync for vm: "
                            + vm.getInstanceName());
                    return null;
                }
            }

            if (serverState == State.Running) {
                try {
                    //
                    // we had a bug that sometimes VM may be at Running State
                    // but host_id is null, we will cover it here.
                    // means that when CloudStack DB lost of host information,
                    // we will heal it with the info reported from host
                    // 
                    if (vm.getHostId() == null || hostId != vm.getHostId()) {
                        if (s_logger.isDebugEnabled()) {
                            s_logger.debug("detected host change when VM " + vm 
+ " is at running state, VM could be live-migrated externally from host " + 
vm.getHostId() + " to host " + hostId);
                        }

                        stateTransitTo(vm, 
VirtualMachine.Event.AgentReportMigrated, hostId);
                    }  
                } catch (NoTransitionException e) {
                    s_logger.warn(e.getMessage());
                }
            }   
        }


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