Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1706,7 +1706,7 @@ private boolean checkOvsNetwork(final String networkName) {
}

public boolean passCmdLine(final String vmName, final String cmdLine) throws InternalErrorException {
final Script command = new Script(_patchScriptPath, 300 * 1000, s_logger);
final Script command = new Script(_patchScriptPath, 300000, s_logger);
String result;
command.add("-n", vmName);
command.add("-c", cmdLine);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1427,7 +1427,9 @@ public KVMPhysicalDisk copyPhysicalDisk(KVMPhysicalDisk disk, String name, KVMSt

r.ioCtxDestroy(io);
} catch (QemuImgException | LibvirtException e) {
s_logger.error("Failed to convert from " + srcFile.getFileName() + " to " + destFile.getFileName() + " the error was: " + e.getMessage());
String srcFilename = srcFile != null ? srcFile.getFileName() : null;
String destFilename = destFile != null ? destFile.getFileName() : null;
s_logger.error(String.format("Failed to convert from %s to %s the error was: %s", srcFilename, destFilename, e.getMessage()));
newDisk = null;
} catch (RadosException e) {
s_logger.error("A Ceph RADOS operation failed (" + e.getReturnValue() + "). The error was: " + e.getMessage());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ public boolean configure(String name, Map<String, Object> params) throws Configu

_canBridgeFirewall = false;

s_logger.debug(_canBridgeFirewall ? "OVM host supports security groups." : "OVM host doesn't support security groups.");
s_logger.debug("OVM host doesn't support security groups.");

return true;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7541,6 +7541,11 @@ private List<VolumeObjectTO> relocateVirtualMachine(final VmwareHypervisorHost h
// prepare network on the host
prepareNetworkFromNicInfo((HostMO)targetHyperHost, nic, false, vmTo.getType());
}

if (targetHyperHost == null) {
throw new CloudRuntimeException(String.format("Trying to relocate VM [%s], but target hyper host is null.", vmTo.getUuid()));
}

// Ensure secondary storage mounted on target host
VmwareManager mgr = targetHyperHost.getContext().getStockObject(VmwareManager.CONTEXT_STOCK_NAME);
Pair<String, Long> secStoreUrlAndId = mgr.getSecondaryStorageStoreUrlAndId(Long.parseLong(_dcId));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,8 @@ public Connection connect(String hostUuid, String poolUuid, String ipAddress,
throw e;
} catch (Exception e) {
if (s_logger.isDebugEnabled()) {
s_logger.debug("connect through IP(" + mConn.getIp() + " for pool(" + poolUuid + ") is broken due to " + e.toString());
String ip = mConn != null ? mConn.getIp() : null;
s_logger.debug("connect through IP(" + ip + ") for pool(" + poolUuid + ") is broken due to " + e.toString());
}
removeConnect(poolUuid);
mConn = null;
Expand Down
169 changes: 89 additions & 80 deletions server/src/main/java/com/cloud/alert/ConsoleProxyAlertAdapter.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import javax.inject.Inject;
import javax.naming.ConfigurationException;

import org.apache.cloudstack.alert.AlertService;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;

Expand Down Expand Up @@ -60,87 +61,95 @@ public void onProxyAlert(Object sender, ConsoleProxyAlertEventArgs args) {
throw new CloudRuntimeException("Invalid alert arguments, proxy must be set");
}

String proxyHostName = "";
String proxyPublicIpAddress = "";
String proxyPrivateIpAddress = "N/A";
Long proxyPodIdToDeployIn = null;

if (proxy != null) {
proxyHostName = proxy.getHostName();
proxyPublicIpAddress = proxy.getPublicIpAddress();
proxyPrivateIpAddress = proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress();
proxyPodIdToDeployIn = proxy.getPodIdToDeployIn();
}

String message = "";
String zoneProxyPublicAndPrivateIp = String.format("zone [%s], proxy [%s], public IP [%s], private IP [%s].", dc.getName(), proxyHostName, proxyPublicIpAddress,
proxyPrivateIpAddress);
String zone = String.format("(zone %s)", dc.getName());
String errorDetails = " Error details: " + args.getMessage();


switch (args.getType()) {
case ConsoleProxyAlertEventArgs.PROXY_CREATED:
if (s_logger.isDebugEnabled())
s_logger.debug("New console proxy created, zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() +
", private IP: " + proxy.getPrivateIpAddress());
break;

case ConsoleProxyAlertEventArgs.PROXY_UP:
if (s_logger.isDebugEnabled())
s_logger.debug("Console proxy is up, zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() +
", private IP: " + proxy.getPrivateIpAddress());

_alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_CONSOLE_PROXY, args.getZoneId(), proxy.getPodIdToDeployIn(),
"Console proxy up in zone: " + dc.getName() +
", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() + ", private IP: " +
(proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()), "Console proxy up (zone " + dc.getName() + ")");
break;

case ConsoleProxyAlertEventArgs.PROXY_DOWN:
if (s_logger.isDebugEnabled())
s_logger.debug("Console proxy is down, zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() +
", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()));

_alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_CONSOLE_PROXY, args.getZoneId(), proxy.getPodIdToDeployIn(),
"Console proxy down in zone: " + dc.getName() +
", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() + ", private IP: " +
(proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()), "Console proxy down (zone " + dc.getName() + ")");
break;

case ConsoleProxyAlertEventArgs.PROXY_REBOOTED:
if (s_logger.isDebugEnabled())
s_logger.debug("Console proxy is rebooted, zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() +
", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()));

_alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_CONSOLE_PROXY, args.getZoneId(), proxy.getPodIdToDeployIn(),
"Console proxy rebooted in zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() +
", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()), "Console proxy rebooted (zone " + dc.getName() +
")");
break;

case ConsoleProxyAlertEventArgs.PROXY_CREATE_FAILURE:
if (s_logger.isDebugEnabled())
s_logger.debug("Console proxy creation failure, zone: " + dc.getName());
_alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_CONSOLE_PROXY, args.getZoneId(), null,
"Console proxy creation failure. zone: " + dc.getName() + ", error details: " + args.getMessage(),
"Console proxy creation failure (zone " + dc.getName() + ")");
break;

case ConsoleProxyAlertEventArgs.PROXY_START_FAILURE:
if (s_logger.isDebugEnabled())
s_logger.debug("Console proxy startup failure, zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " +
proxy.getPublicIpAddress() + ", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()));

_alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_CONSOLE_PROXY, args.getZoneId(), proxy.getPodIdToDeployIn(),
"Console proxy startup failure. zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() +
", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()) + ", error details: " + args.getMessage(),
"Console proxy startup failure (zone " + dc.getName() + ")");
break;

case ConsoleProxyAlertEventArgs.PROXY_FIREWALL_ALERT:
if (s_logger.isDebugEnabled())
s_logger.debug("Console proxy firewall alert, zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " +
proxy.getPublicIpAddress() + ", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()));

_alertMgr.sendAlert(
AlertManager.AlertType.ALERT_TYPE_CONSOLE_PROXY,
args.getZoneId(),
proxy.getPodIdToDeployIn(),
"Failed to open console proxy firewall port. zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " +
proxy.getPublicIpAddress() + ", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()),
"Console proxy alert (zone " + dc.getName() + ")");
break;

case ConsoleProxyAlertEventArgs.PROXY_STORAGE_ALERT:
if (s_logger.isDebugEnabled())
s_logger.debug("Console proxy storage alert, zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " +
proxy.getPublicIpAddress() + ", private IP: " + proxy.getPrivateIpAddress() + ", message: " + args.getMessage());

_alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_STORAGE_MISC, args.getZoneId(), proxy.getPodIdToDeployIn(),
"Console proxy storage issue. zone: " + dc.getName() + ", message: " + args.getMessage(), "Console proxy alert (zone " + dc.getName() + ")");
break;
case ConsoleProxyAlertEventArgs.PROXY_CREATED:
if (s_logger.isDebugEnabled()) {
s_logger.debug("New console proxy created, " + zoneProxyPublicAndPrivateIp);
}
break;

case ConsoleProxyAlertEventArgs.PROXY_UP:
message = "Console proxy up in " + zoneProxyPublicAndPrivateIp;
if (s_logger.isDebugEnabled()) {
s_logger.debug(message);
}

_alertMgr.sendAlert(AlertService.AlertType.ALERT_TYPE_CONSOLE_PROXY, args.getZoneId(), proxyPodIdToDeployIn, message, "Console proxy up " + zone);
break;

case ConsoleProxyAlertEventArgs.PROXY_DOWN:
message = "Console proxy is down in " + zoneProxyPublicAndPrivateIp;
if (s_logger.isDebugEnabled()) {
s_logger.debug(message);
}

_alertMgr.sendAlert(AlertService.AlertType.ALERT_TYPE_CONSOLE_PROXY, args.getZoneId(), proxyPodIdToDeployIn, message, "Console proxy down " + zone);
break;

case ConsoleProxyAlertEventArgs.PROXY_REBOOTED:
message = "Console proxy is rebooted in " + zoneProxyPublicAndPrivateIp;
if (s_logger.isDebugEnabled()) {
s_logger.debug(message);
}

_alertMgr.sendAlert(AlertService.AlertType.ALERT_TYPE_CONSOLE_PROXY, args.getZoneId(), proxyPodIdToDeployIn, message, "Console proxy rebooted " + zone);
break;

case ConsoleProxyAlertEventArgs.PROXY_CREATE_FAILURE:
message = String.format("Console proxy creation failure. Zone [%s].", dc.getName());
if (s_logger.isDebugEnabled()) {
s_logger.debug(message);
}

_alertMgr.sendAlert(AlertService.AlertType.ALERT_TYPE_CONSOLE_PROXY, args.getZoneId(), null, message + errorDetails, "Console proxy creation failure " + zone);
break;

case ConsoleProxyAlertEventArgs.PROXY_START_FAILURE:
message = "Console proxy startup failure in " + zoneProxyPublicAndPrivateIp;
if (s_logger.isDebugEnabled()) {
s_logger.debug(message);
}

_alertMgr.sendAlert(AlertService.AlertType.ALERT_TYPE_CONSOLE_PROXY, args.getZoneId(), proxyPodIdToDeployIn, message + errorDetails,
"Console proxy startup failure " + zone);
break;

case ConsoleProxyAlertEventArgs.PROXY_FIREWALL_ALERT:
if (s_logger.isDebugEnabled()) {
s_logger.debug("Console proxy firewall alert, " + zoneProxyPublicAndPrivateIp);
}

_alertMgr.sendAlert(AlertService.AlertType.ALERT_TYPE_CONSOLE_PROXY, args.getZoneId(), proxyPodIdToDeployIn, "Failed to open console proxy firewall port. " +
zoneProxyPublicAndPrivateIp, "Console proxy alert " + zone);
break;

case ConsoleProxyAlertEventArgs.PROXY_STORAGE_ALERT:
message = zoneProxyPublicAndPrivateIp + ", message: " + args.getMessage();
if (s_logger.isDebugEnabled()) {
s_logger.debug("Console proxy storage alert, " + message);
}
_alertMgr.sendAlert(AlertService.AlertType.ALERT_TYPE_STORAGE_MISC, args.getZoneId(), proxyPodIdToDeployIn, "Console proxy storage issue. " + message,
"Console proxy alert " + zone);
break;
}
}

Expand Down
Loading