in cloud-vmware-server/src/main/java/jetbrains/buildServer/clouds/vmware/connector/VMWareApiConnectorImpl.java [1077:1095]
private void guestShutdown(final VmwareCloudInstance instance, final VirtualMachine vm) throws RemoteException {
try {
vm.shutdownGuest();
} catch (ToolsUnavailable e) {
LOG.warn(String.format("Guest tools not installed or unavailable for '%s'", instance.getName()));
throw e;
} catch (InvalidState e) {
final VirtualMachineRuntimeInfo runtime = vm.getRuntime();
final String powerStateInfo = runtime==null ? "no runtime info" : runtime.getPowerState().name();
LOG.warn(String.format("Invalid power state for '%s': %s", instance.getName(), powerStateInfo));
throw e;
} catch (TaskInProgress e) {
LOG.warn(String.format("Already task in progress for '%s': '%s'", instance.getName(), e.getTask().getType()));
throw e;
} catch (RuntimeFault runtimeFault) {
LOG.warn(String.format("Runtime fault in guest shutdown for '%s': '%s'", instance.getName(), runtimeFault.toString()));
throw runtimeFault;
}
}