diff --git a/.zuul.yaml b/.zuul.yaml
index 0356a22..b827bce 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -8,7 +8,25 @@
         - keystone-dsvm-py3-functional-federation-opensuse15:
             voting: false
         - keystone-dsvm-py3-functional-federation-opensuse15-k2k
+        - keystone-dsvm-py3-functional-ussuri
+        - keystone-dsvm-py3-functional-train
+        - keystone-dsvm-py3-functional-stein
     gate:
       jobs:
         - keystone-dsvm-py3-functional
         - keystone-dsvm-py3-functional-federation-opensuse15-k2k
+
+- job:
+    name: keystone-dsvm-py3-functional-ussuri
+    parent: keystone-dsvm-py3-functional
+    override-checkout: stable/ussuri
+
+- job:
+    name: keystone-dsvm-py3-functional-train
+    parent: keystone-dsvm-py3-functional
+    override-checkout: stable/train
+
+- job:
+    name: keystone-dsvm-py3-functional-stein
+    parent: keystone-dsvm-py3-functional
+    override-checkout: stable/stein
diff --git a/doc/requirements.txt b/doc/requirements.txt
new file mode 100644
index 0000000..8d56e6a
--- /dev/null
+++ b/doc/requirements.txt
@@ -0,0 +1,5 @@
+sphinx>=2.0.0,!=2.1.0 # BSD
+openstackdocstheme>=2.2.1 # Apache-2.0
+
+# releasenotes
+reno>=3.1.0 # Apache-2.0
diff --git a/doc/source/conf.py b/doc/source/conf.py
index 1221df1..d5616e7 100755
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -75,6 +75,6 @@
 #intersphinx_mapping = {'http://docs.python.org/': None}
 
 # openstackdocstheme options
-repository_name = 'openstack/keystone-tempest-plugin'
-bug_project = 'keystone'
-bug_tag = 'docs'
+openstackdocs_repo_name = 'openstack/keystone-tempest-plugin'
+openstackdocs_bug_project = 'keystone'
+openstackdocs_bug_tag = 'docs'
diff --git a/keystone_tempest_plugin/tests/api/identity/v3/test_service_providers.py b/keystone_tempest_plugin/tests/api/identity/v3/test_service_providers.py
index 47a1c09..26110f8 100644
--- a/keystone_tempest_plugin/tests/api/identity/v3/test_service_providers.py
+++ b/keystone_tempest_plugin/tests/api/identity/v3/test_service_providers.py
@@ -48,10 +48,6 @@
                 self.assertEqual(
                     sp_ref['relay_state_prefix'], sp['relay_state_prefix'])
 
-    def _add_cleanup(self, sp_id):
-        self.addCleanup(
-            self.sps_client.delete_service_provider, sp_id)
-
     def _create_sp(self, sp_id, sp_ref):
         sp = self.sps_client.create_service_provider(
             sp_id, **sp_ref)['service_provider']
diff --git a/keystone_tempest_plugin/tests/scenario/test_federated_authentication.py b/keystone_tempest_plugin/tests/scenario/test_federated_authentication.py
index e4c9d88..09e95d9 100644
--- a/keystone_tempest_plugin/tests/scenario/test_federated_authentication.py
+++ b/keystone_tempest_plugin/tests/scenario/test_federated_authentication.py
@@ -222,10 +222,17 @@
     def setUp(self):
         super(TestK2KFederatedAuthentication, self).setUp()
         self._setup_sp()
-        user_id = self.keystone_manager.identity_providers_client.user_id
+        self.auth = {'password': data_utils.rand_password()}
+        user_id = self.keystone_manager.users_v3_client.create_user(
+            name=data_utils.rand_name('user'),
+            password=self.auth['password'])['user']['id']
+        self.addCleanup(
+            self.keystone_manager.users_v3_client.delete_user, user_id)
+        self.auth['user_id'] = user_id
         idp_info = self.idps_client.show_identity_provider(self.idp_id)
         domain_id = idp_info['identity_provider']['domain_id']
         project_id = self.keystone_manager.identity_providers_client.tenant_id
