Merge "Add service level information for Grafana dashboard"
diff --git a/cinder/meta/grafana.yml b/cinder/meta/grafana.yml
index 532dba2..dcb1744 100644
--- a/cinder/meta/grafana.yml
+++ b/cinder/meta/grafana.yml
@@ -2,6 +2,67 @@
   cinder:
     format: json
     template: cinder/files/grafana_dashboards/cinder_influxdb.json
+  service_level:
+    row:
+      cinder-service-level:
+        title: Cinder Service Levels
+        panel:
+          cinder-control-uptime:
+            title: Cinder Control Uptime
+            target:
+              cinder-control-healthy-status:
+                alias: "Healthy"
+                rawQuery: true
+                query: SELECT count(value) FROM cluster_status WHERE environment_label = '$environment' AND cluster_name = 'cinder-control' AND value = 0 AND $timeFilter
+              cinder-control-degraded-unknwon-status:
+                alias: "Degraded or Unknwon"
+                rawQuery: true
+                query: SELECT count(value) FROM cluster_status WHERE environment_label = '$environment' AND cluster_name = 'cinder-control' AND (value = 1 OR value = 2 OR value = 3) AND $timeFilter
+              cinder-control-down-status:
+                alias: "Down"
+                rawQuery: true
+                query: SELECT count(value) FROM cluster_status WHERE environment_label = '$environment' AND cluster_name = 'cinder-control' AND value = 4 AND $timeFilter
+          cinder-data-uptime:
+            title: Cinder Data Uptime
+            target:
+              cinder-data-healthy-status:
+                alias: "Healthy"
+                rawQuery: true
+                query: SELECT count(value) FROM cluster_status WHERE environment_label = '$environment' AND cluster_name = 'cinder-data' AND value = 0 AND $timeFilter
+              cinder-data-degraded-unknwon-status:
+                alias: "Degraded or Unknwon"
+                rawQuery: true
+                query: SELECT count(value) FROM cluster_status WHERE environment_label = '$environment' AND cluster_name = 'cinder-data' AND (value = 1 OR value = 2 OR value = 3) AND $timeFilter
+              cinder-data-down-status:
+                alias: "Down"
+                rawQuery: true
+                query: SELECT count(value) FROM cluster_status WHERE environment_label = '$environment' AND cluster_name = 'cinder-data' AND value = 4 AND $timeFilter
+          cinder-api-availability:
+            title: Cinder API Availability (V1 & V2)
+            target:
+              cinder-api-up-status:
+                alias: "Up"
+                rawQuery: true
+                query: SELECT count(value) FROM openstack_check_api WHERE environment_label = '$environment' AND (service = 'cinder-api' OR service = 'cinder-v2-api') AND value = 1 AND $timeFilter
+              cinder-api-down-status:
+                alias: "Down"
+                rawQuery: true
+                query: SELECT count(value) FROM openstack_check_api WHERE environment_label = '$environment' AND (service = 'cinder-api' OR service = 'cinder-v2-api') AND value = 0 AND $timeFilter
+          cinder-api-requests:
+            title: Cinder API Requests
+            target:
+              cinder-api-okay-status:
+                alias: "Okay"
+                rawQuery: true
+                query: SELECT count(max) FROM openstack_cinder_http_response_times WHERE environment_label = '$environment' AND (http_status = '2xx' OR http_status = '3xx') AND $timeFilter
+              cinder-api-error-status:
+                alias: "Error"
+                rawQuery: true
+                query: SELECT count(max) FROM openstack_cinder_http_response_times WHERE environment_label = '$environment' AND http_status = '4xx' AND $timeFilter
+              cinder-api-fatal-status:
+                alias: "Fatal"
+                rawQuery: true
+                query: SELECT count(max) FROM openstack_cinder_http_response_times WHERE environment_label = '$environment' AND http_status = '5xx' AND $timeFilter
   main:
     row:
       ost-control-plane: