Merge "Optimize kitchen tests for Travis CI"
diff --git a/README.rst b/README.rst
index da53030..c0d1b46 100644
--- a/README.rst
+++ b/README.rst
@@ -54,19 +54,19 @@
           connect: 5000
           client: 50000
           server: 50000
-        listens:
-        - name: https-in
-          bind:
-            address: 0.0.0.0
-            port: 443
-          servers:
-          - name: server1
-            host: 10.0.0.1
-            port: 8443
-          - name: server2
-            host: 10.0.0.2
-            port: 8443
-            params: 'maxconn 256'
+        listen:
+          https-in:
+            binds:
+            - address: 0.0.0.0
+              port: 443
+            servers:
+            - name: server1
+              host: 10.0.0.1
+              port: 8443
+            - name: server2
+              host: 10.0.0.2
+              port: 8443
+              params: 'maxconn 256'
 
 
 Sample pillar with custom logging
@@ -83,19 +83,19 @@
           connect: 5000
           client: 50000
           server: 50000
-        listens:
-        - name: https-in
-          bind:
-            address: 0.0.0.0
-            port: 443
-          servers:
-          - name: server1
-            host: 10.0.0.1
-            port: 8443
-          - name: server2
-            host: 10.0.0.2
-            port: 8443
-            params: 'maxconn 256'
+        listen:
+          https-in:
+            binds:
+              address: 0.0.0.0
+              port: 443
+            servers:
+            - name: server1
+              host: 10.0.0.1
+              port: 8443
+            - name: server2
+              host: 10.0.0.2
+              port: 8443
+              params: 'maxconn 256'
 
 .. code-block:: yaml
 
@@ -105,53 +105,53 @@
           mode: tcp
           logging: syslog
           max_connections: 1024
-          listens:
-          - name: mysql
-            type: mysql
-            binds:
-            - address: 10.0.88.70
-              port: 3306
-            servers:
-            - name: node1
-              host: 10.0.88.13
-              port: 3306
-              params: check inter 15s fastinter 2s downinter 1s rise 5 fall 3
-            - name: node2
-              host: 10.0.88.14
-              port: 3306
-              params: check inter 15s fastinter 2s downinter 1s rise 5 fall 3 backup
-            - name: node3
-              host: 10.0.88.15
-              port: 3306
-              params: check inter 15s fastinter 2s downinter 1s rise 5 fall 3 backup
-          - name: rabbitmq
-            type: rabbitmq
-            binds:
-            - address: 10.0.88.70
-              port: 5672
-            servers:
-            - name: node1
-              host: 10.0.88.13
-              port: 5673
-              params: check inter 5000 rise 2 fall 3
-            - name: node2
-              host: 10.0.88.14
-              port: 5673
-              params: check inter 5000 rise 2 fall 3 backup
-            - name: node3
-              host: 10.0.88.15
-              port: 5673
-              params: check inter 5000 rise 2 fall 3 backup
-          -name: keystone-1
-           type: general-service
-           bins:
-           - address: 10.0.106.170
-             port: 5000
-           servers:
-           -name: node1
-            host: 10.0.88.13
-            port: 5000
-            params: check
+          listen:
+            mysql:
+              type: mysql
+              binds:
+              - address: 10.0.88.70
+                port: 3306
+              servers:
+              - name: node1
+                host: 10.0.88.13
+                port: 3306
+                params: check inter 15s fastinter 2s downinter 1s rise 5 fall 3
+              - name: node2
+                host: 10.0.88.14
+                port: 3306
+                params: check inter 15s fastinter 2s downinter 1s rise 5 fall 3 backup
+              - name: node3
+                host: 10.0.88.15
+                port: 3306
+                params: check inter 15s fastinter 2s downinter 1s rise 5 fall 3 backup
+            rabbitmq:
+              type: rabbitmq
+              binds:
+              - address: 10.0.88.70
+                port: 5672
+              servers:
+              - name: node1
+                host: 10.0.88.13
+                port: 5673
+                params: check inter 5000 rise 2 fall 3
+              - name: node2
+                host: 10.0.88.14
+                port: 5673
+                params: check inter 5000 rise 2 fall 3 backup
+              - name: node3
+                host: 10.0.88.15
+                port: 5673
+                params: check inter 5000 rise 2 fall 3 backup
+            keystone-1:
+              type: general-service
+              binds:
+              - address: 10.0.106.170
+                port: 5000
+              servers:
+              - name: node1
+                host: 10.0.88.13
+                port: 5000
+                params: check
 
 .. code-block:: yaml
 
@@ -161,53 +161,53 @@
           mode: tcp
           logging: syslog
           max_connections: 1024
