diff --git a/.circleci/config.yml b/.circleci/config.yml
index 5b79bd1c693d59b8e1d9aeaab347257b8f55c8bd..d9115e8dd18575ef828f4f6e87013c1127d8e04f 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -34,13 +34,13 @@ jobs:
       - run: molecule test -s default --destroy always
       - run: |
          if [[ -d 'molecule/alternative' ]]; then
-           molecule test -s alternative --destroy never
+           molecule test -s alternative --destroy always
          else
            echo 'No alternative test'
          fi
       - run: |
          if [[ -z "${CIRCLE_PULL_REQUEST}" ]] && [[ -d 'molecule/latest' ]]; then
-           molecule test -s latest --destroy never
+           molecule test -s latest --destroy always
          else
            echo 'Not running latest on PR'
          fi
diff --git a/.github/labeler.yml b/.github/labeler.yml
index 9b49a1da949691e4478ae493271b96f7a22965be..a51caa91647af5233e606b68f77b2d3100bf1b1f 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -4,19 +4,19 @@ area/docs:
   - meta/*
   - CHANGELOG.md
   - CONTRIBUTING.md
+  - TROUBLESHOOTING.md
   - LICENSE
   - README.md
 area/tests:
   - molecule/*
   - molecule/**/*
   - .ansible-lint
+  - .yamllint
   - test-requirements.txt
-  - tox.ini
 area/automation:
-  - .travis/*
+  - .circleci/*
   - .github/*
   - .github/**/*
