Add generic tox job (multiple playbooks)

Here we now support 3 tox jobs; cover, linters and py27.

As you can see by looking at the code, we are not defining any
variables (vars) in .zuul.yaml. This means, we create 3 separate
playbooks (tox-cover.yaml, tox-py27, tox-linters.yaml) which then
contain the variables we need for our tox role.

Change-Id: I42f8855f44da51cb3d23f1825bd3258937543b2f
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
diff --git a/playbooks/tox-post.yaml b/playbooks/tox-post.yaml
new file mode 100644
index 0000000..786a984
--- /dev/null
+++ b/playbooks/tox-post.yaml
@@ -0,0 +1,17 @@
+- hosts: all
+  tasks:
+    - name: Find tox directories to synchrionize.
+      find:
+        file_type: directory
+        paths: "/home/zuul/workspace/src/{{ zuul.project }}/.tox"
+        # NOTE(pabelanger): The .tox/log folder is empty, ignore it.
+        patterns: ^(?!log).*$
+        use_regex: yes
+      register: result
+
+    - name: Collect tox logs.
+      synchronize:
+        dest: "{{ zuul.launcher.log_root }}/tox"
+        mode: pull
+        src: "{{ item.path }}/log/"
+      with_items: "{{ result.files }}"