attempt to get to flake8/hacking plugins

this is the infrastructure changes, plus 1 fix, to get us towards
flake8 and hacking plugins.

We need to remove an exit call in __init__ for config to get this
to pass. I think long term this gets addressed by config becoming
a test resource, but it will take some time at summit to figure
that out.

Change-Id: Iedd7931e85da5518cb2a8d58717e37b805267d2c
diff --git a/tools/check_source.sh b/tools/check_source.sh
index 089ad70..2d66ba5 100755
--- a/tools/check_source.sh
+++ b/tools/check_source.sh
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 
-python tools/hacking.py --ignore=E122,E125,E126 --repeat --show-source --exclude=.venv,.tox,dist,doc,openstack,*egg .
+flake8 --ignore=E122,E125,E126,H302,H304,H404,F --show-source --exclude=.git,.venv,.tox,dist,doc,openstack,*egg .
 pep8_ret=$?
 
 pyflakes tempest stress setup.py tools cli bin | grep "imported but unused"