Merge "Adjust server configs"
diff --git a/.travis.yml b/.travis.yml
index 7a77247..3925301 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -17,15 +17,35 @@
   - bundle install
 
 env:
-    - PLATFORM=trevorj/salty-whales:trusty
-    - PLATFORM=trevorj/salty-whales:xenial
+    - PLATFORM=trevorj/salty-whales:trusty SUITE=compute_dpdk
+    - PLATFORM=trevorj/salty-whales:xenial SUITE=compute_dpdk
+    - PLATFORM=trevorj/salty-whales:trusty SUITE=compute_dvr
+    - PLATFORM=trevorj/salty-whales:xenial SUITE=compute_dvr
+    - PLATFORM=trevorj/salty-whales:trusty SUITE=compute_legacy
+    - PLATFORM=trevorj/salty-whales:xenial SUITE=compute_legacy
+    - PLATFORM=trevorj/salty-whales:trusty SUITE=compute_nonexternal_dvr
+    - PLATFORM=trevorj/salty-whales:xenial SUITE=compute_nonexternal_dvr
+    - PLATFORM=trevorj/salty-whales:trusty SUITE=compute_sriov
+    - PLATFORM=trevorj/salty-whales:xenial SUITE=compute_sriov
+    - PLATFORM=trevorj/salty-whales:trusty SUITE=control_cluster
+    - PLATFORM=trevorj/salty-whales:xenial SUITE=control_cluster
+    - PLATFORM=trevorj/salty-whales:trusty SUITE=control_dvr
+    - PLATFORM=trevorj/salty-whales:xenial SUITE=control_dvr
+    - PLATFORM=trevorj/salty-whales:trusty SUITE=control_nodvr
+    - PLATFORM=trevorj/salty-whales:xenial SUITE=control_nodvr
+    - PLATFORM=trevorj/salty-whales:trusty SUITE=control_single
+    - PLATFORM=trevorj/salty-whales:xenial SUITE=control_single
+    - PLATFORM=trevorj/salty-whales:trusty SUITE=gateway_dvr
+    - PLATFORM=trevorj/salty-whales:xenial SUITE=gateway_dvr
+    - PLATFORM=trevorj/salty-whales:trusty SUITE=gateway_legacy
+    - PLATFORM=trevorj/salty-whales:xenial SUITE=gateway_legacy
 
 before_script:
   - set -o pipefail
   - make test | tail
 
 script:
-  - test ! -e .kitchen.yml || bundle exec kitchen test -t tests/integration
+  - KITCHEN_LOCAL_YAML=.kitchen.travis.yml bundle exec kitchen test -t tests/integration
 
 notifications:
   webhooks:
diff --git a/neutron/files/mitaka/neutron-server.conf.Debian b/neutron/files/mitaka/neutron-server.conf.Debian
index 24886b1..c75d6a3 100644
--- a/neutron/files/mitaka/neutron-server.conf.Debian
+++ b/neutron/files/mitaka/neutron-server.conf.Debian
@@ -217,6 +217,7 @@
 
 # Number of RPC worker processes for service (integer value)
 #rpc_workers = 1
+rpc_workers = {{ grains.num_cpus }}
 
 # Number of RPC worker processes dedicated to state reports queue (integer
 # value)
diff --git a/neutron/files/newton/neutron-server.conf.Debian b/neutron/files/newton/neutron-server.conf.Debian
index 58f4d9a..2aacbe3 100644
--- a/neutron/files/newton/neutron-server.conf.Debian
+++ b/neutron/files/newton/neutron-server.conf.Debian
@@ -217,6 +217,7 @@
 
 # Number of RPC worker processes for service (integer value)
 #rpc_workers = 1
+rpc_workers = {{ grains.num_cpus }}
 
 # Number of RPC worker processes dedicated to state reports queue (integer
 # value)
diff --git a/neutron/files/ocata/neutron-server.conf.Debian b/neutron/files/ocata/neutron-server.conf.Debian
index 8f54fc4..229d342 100644
--- a/neutron/files/ocata/neutron-server.conf.Debian
+++ b/neutron/files/ocata/neutron-server.conf.Debian
@@ -179,6 +179,7 @@
 
 # Number of RPC worker processes for service. (integer value)
 #rpc_workers = 1
+rpc_workers = {{ grains.num_cpus }}
 
 # Number of RPC worker processes dedicated to state reports queue. (integer
 # value)
diff --git a/neutron/map.jinja b/neutron/map.jinja
index f670fb0..1dd5f2a 100644
--- a/neutron/map.jinja
+++ b/neutron/map.jinja
@@ -65,6 +65,12 @@
     },
 }, merge=pillar.neutron.get('client', {})) %}
 
+{% set monitoring = salt['grains.filter_by']({
+    'default': {
+        'error_log_rate': 0.2,
+    },
+}, grain='os_family', merge=salt['pillar.get']('neutron:monitoring')) %}
+
 {%- if pillar.neutron.server is defined %}
 
 {%- set tmp_server = pillar.neutron.server %}
diff --git a/neutron/meta/prometheus.yml b/neutron/meta/prometheus.yml
index 2f0b198..9f747cb 100644
--- a/neutron/meta/prometheus.yml
+++ b/neutron/meta/prometheus.yml
@@ -1,4 +1,4 @@
-{%- from "neutron/map.jinja" import server with context %}
+{%- from "neutron/map.jinja" import server, monitoring with context %}
 
 {%- if server.get('enabled', False) %}
 {%- raw %}
@@ -53,7 +53,7 @@
             All '{{ $labels.service}}' agents are down for 2 minutes
     NeutronErrorLogsTooHigh:
 {%- endraw %}
-      {%- set log_threshold = prometheus_server.get('alert', {}).get('NeutronErrorLogsTooHigh', {}).get('var', {}).get('threshold', 0.2 ) %}
+      {%- set log_threshold = monitoring.error_log_rate|float %}
       if: >-
         sum(rate(log_messages{service="neutron",level=~"error|emergency|fatal"}[5m])) without (level) > {{ log_threshold }}
 {%- raw %}