mirror of https://github.com/apache/cloudstack.git
bug 12849: cleanup logs, moved vm.getNameLabel(conn) before vm is removed, reverted fb277a2bd0934d13022a90565ad902318afa6f53
This commit is contained in:
parent
3d75bf2242
commit
c4adad34c6
|
|
@ -2144,7 +2144,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||
synchronized (_cluster.intern()) {
|
||||
s_vms.put(_cluster, _name, vmName, State.Running);
|
||||
}
|
||||
s_logger.debug("3. The VM " + vmName + " is in " + State.Running + " state");
|
||||
s_logger.debug("3. The VM " + vmName + " is in Running state");
|
||||
}
|
||||
|
||||
return new CheckVirtualMachineAnswer(cmd, state, vncPort);
|
||||
|
|
@ -2168,7 +2168,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||
synchronized (_cluster.intern()) {
|
||||
s_vms.put(_cluster, _name, vm.getName(), State.Migrating);
|
||||
}
|
||||
s_logger.debug("4. The VM " + vm.getName() + " is in " + State.Migrating + " state");
|
||||
s_logger.debug("4. The VM " + vm.getName() + " is in Migrating state");
|
||||
|
||||
return new PrepareForMigrationAnswer(cmd);
|
||||
} catch (Exception e) {
|
||||
|
|
@ -2448,7 +2448,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||
synchronized (_cluster.intern()) {
|
||||
s_vms.put(_cluster, _name, vmName, State.Stopping);
|
||||
}
|
||||
s_logger.debug("5. The VM " + vmName + " is in " + State.Stopping + " state");
|
||||
s_logger.debug("5. The VM " + vmName + " is in Stopping state");
|
||||
try {
|
||||
Set<VM> vms = VM.getByNameLabel(conn, vmName);
|
||||
|
||||
|
|
@ -2514,7 +2514,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||
synchronized (_cluster.intern()) {
|
||||
s_vms.put(_cluster, _name, vmName, state);
|
||||
}
|
||||
s_logger.debug("6. The VM " + vmName + " is in " + State.Stopping + " state");
|
||||
s_logger.debug("6. The VM " + vmName + " is in " + state + " state");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -2639,7 +2639,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||
synchronized (_cluster.intern()) {
|
||||
s_vms.put(_cluster, _name, cmd.getVmName(), State.Starting);
|
||||
}
|
||||
s_logger.debug("7. The VM " + cmd.getVmName() + " is in " + State.Starting + " state");
|
||||
s_logger.debug("7. The VM " + cmd.getVmName() + " is in Starting state");
|
||||
|
||||
try {
|
||||
Set<VM> vms = null;
|
||||
|
|
@ -2665,7 +2665,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||
} finally {
|
||||
synchronized (_cluster.intern()) {
|
||||
s_vms.put(_cluster, _name, cmd.getVmName(), State.Running);
|
||||
s_logger.debug("8. The VM " + cmd.getVmName() + " is in " + State.Running + " state");
|
||||
s_logger.debug("8. The VM " + cmd.getVmName() + " is in Running state");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -3135,7 +3135,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||
synchronized (_cluster.intern()) {
|
||||
s_vms.remove(_cluster, _name, vmName);
|
||||
}
|
||||
s_logger.info("VM does not exist on XenServer" + _host.uuid);
|
||||
s_logger.info("VM does not exist on XenServer " + vmName);
|
||||
return new StopAnswer(cmd, "VM does not exist", 0 , 0L, 0L);
|
||||
}
|
||||
Long bytesSent = 0L;
|
||||
|
|
@ -3160,7 +3160,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||
synchronized (_cluster.intern()) {
|
||||
s_vms.put(_cluster, _name, vmName, State.Stopping);
|
||||
}
|
||||
s_logger.debug("9. The VM " + vmName + " is in " + State.Stopping + " state");
|
||||
s_logger.debug("9. The VM " + vmName + " is in Stopping state");
|
||||
|
||||
try {
|
||||
if (vmr.powerState == VmPowerState.RUNNING) {
|
||||
|
|
@ -6635,11 +6635,10 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||
cmd.incrStep();
|
||||
if (cmd.isRightStep()){
|
||||
// do full sync
|
||||
HashMap<String, Pair<String, State>> allStates=fullClusterSync(conn);
|
||||
return new ClusterSyncAnswer(cmd.getClusterId(), newStates, allStates);
|
||||
HashMap<String, Pair<String, State>> allStates=fullClusterSync(conn);
|
||||
return new ClusterSyncAnswer(cmd.getClusterId(), newStates, allStates);
|
||||
}
|
||||
else {
|
||||
cmd.incrStep();
|
||||
return new ClusterSyncAnswer(cmd.getClusterId(), newStates);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -95,6 +95,11 @@ public class XenServer56FP1Resource extends XenServer56Resource {
|
|||
vdis.add(vdi);
|
||||
}
|
||||
}
|
||||
//remove the VM from s_vms
|
||||
synchronized (_cluster.intern()) {
|
||||
s_vms.remove(_cluster, _name, vm.getNameLabel(conn));
|
||||
}
|
||||
s_logger.info("Fence command for VM " + cmd.getVmName());
|
||||
vm.powerStateReset(conn);
|
||||
vm.destroy(conn);
|
||||
for (VDI vdi : vdis) {
|
||||
|
|
@ -106,11 +111,6 @@ public class XenServer56FP1Resource extends XenServer56Resource {
|
|||
}
|
||||
}
|
||||
}
|
||||
//remove the VM from s_vms
|
||||
synchronized (_cluster.intern()) {
|
||||
s_vms.remove(_cluster, _name, vm.getNameLabel(conn));
|
||||
}
|
||||
s_logger.info("Fence command for VM " + vm.getNameLabel(conn));
|
||||
}
|
||||
return new FenceAnswer(cmd);
|
||||
} catch (XmlRpcException e) {
|
||||
|
|
|
|||
|
|
@ -222,13 +222,13 @@ public class XenServer56Resource extends CitrixResourceBase {
|
|||
|
||||
Set<VM> vms = VM.getByNameLabel(conn, cmd.getVmName());
|
||||
for (VM vm : vms) {
|
||||
vm.powerStateReset(conn);
|
||||
vm.destroy(conn);
|
||||
//remove the VM from s_vms
|
||||
synchronized (_cluster.intern()) {
|
||||
s_vms.remove(_cluster, _name, vm.getNameLabel(conn));
|
||||
}
|
||||
s_logger.info("Fence command for VM " + vm.getNameLabel(conn));
|
||||
s_logger.info("Fence command for VM " + cmd.getVmName());
|
||||
vm.powerStateReset(conn);
|
||||
vm.destroy(conn);
|
||||
}
|
||||
return new FenceAnswer(cmd);
|
||||
} catch (XmlRpcException e) {
|
||||
|
|
|
|||
|
|
@ -1636,11 +1636,11 @@ public class VirtualMachineManagerImpl implements VirtualMachineManager, Listene
|
|||
if (host != null){
|
||||
Answer answer = _agentMgr.send(host.getId(), cleanup(info.name));
|
||||
if (!answer.getResult()) {
|
||||
s_logger.warn("Unable to stop a VM due to " + answer.getDetails());
|
||||
s_logger.warn("Failed to update state of the VM due to " + answer.getDetails());
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
s_logger.warn("Unable to stop a VM due to " + e.getMessage());
|
||||
s_logger.warn("Unable to update state of the VM due to exception " + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1831,15 +1831,8 @@ public class VirtualMachineManagerImpl implements VirtualMachineManager, Listene
|
|||
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());
|
||||
if (vm.getHypervisorType() == HypervisorType.XenServer){ // for xenserver (bug 12875) a starting VM can be discovered as running if a disconnected host connects back
|
||||
try {
|
||||
stateTransitTo(vm, VirtualMachine.Event.AgentReportMigrated, hostId);
|
||||
} catch (NoTransitionException e) {
|
||||
s_logger.warn(e.getMessage());
|
||||
}
|
||||
}
|
||||
return null;
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue