Merge "Check if the test flag is set"
diff --git a/README.rst b/README.rst
index 1c3be16..25eb136 100644
--- a/README.rst
+++ b/README.rst
@@ -1796,6 +1796,20 @@
       ....
 
 
+Defining default_availability_zones:
+------------------------------------
+
+Control node:
+
+.. code-block:: yaml
+
+    neutron:
+      ....
+      server:
+        default_availability_zones: 'custom_az1, custom_az2'
+      ....
+
+
 Set nova_metadata_protocol for Neutron
 ---------------------------------------
 
diff --git a/neutron/files/grafana_dashboards/neutron_openvswitch_prometheus.json b/neutron/files/grafana_dashboards/neutron_l2_prometheus.json
similarity index 99%
rename from neutron/files/grafana_dashboards/neutron_openvswitch_prometheus.json
rename to neutron/files/grafana_dashboards/neutron_l2_prometheus.json
index 9c4c498..b755753 100755
--- a/neutron/files/grafana_dashboards/neutron_openvswitch_prometheus.json
+++ b/neutron/files/grafana_dashboards/neutron_l2_prometheus.json
@@ -736,7 +736,7 @@
           "tableColumn": "",
           "targets": [
             {
-              "expr": "openstack_neutron_agents{service=\"neutron-openvswitch-agent\",state=\"up\"}",
+              "expr": "openstack_neutron_agents{service=\"neutron-openvswitch-agent|neutron-linuxbridge-agent\",state=\"up\"}",
               "format": "time_series",
               "intervalFactor": 2,
               "refId": "A",
@@ -744,7 +744,7 @@
             }
           ],
           "thresholds": "",
