Merge "Implement more robust tests in Salt states"
diff --git a/cinder/meta/heka.yml b/cinder/meta/heka.yml
index e827440..b9f51c8 100644
--- a/cinder/meta/heka.yml
+++ b/cinder/meta/heka.yml
@@ -1,3 +1,7 @@
+{%- from "cinder/map.jinja" import controller as _controller with context %}
+{%- from "cinder/map.jinja" import volume as _volume with context %}
+{%- set controller = _controller.get('enabled', False) %}
+{%- set volume = _volume.get('enabled', False) %}
 log_collector:
   decoder:
     cinder:
@@ -20,6 +24,7 @@
       splitter: "cinder_splitter"
 metric_collector:
   trigger:
+    {%- if controller or volume %}
     cinder_logs_error:
       description: 'Too many errors have been detected in Cinder logs'
       severity: warning
@@ -34,7 +39,8 @@
         window: 70
         periods: 0
         function: max
-    {%- if pillar.cinder.controller is defined %}
+    {%- endif %}
+    {%- if controller %}
     cinder_api_local_endpoint:
       description: 'Cinder API is locally down'
       severity: down
@@ -49,7 +55,7 @@
         function: last
     {%- endif %}
   alarm:
-    {%- if pillar.cinder.controller is defined %}
+    {%- if controller %}
     cinder_logs:
       alerting: enabled
       triggers:
@@ -63,7 +69,7 @@
       dimension:
         service: cinder-api-endpoint
     {%- endif %}
-    {%- if pillar.cinder.compute is defined %}
+    {%- if volume %}
     cinder_logs_volume:
       alerting: enabled
       triggers:
@@ -73,7 +79,7 @@
     {%- endif %}
 remote_collector:
   trigger:
-    {%- if pillar.cinder.controller is defined %}
+    {%- if controller %}
     cinder_api_check_failed:
       description: 'Endpoint check for cinder-api is failed'
       severity: down
@@ -126,14 +132,14 @@
         periods: 0
         function: last
     {%- endif %}
-    {%- if pillar.cinder.volume is defined %}
+    {%- if volume %}
     cinder_volume_one_down:
       description: 'At least one Cinder volume is down'
       severity: warning
       rules:
       - metric: openstack_cinder_services
         field:
-          service: scheduler
+          service: volume
           state: down
         relational_operator: '>'
         threshold: 0
@@ -168,7 +174,7 @@
         function: last
     {%- endif %}
   alarm:
-    {%- if pillar.cinder.controller is defined %}
+    {%- if controller %}
     cinder_api_check:
       alerting: enabled
       triggers:
@@ -184,7 +190,7 @@
       dimension:
         service: cinder-scheduler
     {%- endif %}
-    {%- if pillar.cinder.volume is defined %}
+    {%- if volume %}
     cinder_volume:
       alerting: enabled
       triggers:
@@ -196,6 +202,7 @@
     {%- endif %}
 aggregator:
   alarm_cluster:
+    {%- if volume %}
     cinder_logs_volume:
       policy: highest_severity
       alerting: enabled
@@ -207,6 +214,29 @@
       dimension:
         service: cinder-data
         nagios_host: 01-service-clusters
+    cinder_volume:
+      policy: highest_severity
+      alerting: enabled
+      match:
+        service: cinder-volume
+      members:
+      - cinder_volume
+      dimension:
+        service: cinder-data
+        nagios_host: 01-service-clusters
+    cinder_data:
+      policy: highest_severity
+      alerting: enabled_with_notification
+      match:
+        service: cinder-data
+      members:
+      - cinder_logs_volume
+      - cinder_volume
+      dimension:
+        cluster_name: cinder-data
+        nagios_host: 00-top-clusters
+    {%- endif %}
+    {%- if controller %}
     cinder_logs:
       policy: highest_severity
       alerting: enabled
@@ -239,16 +269,6 @@
       dimension:
         service: cinder-control
         nagios_host: 01-service-clusters
-    cinder_volume:
-      policy: highest_severity
-      alerting: enabled
-      match:
-        service: cinder-volume
-      members:
-      - cinder_volume
-      dimension:
-        service: cinder-data
-        nagios_host: 01-service-clusters
     cinder_scheduler:
       policy: highest_severity
       alerting: enabled
@@ -272,14 +292,4 @@
       dimension:
         cluster_name: cinder-control
         nagios_host: 00-top-clusters
-    cinder_data:
-      policy: highest_severity
-      alerting: enabled_with_notification
-      match:
-        service: cinder-data
-      members:
-      - cinder_logs_volume
-      - cinder_volume
-      dimension:
-        cluster_name: cinder-data
-        nagios_host: 00-top-clusters
+    {%- endif %}