This is an automated email from the ASF dual-hosted git repository.

rohit pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/main by this push:
     new 3e8c0684ed5 Prometheus: Ensure tagged hosts maintenance status is 
reported consistently (#7471)
3e8c0684ed5 is described below

commit 3e8c0684ed53c5cff704eac7321b08f31cdddc75
Author: Ben <[email protected]>
AuthorDate: Tue May 23 01:44:43 2023 -0400

    Prometheus: Ensure tagged hosts maintenance status is reported consistently 
(#7471)
    
    When a host is not tagged, its maintenance status is reported in the
    cloudstack_hosts_total metric: maintenance_enabled is OFFLINE,
    maintenance_disabled is ONLINE.
    
    When a host is tagged, its maintenance status is now also verified to
    ensure consistent behaviour.
    
    In prometheus exporter, maintenance status for 
cloudstack_hosts_total_by_tag is not checked. While it is checked for 
cloudstack_hosts_total metric.
    Classified by_tag or not, metrics should be the same.
    
    Fixes: #7470
---
 .../java/org/apache/cloudstack/metrics/PrometheusExporterImpl.java    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/plugins/integrations/prometheus/src/main/java/org/apache/cloudstack/metrics/PrometheusExporterImpl.java
 
b/plugins/integrations/prometheus/src/main/java/org/apache/cloudstack/metrics/PrometheusExporterImpl.java
index 7d6ed876323..3f69ccdb3c1 100644
--- 
a/plugins/integrations/prometheus/src/main/java/org/apache/cloudstack/metrics/PrometheusExporterImpl.java
+++ 
b/plugins/integrations/prometheus/src/main/java/org/apache/cloudstack/metrics/PrometheusExporterImpl.java
@@ -212,9 +212,9 @@ public class PrometheusExporterImpl extends ManagerBase 
implements PrometheusExp
     private String markTagMaps(HostVO host, Map<String, Integer> totalHosts, 
Map<String, Integer> upHosts, Map<String, Integer> downHosts) {
         List<String> hostTags = _hostTagsDao.getHostTags(host.getId());
         markTags(hostTags,totalHosts);
-        if (host.getStatus() == Status.Up) {
+        if (host.getStatus() == Status.Up && !host.isInMaintenanceStates()) {
             markTags(hostTags, upHosts);
-        } else if (host.getStatus() == Status.Disconnected || host.getStatus() 
== Status.Down) {
+        } else if (host.getStatus() == Status.Disconnected || host.getStatus() 
== Status.Down || host.isInMaintenanceStates()) {
             markTags(hostTags, downHosts);
         }
         return StringUtils.join(hostTags, ",");

Reply via email to