diff --git a/requirements.txt b/requirements.txt
index 466d13a..19d7617 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,14 +1,14 @@
 # The order of packages is significant, because pip processes them in the order
 # of appearance. Changing the order has an impact on the overall integration
 # process, which may cause wedges in the gate later.
-pbr>=0.11,<2.0
+pbr>=1.6
 Babel>=1.3
-oslo.config>=1.11.0  # Apache-2.0
-oslo.i18n>=1.5.0  # Apache-2.0
-oslo.utils>=1.4.0                       # Apache-2.0
+oslo.config>=2.3.0  # Apache-2.0
+oslo.i18n>=1.5.0  # Apache-2.0`
+oslo.utils>=2.0.0,!=2.6.0               # Apache-2.0
 iso8601>=0.1.9
-requests>=2.5.2
-python-keystoneclient>=1.3.0
+requests>=2.5.2,!=2.8.0,!=2.9.0
+python-keystoneclient>=1.6.0,!=1.8.0
 PyYAML>=3.1.0
-stevedore>=1.3.0  # Apache-2.0
+stevedore>=1.5.0  # Apache-2.0
 six>=1.9.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 8592bde..7028c06 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -2,14 +2,14 @@
 # of appearance. Changing the order has an impact on the overall integration
 # process, which may cause wedges in the gate later.
 
-hacking<0.11,>=0.10.0
+hacking>=0.10.2,<0.11
 
 coverage>=3.6
 discover
 python-subunit>=0.0.18
 sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3
-oslosphinx>=2.2.0  # Apache-2.0
-oslotest>=1.2.0  # Apache-2.0
+oslosphinx>=2.5.0  # Apache-2.0
+oslotest>=1.10.0  # Apache-2.0
 testrepository>=0.0.18
 testscenarios>=0.4
-testtools>=0.9.36,!=1.2.0
+testtools>=1.4.0