-  - .travis.yml
   - .mergify.yml
 area/vars:
   - defaults/*
diff --git a/.mergify.yml b/.mergify.yml
index 877a48257fd73a308ca36b55c5eb0ec367e6186d..b73910586a6efaaf249442758626ef194aae746b 100644
--- a/.mergify.yml
+++ b/.mergify.yml
@@ -10,3 +10,7 @@ pull_request_rules:
       merge:
         method: squash
         strict: true
+  - name: delete head branch after merge
+    conditions: []
+    actions:
+      delete_head_branch: {}
diff --git a/.yamllint b/.yamllint
index a003b96dfdb5a7f41ebf305dee80cc4dc2c151e4..8f2e1fa2cd6e180353c589325c8f25c50f97f302 100644
--- a/.yamllint
+++ b/.yamllint
@@ -1,8 +1,6 @@
 ---
 extends: default
 ignore: |
-  .travis/
-  .travis.yml
   .github/
   meta/
 
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 897372dd7df1485d498357ce5d277bf2a78be7b4..f922673f2e8cbc42eb43a10c7390cf4361422ca6 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -34,17 +34,17 @@ Some great guidelines can be found [here](https://wiki.openstack.org/wiki/GitCom
 ## Releases
 
 We try to stick to semantic versioning and our releases are automated. Release is created by assigning a keyword (in a
-way similar to travis [`[ci skip]`](https://docs.travis-ci.com/user/customizing-the-build#Skipping-a-build)) to a 
-commit with merge request. Available keywords are (square brackets are important!):
+way similar to circle ci keyword [`[ci skip]`](https://docs.travis-ci.com/user/customizing-the-build#Skipping-a-build))
+to a commit with merge request. Available keywords are (square brackets are important!):
  
-* `[patch]`, `[fix]` - for PATCH version release
+* `[patch]`, `[fix]`, `[bugfix]` - for PATCH version release
 * `[minor]`, `[feature]`, `[feat]` - for MINOR version release
 * `[major]`, `[breaking change]` - for MAJOR version release
  
 ## Changelog
  
-Changelog is generateg automatically on every merged Pull Request and all information is taken from github issues, PRs
-and labels.
+Changelog is generated automatically during release process and all information is taken from github issues, PRs and
+labels.
 
 ## Expectations
 
@@ -78,8 +78,9 @@ More information about:
 Please follow [ansible best practices](http://docs.ansible.com/ansible/latest/playbooks_best_practices.html) and
 especially provide meaningful names to tasks and even comments where needed.
 
-Our test framework automatically lints code with [`yamllint`](https://yamllint.readthedocs.io) and
-[`ansible-lint`](https://github.com/willthames/ansible-lint) programs so be sure to follow their rules.
+Our test framework automatically lints code with [`yamllint`](https://github.com/adrienverge/yamllint),
+[`ansible-lint`](https://github.com/willthames/ansible-lint), and [`flake8`](https://gitlab.com/pycqa/flake8) programs
+so be sure to follow their rules.
 
 Remember: Code is generally read much more often than written.
 
@@ -92,6 +93,6 @@ Wherever possible, please refrain from any other formats and stick to simple mar
 We are trying to create the best and most secure installation method for non-containerized prometheus stack components.
 To accomplish this all roles need to support:
 
-- current and at least one previous ansible version (wherever possible we try to support 2 previous ansible versions)
+- current and at least one previous ansible version
 - systemd as the only available process manager
 - at least latest debian and CentOS distributions
diff --git a/README.md b/README.md
index 6605e84608b2e0ec998c88a2ac69aebd76e5c0fd..86de306d54b5077bfa4fa074186ab9437f6da6c2 100644
--- a/README.md
+++ b/README.md
@@ -17,7 +17,7 @@ Deploy prometheus [node exporter](https://github.com/prometheus/node_exporter) u
 
 ## Requirements
 
-- Ansible >= 2.9 (It might work on previous versions, but we cannot guarantee it)
+- Ansible >= 2.7 (It might work on previous versions, but we cannot guarantee it)
 - gnu-tar on Mac deployer host (`brew install gnu-tar`)
 - Passlib is required when using the basic authentication feature (`pip install passlib[bcrypt]`)
 
@@ -85,26 +85,11 @@ We provide demo site for full monitoring solution based on prometheus and grafan
 
 ## Local Testing
 
-The preferred way of locally testing the role is to use Docker and [molecule](https://github.com/metacloud/molecule) (v2.x). You will have to install Docker on your system. See "Get started" for a Docker package suitable for your system.
-We are using tox to simplify the process of testing on multiple ansible versions. To install tox execute:
-```sh
-pip3 install tox
-```
-To run tests on all ansible versions (WARNING: this can take some time)
-```sh
-tox
-```
-To run a custom molecule command on a custom environment with only default test scenario:
-```sh
-tox -e py35-ansible28 -- molecule test -s default
-```
-For more information about molecule go to their [docs](http://molecule.readthedocs.io/en/latest/).
-
-If you would like to run tests on a remote docker host just specify `DOCKER_HOST` variable before running tox tests.
+The preferred way of locally testing the role is to use Docker and [molecule](https://github.com/ansible-community/molecule) (v3.x). You will have to install Docker on your system. See "Get started" for a Docker package suitable to for your system. Running your tests is as simple as executing `molecule test`.
 
-## Travis CI
+## Continuous Intergation
 
-Combining molecule and travis CI allows us to test how new PRs will behave when used with multiple ansible versions and multiple operating systems. This also allows creating test scenarios for different role configurations. As a result, we have a quite large test matrix which will take more time than local testing, so please be patient.
+Combining molecule and circle CI allows us to test how new PRs will behave when used with multiple ansible versions and multiple operating systems. This also allows use to create test scenarios for different role configurations. As a result we have a quite large test matrix which can take more time than local testing, so please be patient.
 
 ## Contributing
 
diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml
index 8937ee83c77234285345b8a8e48b818c952367eb..c03bcf2a4db3d68b510a193c527b3a93b7afc997 100644
--- a/molecule/default/molecule.yml
+++ b/molecule/default/molecule.yml
@@ -3,11 +3,6 @@ dependency:
   name: galaxy
 driver:
   name: docker
-# lint: |
-#   set -e
-#   yamllint .
-#   ansible-lint
-#   flake8
 platforms:
   - name: bionic
     pre_build_image: true