+        self.auth['project_id'] = project_id
         group = self.keystone_manager.groups_client.create_group(
             name=data_utils.rand_uuid_hex(), domain_id=domain_id)
         self.addCleanup(
@@ -294,12 +301,16 @@
         self.addCleanup(self.sps_client.delete_service_provider, self.sp_id)
 
     def _get_sp_authn_request(self):
+        token = self.tokens_client.get_token(
+            user_id=self.auth['user_id'],
+            password=self.auth['password'],
+            project_id=self.auth['project_id'])
         body = {
             'auth': {
                 'identity': {
                     'methods': ['token'],
                     'token': {
-                        'id': self.auth_client.token
+                        'id': token
                     }
                 },
                 'scope': {
diff --git a/releasenotes/source/conf.py b/releasenotes/source/conf.py
index 215098f..d7ff864 100644
--- a/releasenotes/source/conf.py
+++ b/releasenotes/source/conf.py
@@ -147,10 +147,6 @@
 # directly to the root of the documentation.
 # html_extra_path = []
 
-# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
-# using the given strftime format.
-# html_last_updated_fmt = '%b %d, %Y'
-
 # If true, SmartyPants will be used to convert quotes and dashes to
 # typographically correct entities.
 # html_use_smartypants = True
@@ -275,6 +271,7 @@
 locale_dirs = ['locale/']
 
 # openstackdocstheme options
-repository_name = 'openstack/keystone-tempest-plugin'
-bug_project = 'keystone'
-bug_tag = 'releasenotes'
+openstackdocs_repo_name = 'openstack/keystone-tempest-plugin'
+openstackdocs_bug_project = 'keystone'
+openstackdocs_bug_tag = 'releasenotes'
+openstackdocs_auto_name = False
diff --git a/setup.cfg b/setup.cfg
index 82246c6..58f75a1 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -21,29 +21,6 @@
 packages =
     keystone_tempest_plugin
 
-[build_sphinx]
-all-files = 1
-warning-is-error = 1
-source-dir = doc/source
-build-dir = doc/build
-
-[upload_sphinx]
-upload-dir = doc/build/html
-
-[compile_catalog]
-directory = keystone_tempest_plugin/locale
-domain = keystone_tempest_plugin
-
-[update_catalog]
-domain = keystone_tempest_plugin
-output_dir = keystone_tempest_plugin/locale
-input_file = keystone_tempest_plugin/locale/keystone_tempest_plugin.pot
-
-[extract_messages]
-keywords = _ gettext ngettext l_ lazy_gettext
-mapping_file = babel.cfg
-output_file = keystone_tempest_plugin/locale/keystone_tempest_plugin.pot
-
 [entry_points]
 tempest.test_plugins =
     keystone_tests = keystone_tempest_plugin.plugin:KeystoneTempestPlugin
diff --git a/test-requirements.txt b/test-requirements.txt
index 16165e0..9c7d865 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -3,9 +3,3 @@
 # process, which may cause wedges in the gate later.
 
 hacking>=3.0,<3.1.0;python_version>='3.5' # Apache-2.0
-
-sphinx!=1.6.6,!=1.6.7,>=1.6.2  # BSD
-openstackdocstheme>=1.18.1 # Apache-2.0
-
-# releasenotes
-reno>=2.5.0 # Apache-2.0
diff --git a/tox.ini b/tox.ini
index ecc7ddf..8b4a058 100644
--- a/tox.ini
+++ b/tox.ini
@@ -6,11 +6,12 @@
 
 [testenv]
 usedevelop = True
-install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} {opts} {packages}
 setenv =
    VIRTUAL_ENV={envdir}
    PYTHONWARNINGS=default::DeprecationWarning
-deps = -r{toxinidir}/test-requirements.txt
+deps =
+  -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
+  -r{toxinidir}/test-requirements.txt
 commands = python setup.py test --slowest --testr-args='{posargs}'
 basepython = python3
 
@@ -24,9 +25,13 @@
 commands = python setup.py test --coverage --testr-args='{posargs}'
 
 [testenv:docs]
+deps =
+  -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
+  -r{toxinidir}/doc/requirements.txt
 commands = sphinx-build -W -b html -d doc/buld/doctrees doc/source doc/build/html
 
 [testenv:releasenotes]
+deps = {[testenv:docs]deps}
 commands =
   sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
 
