diff --git a/integrations/opennms-vmware/src/main/java/org/opennms/netmgt/poller/monitors/VmwareCimMonitor.java b/integrations/opennms-vmware/src/main/java/org/opennms/netmgt/poller/monitors/VmwareCimMonitor.java index f75478f6bcef..ee84339b7fd3 100644 --- a/integrations/opennms-vmware/src/main/java/org/opennms/netmgt/poller/monitors/VmwareCimMonitor.java +++ b/integrations/opennms-vmware/src/main/java/org/opennms/netmgt/poller/monitors/VmwareCimMonitor.java @@ -41,7 +41,6 @@ import com.vmware.vim25.HostRuntimeInfo; import com.vmware.vim25.HostSystemPowerState; import com.vmware.vim25.mo.HostSystem; - import org.exolab.castor.xml.MarshalException; import org.exolab.castor.xml.ValidationException; import org.opennms.core.spring.BeanUtils; @@ -134,6 +133,8 @@ public PollStatus poll(MonitoredService svc, Map parameters) { } } + boolean ignoreStandBy = getKeyedBoolean(parameters, "ignoreStandBy", false); + OnmsNode onmsNode = m_nodeDao.get(svc.getNodeId()); // retrieve the assets and @@ -242,7 +243,11 @@ public PollStatus poll(MonitoredService svc, Map parameters) { serviceStatus = PollStatus.unavailable(reason.toString()); } } else { - serviceStatus = PollStatus.unresponsive("Host system's power state is '" + powerState + "'"); + if (ignoreStandBy && "standBy".equals(powerState)) { + serviceStatus = PollStatus.up(); + } else { + serviceStatus = PollStatus.unresponsive("Host system's power state is '" + powerState + "'"); + } } vmwareViJavaAccess.disconnect(); diff --git a/integrations/opennms-vmware/src/main/java/org/opennms/netmgt/poller/monitors/VmwareMonitor.java b/integrations/opennms-vmware/src/main/java/org/opennms/netmgt/poller/monitors/VmwareMonitor.java index 3cc6178cfe9c..c527c917232a 100644 --- a/integrations/opennms-vmware/src/main/java/org/opennms/netmgt/poller/monitors/VmwareMonitor.java +++ b/integrations/opennms-vmware/src/main/java/org/opennms/netmgt/poller/monitors/VmwareMonitor.java @@ -34,7 +34,6 @@ import com.vmware.vim25.VirtualMachineRuntimeInfo; import com.vmware.vim25.mo.HostSystem; import com.vmware.vim25.mo.VirtualMachine; - import org.exolab.castor.xml.MarshalException; import org.exolab.castor.xml.ValidationException; import org.opennms.core.spring.BeanUtils; @@ -103,6 +102,8 @@ public PollStatus poll(MonitoredService svc, Map parameters) { } } + boolean ignoreStandBy = getKeyedBoolean(parameters, "ignoreStandBy", false); + OnmsNode onmsNode = m_nodeDao.get(svc.getNodeId()); // retrieve the assets and @@ -194,7 +195,11 @@ public PollStatus poll(MonitoredService svc, Map parameters) { if ("poweredOn".equals(powerState)) { serviceStatus = PollStatus.available(); } else { - serviceStatus = PollStatus.unavailable("The system's state is '" + powerState + "'"); + if (ignoreStandBy && "standBy".equals(powerState)) { + serviceStatus = PollStatus.up(); + } else { + serviceStatus = PollStatus.unavailable("The system's state is '" + powerState + "'"); + } } vmwareViJavaAccess.disconnect(); diff --git a/opennms-base-assembly/src/main/filtered/etc/poller-configuration.xml b/opennms-base-assembly/src/main/filtered/etc/poller-configuration.xml index 91a1165b2829..8995db7a8060 100644 --- a/opennms-base-assembly/src/main/filtered/etc/poller-configuration.xml +++ b/opennms-base-assembly/src/main/filtered/etc/poller-configuration.xml @@ -193,10 +193,12 @@ + +