-          "title": "OpenvSwitch",
+          "title": "L2",
           "type": "singlestat",
           "valueFontSize": "80%",
           "valueMaps": [
@@ -1063,7 +1063,7 @@
           "tableColumn": "",
           "targets": [
             {
-              "expr": "openstack_neutron_agents{service=\"neutron-openvswitch-agent\",state=\"disabled\"}",
+              "expr": "openstack_neutron_agents{service=\"neutron-openvswitch-agent|neutron-linuxbridge-agent\",state=\"disabled\"}",
               "format": "time_series",
               "intervalFactor": 2,
               "refId": "A",
@@ -1071,7 +1071,7 @@
             }
           ],
           "thresholds": "",
-          "title": "OpenvSwitch",
+          "title": "L2",
           "type": "singlestat",
           "valueFontSize": "80%",
           "valueMaps": [
@@ -1390,7 +1390,7 @@
           "tableColumn": "",
           "targets": [
             {
-              "expr": "openstack_neutron_agents{service=\"neutron-openvswitch-agent\",state=\"down\"}",
+              "expr": "openstack_neutron_agents{service=\"neutron-openvswitch-agent|neutron-linuxbridge-agent\",state=\"down\"}",
               "format": "time_series",
               "intervalFactor": 2,
               "refId": "A",
@@ -1398,7 +1398,7 @@
             }
           ],
           "thresholds": "",
-          "title": "OpenvSwitch",
+          "title": "L2",
           "type": "singlestat",
           "valueFontSize": "80%",
           "valueMaps": [
diff --git a/neutron/files/grafana_dashboards/neutron_openvswitch_prometheus_fluentd.json b/neutron/files/grafana_dashboards/neutron_l2_prometheus_fluentd.json
similarity index 98%
rename from neutron/files/grafana_dashboards/neutron_openvswitch_prometheus_fluentd.json
rename to neutron/files/grafana_dashboards/neutron_l2_prometheus_fluentd.json
index 5c0dc64..7e11d51 100755
--- a/neutron/files/grafana_dashboards/neutron_openvswitch_prometheus_fluentd.json
+++ b/neutron/files/grafana_dashboards/neutron_l2_prometheus_fluentd.json
@@ -1193,28 +1193,28 @@
       "steppedLine": false,
       "targets": [
         {
-          "expr": "max(count(openstack_neutron_agent_state{binary=\"neutron-openvswitch-agent\"} == 1 and openstack_neutron_agent_status{binary=\"neutron-openvswitch-agent\"} == 1) by (instance))",
+          "expr": "max(count(openstack_neutron_agent_state{binary=\"neutron-openvswitch-agent|neutron-linuxbridge-agent\"} == 1 and openstack_neutron_agent_status{binary=\"neutron-openvswitch-agent|neutron-linuxbridge-agent\"} == 1) by (instance))",
           "format": "time_series",
           "intervalFactor": 2,
           "legendFormat": "enabled/up",
           "refId": "A"
         },
         {
-          "expr": "max(count(openstack_neutron_agent_state{binary=\"neutron-openvswitch-agent\"} == 1 and openstack_neutron_agent_status{binary=\"neutron-openvswitch-agent\"} == 0) by (instance))",
+          "expr": "max(count(openstack_neutron_agent_state{binary=\"neutron-openvswitch-agent|neutron-linuxbridge-agent\"} == 1 and openstack_neutron_agent_status{binary=\"neutron-openvswitch-agent|neutron-linuxbridge-agent\"} == 0) by (instance))",
           "format": "time_series",
           "intervalFactor": 2,
           "legendFormat": "enabled/down",
           "refId": "B"
         },
         {
-          "expr": "max(count(openstack_neutron_agent_state{binary=\"neutron-openvswitch-agent\"} == 0 and openstack_neutron_agent_status{binary=\"neutron-openvswitch-agent\"} == 1) by (instance))",
+          "expr": "max(count(openstack_neutron_agent_state{binary=\"neutron-openvswitch-agent|neutron-linuxbridge-agent\"} == 0 and openstack_neutron_agent_status{binary=\"neutron-openvswitch-agent|neutron-linuxbridge-agent\"} == 1) by (instance))",
           "format": "time_series",
           "intervalFactor": 2,
           "legendFormat": "disabled/up",
           "refId": "C"
         },
         {
-          "expr": "max(count(openstack_neutron_agent_state{binary=\"neutron-openvswitch-agent\"} == 0 and openstack_neutron_agent_status{binary=\"neutron-openvswitch-agent\"} == 0) by (instance))",
+          "expr": "max(count(openstack_neutron_agent_state{binary=\"neutron-openvswitch-agent|neutron-linuxbridge-agent\"} == 0 and openstack_neutron_agent_status{binary=\"neutron-openvswitch-agent|neutron-linuxbridge-agent\"} == 0) by (instance))",
           "format": "time_series",
           "intervalFactor": 2,
           "legendFormat": "disabled/down",
@@ -1224,7 +1224,7 @@
       "thresholds": [],
       "timeFrom": null,
       "timeShift": null,
-      "title": "Neutron OpenvSwitch Agent",
+      "title": "Neutron L2 Agent",
       "tooltip": {
         "shared": true,
         "sort": 0,
diff --git a/neutron/files/pike/neutron-server.conf b/neutron/files/pike/neutron-server.conf
index 5195503..06c47cb 100644
--- a/neutron/files/pike/neutron-server.conf
+++ b/neutron/files/pike/neutron-server.conf
@@ -113,6 +113,9 @@
 # resource is empty, availability zone is considered for high availability
 # while scheduling the resource. (list value)
 #default_availability_zones =
+{%- if server.default_availability_zones is defined %}
+default_availability_zones = {{ server.default_availability_zones }}
+{%- endif %}
 
 # Maximum number of DNS nameservers per subnet (integer value)
 #max_dns_nameservers = 5
diff --git a/neutron/files/queens/neutron-server.conf b/neutron/files/queens/neutron-server.conf
index d85cea0..0f24cd5 100644
--- a/neutron/files/queens/neutron-server.conf
+++ b/neutron/files/queens/neutron-server.conf
@@ -99,7 +99,9 @@
 # resource is empty, availability zone is considered for high availability
 # while scheduling the resource. (list value)
 #default_availability_zones =
-default_availability_zones = {{ server.availability_zone|default('nova') }}
+{%- if server.default_availability_zones is defined %}
+default_availability_zones = {{ server.default_availability_zones }}
+{%- endif %}
 
 # Maximum number of DNS nameservers per subnet (integer value)
 #max_dns_nameservers = 5
diff --git a/neutron/meta/grafana.yml b/neutron/meta/grafana.yml
index 6d8278e..2a1e380 100644
--- a/neutron/meta/grafana.yml
+++ b/neutron/meta/grafana.yml
@@ -116,12 +116,12 @@
   neutron_prometheus:
     datasource: prometheus
     format: json
-    template: neutron/files/grafana_dashboards/neutron_openvswitch_prometheus_fluentd.json
+    template: neutron/files/grafana_dashboards/neutron_l2_prometheus_fluentd.json
 {%- else %}
   neutron_prometheus:
     datasource: prometheus
     format: json
-    template: neutron/files/grafana_dashboards/neutron_openvswitch_prometheus.json
+    template: neutron/files/grafana_dashboards/neutron_l2_prometheus.json
 {%- endif %}
 {%- elif pillar.neutron.server is defined %}
   neutron_influxdb: