dashboard:
  service_level:
    datasource: influxdb
    row:
      neutron-service-level:
        title: Neutron Service Levels
        panel:
          neutron-control-uptime:
            title: Neutron Control Uptime
            target:
              neutron-control-healthy-status:
                alias: "Healthy"
                rawQuery: true
                query: SELECT count(value) FROM cluster_status WHERE environment_label = '$environment' AND cluster_name = 'neutron-control' AND value = 0 AND $timeFilter
              neutron-control-degraded-unknwon-status:
                alias: "Degraded or Unknwon"
                rawQuery: true
                query: SELECT count(value) FROM cluster_status WHERE environment_label = '$environment' AND cluster_name = 'neutron-control' AND (value = 1 OR value = 2 OR value = 3) AND $timeFilter
              neutron-control-down-status:
                alias: "Down"
                rawQuery: true
                query: SELECT count(value) FROM cluster_status WHERE environment_label = '$environment' AND cluster_name = 'neutron-control' AND value = 4 AND $timeFilter
          neutron-data-uptime:
            title: Neutron Data Uptime
            target:
              neutron-data-healthy-status:
                alias: "Healthy"
                rawQuery: true
                query: SELECT count(value) FROM cluster_status WHERE environment_label = '$environment' AND cluster_name = 'neutron-data' AND value = 0 AND $timeFilter
              neutron-data-degraded-unknwon-status:
                alias: "Degraded or Unknwon"
                rawQuery: true
                query: SELECT count(value) FROM cluster_status WHERE environment_label = '$environment' AND cluster_name = 'neutron-data' AND (value = 1 OR value = 2 OR value = 3) AND $timeFilter
              neutron-data-down-status:
                alias: "Down"
                rawQuery: true
                query: SELECT count(value) FROM cluster_status WHERE environment_label = '$environment' AND cluster_name = 'neutron-data' AND value = 4 AND $timeFilter
          neutron-api-availability:
            title: Neutron API Availability
            target:
              neutron-api-up-status:
                alias: "Up"
                rawQuery: true
                query: SELECT count(value) FROM openstack_check_api WHERE environment_label = '$environment' AND service = 'neutron-api' AND value = 1 AND $timeFilter
              neutron-api-down-status:
                alias: "Down"
                rawQuery: true
                query: SELECT count(value) FROM openstack_check_api WHERE environment_label = '$environment' AND service = 'neutron-api' AND value = 0 AND $timeFilter
          neutron-api-requests:
            title: Neutron API Requests
            target:
              neutron-api-okay-status:
                alias: "Okay"
                rawQuery: true
                query: SELECT count(max) FROM openstack_neutron_http_response_times WHERE environment_label = '$environment' AND (http_status = '2xx' OR http_status = '3xx') AND $timeFilter
              neutron-api-error-status:
                alias: "Error"
                rawQuery: true
                query: SELECT count(max) FROM openstack_neutron_http_response_times WHERE environment_label = '$environment' AND http_status = '4xx' AND $timeFilter
              neutron-api-fatal-status:
                alias: "Fatal"
                rawQuery: true
                query: SELECT count(max) FROM openstack_neutron_http_response_times WHERE environment_label = '$environment' AND http_status = '5xx' AND $timeFilter
  main_influxdb:
    datasource: influxdb
    row:
      ost-control-plane:
        title: OpenStack Control Plane
        panel:
          neutron:
            title: Neutron
            links:
            - dashboard: Neutron
              title: Neutron
              type: dashboard
            target:
              cluster_status:
                rawQuery: true
                query: SELECT last(value) FROM cluster_status WHERE cluster_name = 'neutron-control' AND environment_label = '$environment' AND $timeFilter GROUP BY time($interval) fill(null)
{%- if pillar.neutron.get('server', {}).get('backend', {}).engine is defined and pillar.neutron.server.backend.engine == "ml2" %}
      ost-data-plane:
        title: OpenStack Data Plane
        panel:
          neutron:
            title: Neutron
            links:
            - dashboard: Neutron
              title: Neutron
              type: dashboard
            target:
              cluster_status:
                rawQuery: true
                query: SELECT last(value) FROM cluster_status WHERE cluster_name = 'neutron-data' AND environment_label = '$environment' AND $timeFilter GROUP BY time($interval) fill(null)
{%- endif %}
  main_prometheus:
    datasource: prometheus
    row:
      ost-control-plane:
        title: OpenStack Control Plane
        panel:
          neutron:
            title: Neutron
            links:
            - dashboard: Neutron
              title: Neutron
              type: dashboard
            target:
              cluster_status:
                expr: avg(openstack_api_check_status{service=~"neutron.*"})
{%- if pillar.neutron.get('server', {}).get('backend', {}).engine is defined and pillar.neutron.server.backend.engine == "ml2" %}
  neutron_influxdb:
    datasource: influxdb
    format: json
    template: neutron/files/grafana_dashboards/neutron_openvswitch_influxdb.json
{%- if pillar.get('fluentd', {}).get('agent', {}).get('enabled', False) %}
  neutron_prometheus:
    datasource: prometheus
    format: json
    template: neutron/files/grafana_dashboards/neutron_l2_prometheus_fluentd.json
{%- else %}
  neutron_prometheus:
    datasource: prometheus
    format: json
    template: neutron/files/grafana_dashboards/neutron_l2_prometheus.json
{%- endif %}
{%- elif pillar.neutron.server is defined %}
  neutron_influxdb:
    datasource: influxdb
    format: json
    template: neutron/files/grafana_dashboards/neutron_influxdb.json
{%- if pillar.get('fluentd', {}).get('agent', {}).get('enabled', False) %}
  neutron_prometheus:
    datasource: prometheus
    format: json
    template: neutron/files/grafana_dashboards/neutron_prometheus_fluentd.json
{%- else %}
  neutron_prometheus:
    datasource: prometheus
    format: json
    template: neutron/files/grafana_dashboards/neutron_prometheus.json
{%- endif %}
{%- endif %}