-          listens:
-          - name: mysql
-            type: mysql
-            binds:
-            - address: 10.0.88.70
-              port: 3306
-            servers:
-            - name: node1
-              host: 10.0.88.13
-              port: 3306
-              params: check inter 15s fastinter 2s downinter 1s rise 5 fall 3
-            - name: node2
-              host: 10.0.88.14
-              port: 3306
-              params: check inter 15s fastinter 2s downinter 1s rise 5 fall 3 backup
-            - name: node3
-              host: 10.0.88.15
-              port: 3306
-              params: check inter 15s fastinter 2s downinter 1s rise 5 fall 3 backup
-          - name: rabbitmq
-            type: rabbitmq
-            binds:
-            - address: 10.0.88.70
-              port: 5672
-            servers:
-            - name: node1
-              host: 10.0.88.13
-              port: 5673
-              params: check inter 5000 rise 2 fall 3
-            - name: node2
-              host: 10.0.88.14
-              port: 5673
-              params: check inter 5000 rise 2 fall 3 backup
-            - name: node3
-              host: 10.0.88.15
-              port: 5673
-              params: check inter 5000 rise 2 fall 3 backup
-          -name: keystone-1
-           type: general-service
-           bins:
-           - address: 10.0.106.170
-             port: 5000
-           servers:
-           -name: node1
-            host: 10.0.88.13
-            port: 5000
-            params: check
+          listen:
+            mysql:
+              type: mysql
+              binds:
+              - address: 10.0.88.70
+                port: 3306
+              servers:
+              - name: node1
+                host: 10.0.88.13
+                port: 3306
+                params: check inter 15s fastinter 2s downinter 1s rise 5 fall 3
+              - name: node2
+                host: 10.0.88.14
+                port: 3306
+                params: check inter 15s fastinter 2s downinter 1s rise 5 fall 3 backup
+              - name: node3
+                host: 10.0.88.15
+                port: 3306
+                params: check inter 15s fastinter 2s downinter 1s rise 5 fall 3 backup
+            rabbitmq:
+              type: rabbitmq
+              binds:
+              - address: 10.0.88.70
+                port: 5672
+              servers:
+              - name: node1
+                host: 10.0.88.13
+                port: 5673
+                params: check inter 5000 rise 2 fall 3
+              - name: node2
+                host: 10.0.88.14
+                port: 5673
+                params: check inter 5000 rise 2 fall 3 backup
+              - name: node3
+                host: 10.0.88.15
+                port: 5673
+                params: check inter 5000 rise 2 fall 3 backup
+            keystone-1:
+              type: general-service
+              binds:
+              - address: 10.0.106.170
+                port: 5000
+              servers:
+              - name: node1
+                host: 10.0.88.13
+                port: 5000
+                params: check
 
 Custom more complex listener (for Artifactory and subdomains for docker
 registries)
diff --git a/haproxy/meta/fluentd.yml b/haproxy/meta/fluentd.yml
new file mode 100644
index 0000000..a5e1c95
--- /dev/null
+++ b/haproxy/meta/fluentd.yml
@@ -0,0 +1,36 @@
+{%- if pillar.get('fluentd', {}).get('agent', {}).get('enabled', False) %}
+agent:
+  config:
+    label:
+      haproxy:
+        input:
+          tail_haproxy:
+            type: tail
+            tag: haproxy.general
+            path: /var/log/haproxy.log
+            pos_file: {{ pillar.fluentd.agent.dir.positiondb }}/haproxy.pos
+            parser:
+              type: regexp
+              time_key: time
+              time_format: '%FT%H:%M:%S.%L%z'
+              keep_time_key: false
+              format: '/^\<(?<priority>[0-9]+)\>(?<time>[^ ]*) (?<host>[^ ]*) haproxy\[(?<pid>[0-9]+)\]?: *(?<Payload>.*)$/'
+        filter:
+          match_severity:
+            type: record_transformer
+            tag: haproxy.**
+            enable_ruby: true
+            remove_keys: priority
+            record:
+              - name: programname
+                value: haproxy
+              - name: Severity
+                value: "${ record['priority'].to_i % 8 }"
+              - name: severity_label
+                value: "${ {'DEBUG'=>7,'INFO'=>6,'NOTICE'=>5,'WARNING'=>4,'ERROR'=>3,'CRITICAL'=>2,'ALERT'=>1}.key(record['priority'].to_i % 8) }"
+        match:
+          push_to_default:
+            tag: haproxy.**
+            type: relabel
+            label: default_output
+{%- endif %}
diff --git a/metadata/service/support.yml b/metadata/service/support.yml
index 50c8d01..767cc82 100644
--- a/metadata/service/support.yml
+++ b/metadata/service/support.yml
@@ -15,3 +15,5 @@
         enabled: true
       prometheus:
         enabled: true
+      fluentd:
+        enabled: true
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
index c2f7f77..3e3cf91 100755
--- a/tests/run_tests.sh
+++ b/tests/run_tests.sh
@@ -124,7 +124,7 @@
 }
 
 salt_run() {
-    [ -e ${VEN_DIR}/bin/activate ] && source ${VENV_DIR}/bin/activate
+    [ -e ${VENV_DIR}/bin/activate ] && source ${VENV_DIR}/bin/activate
     salt-call ${SALT_OPTS} $*
 }