diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 13dbdf1997b4d7115d467b019b31712b08540e26..6267f4aff7cbc582045c6b1deb2d7998ace5ccfe 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,5 +1,5 @@
 -   repo: https://github.com/pre-commit/pre-commit-hooks
-    sha: v0.7.1
+    sha: v0.9.3
     hooks:
     -   id: check-added-large-files
     -   id: check-json
@@ -9,11 +9,11 @@
     -   id: flake8
     -   id: check-symlinks
 -   repo: https://github.com/adarnimrod/ansible-pre-commit.git
-    sha: v0.6.0
+    sha: v0.7.0
     hooks:
     -   id: ansible-syntax-check
 -   repo: https://github.com/willthames/ansible-lint
-    sha: v3.4.13
+    sha: v3.4.15
     hooks:
     -   id: ansible-lint
         files: tests/playbook.yml
diff --git a/.travis.yml b/.travis.yml
index 294486a7ff22af0c429b27ead68efa72f2bb3c2c..64702735a3d5f51395a878d04b6b67318f623843 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -22,6 +22,7 @@ cache:
   - pip
   - directories:
       - $HOME/.pre-commit
+      - $HOME/.vagrant.d/boxes
 
 install:
   - sudo apt-get update
diff --git a/docker-test/Dockerfile b/docker-test/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..f24aad935d20ca972b7136b821d7000343a711f1
--- /dev/null
+++ b/docker-test/Dockerfile
@@ -0,0 +1,3 @@
+FROM ubuntu:trusty
+RUN apt-get update; apt-get install -y python-pip python-dev libssl-dev libffi-dev build-essential
+RUN pip install --upgrade pip urllib3[secure] ndg-httpsclient pyasn1 pyopenssl
diff --git a/docker-test/docker-test.bats b/docker-test/docker-test.bats
new file mode 100644
index 0000000000000000000000000000000000000000..a21e35db207f86400e472b2f96b2bb9bfcc75275
--- /dev/null
+++ b/docker-test/docker-test.bats
@@ -0,0 +1,15 @@
+#!/usr/bin/env bats
+
+setup () {
+    docker build -t python27_tls_test ./
+}
+
+@test 'test sni' {
+    run docker run --entrypoint /bin/sh python27_tls_test -c "pip install nonexistant-package"
+    ! ( echo "$output" | grep -qi warning )
+}
+
+#@test 'test tls 1.2' {
+#    run docker run --entrypoint /usr/bin/python2 python27_tls_test -c "import urllib2, json; print(json.loads(urllib2.urlopen(urllib2.Request('https://www.howsmyssl.com/a/check')).read())['tls_version'])"
+#    echo "$output" | grep -qi 'TLS 1\.2'
+#}
diff --git a/meta/main.yml b/meta/main.yml
index eb80f0d5e7f4119b362be77603450a6d6222b6ca..d3a00bc7e7028c045a7b4458d560cb0a262e5000 100644
--- a/meta/main.yml
+++ b/meta/main.yml
@@ -7,11 +7,11 @@ galaxy_info:
   platforms:
   - name: OpenBSD
     versions:
-    - 5.6
-    - 5.7
-    - 5.8
-    - 5.9
-    - 6.0
+    - '5.6'
+    - '5.7'
+    - '5.8'
+    - '5.9'
+    - '6.0'
   - name: Ubuntu
     versions:
     - xenial
diff --git a/tasks/main.yml b/tasks/main.yml
index 2868fa68f991af25e589dba32cc781f0d9397a6c..7f7e890996d619580e3e2f0ee8d7cd228968f6d3 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -1,11 +1,17 @@
 ---
 # tasks file for python27
 
+- name: Load meta vars
+  include_vars:
+      file: meta/main.yml
+      name: meta
+
 - name: Assertions
   assert:
     that:
-        - ansible_os_family in ['OpenBSD', 'Debian']
-        - ansible_distribution_release in ['xenial', 'trusty', 'precise', 'stretch', 'jessie', 'wheezy'] or ansible_distribution_version in ['6.0']
+        - ansible_distribution in meta.galaxy_info.platforms|map(attribute='name')
+        - |
+            (meta.galaxy_info.platforms|selectattr('name', 'equalto', ansible_distribution)|first).versions|intersect([ansible_distribution_release, ansible_distribution_version])|length > 0
         - python27_packages is iterable
 
 - name: APT install
diff --git a/tests/requirements.txt b/tests/requirements.txt
index d926e184daf74411839e4da335752ce756f84e23..1361b26d44a90352ec0160b571983c12ea0de190 100644
--- a/tests/requirements.txt
+++ b/tests/requirements.txt
@@ -1,7 +1,7 @@
-ansible==2.3.1.0
-testinfra==1.6.3
-molecule==1.25.0
-ansible-lint==3.4.13
+ansible==2.3.2.0
+testinfra==1.7.0
+molecule<2
+ansible-lint==3.4.15
 python-vagrant==0.5.15
 netaddr==0.7.19
 passlib==1.7.1
diff --git a/tests/requirements.yml b/tests/requirements.yml
index fccce7574df98d466c55a309273c4060174e8cb0..7e87c80fa4734d9384fe9e11aba2411a05cde486 100644
--- a/tests/requirements.yml
+++ b/tests/requirements.yml
@@ -5,3 +5,5 @@
   name: debian-bootstrap
 - src: adarnimrod.users
   name: users
+- src: adarnimrod.python27
+  name: python27
diff --git a/tox.ini b/tox.ini
index f3fbc64ce1991cd74a1ff7ef71c1783f5423456d..0959dbc7f1d9c4994daf5d91b22d2ba5b1c126a1 100644
--- a/tox.ini
+++ b/tox.ini
@@ -15,17 +15,17 @@ commands =
 
 [testenv:pre-commit]
 deps =
-    -rtests/requirements.txt
+    {[testenv]deps}
     pre-commit
-passenv = HOME VBOX* ANSIBLE_*
-whitelist_externals =
-    sh
+passenv = {[testenv]passenv}
+whitelist_externals = {[testenv]whitelist_externals}
 commands =
     sh -c "ansible-galaxy install git+file://$(pwd),$(git rev-parse --abbrev-ref HEAD) -p .molecule/roles"
     molecule dependency
     pre-commit run --all-files
 
 [testenv:import]
-envdir = {toxinidir}/.tox/molecule
-deps = -rtests/requirements.txt
+envdir = {[testenv]envdir}
+deps = {[testenv]deps}
+passenv = {[testenv]passenv}
 commands = ansible-galaxy import -v