diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
new file mode 100644
index 0000000..577d123
--- /dev/null
+++ b/CONTRIBUTING.rst
@@ -0,0 +1,16 @@
+If you would like to contribute to the development of OpenStack,
+you must follow the steps in this page:
+
+   http://docs.openstack.org/infra/manual/developers.html
+
+Once those steps have been completed, changes to OpenStack
+should be submitted for review via the Gerrit tool, following
+the workflow documented at:
+
+   http://docs.openstack.org/infra/manual/developers.html#development-workflow
+
+Pull requests submitted through GitHub will be ignored.
+
+Bugs should be filed on Launchpad, not in GitHub's issue tracker:
+
+   https://bugs.launchpad.net/omni
diff --git a/test-requirements.txt b/test-requirements.txt
new file mode 100644
index 0000000..2ee642f
--- /dev/null
+++ b/test-requirements.txt
@@ -0,0 +1 @@
+hacking>=0.12.0,<0.13 # Apache-2.0
diff --git a/tox.ini b/tox.ini
index 179e756..59c9a7c 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,11 +1,23 @@
 [tox]
-envlist = py27
-skipsdist = true
+envlist = py27,pep8
+skipsdist = True
 minversion = 2.3.2
 
 [testenv]
 usedevelop = True
+deps = -r{toxinidir}/test-requirements.txt
 whitelist_externals = bash
 commands =
     bash clone_repos.sh
     bash run_tests.sh -wj
+
+[testenv:pep8]
+commands = flake8 {posargs}
+
+[flake8]
+# E123, E125 skipped as they are invalid PEP-8.
+show-source = True
+enable-extensions = H106,H203
+ignore = E123,E125
+builtins = _
+exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build