Merge "Implement get_service_clients interface"
diff --git a/.zuul.yaml b/.zuul.yaml
new file mode 100644
index 0000000..0533692
--- /dev/null
+++ b/.zuul.yaml
@@ -0,0 +1,7 @@
+- project:
+    name: openstack/designate-tempest-plugin
+    templates:
+      - designate-devstack-jobs
+    check:
+      jobs:
+        - neutron-tempest-plugin-designate-scenario
diff --git a/designate_tempest_plugin/tests/api/v2/test_zones_imports.py b/designate_tempest_plugin/tests/api/v2/test_zones_imports.py
index d1ae182..42a20dc 100644
--- a/designate_tempest_plugin/tests/api/v2/test_zones_imports.py
+++ b/designate_tempest_plugin/tests/api/v2/test_zones_imports.py
@@ -23,7 +23,7 @@
 
 class BaseZonesImportTest(base.BaseDnsV2Test):
     excluded_keys = ['created_at', 'updated_at', 'version', 'links',
-                     'status', 'message']
+                     'status', 'message', 'zone_id']
 
 
 class ZonesImportTest(BaseZonesImportTest):
diff --git a/designate_tempest_plugin/tests/base.py b/designate_tempest_plugin/tests/base.py
index 8f3e83d..43579dc 100644
--- a/designate_tempest_plugin/tests/base.py
+++ b/designate_tempest_plugin/tests/base.py
@@ -75,6 +75,12 @@
                         % cls.__name__)
             raise cls.skipException(skip_msg)
 
+    @classmethod
+    def setup_credentials(cls):
+        # Do not create network resources for these test.
+        cls.set_network_resources()
+        super(BaseDnsTest, cls).setup_credentials()
+
     def assertExpected(self, expected, actual, excluded_keys):
         for key, value in six.iteritems(expected):
             if key not in excluded_keys:
diff --git a/requirements.txt b/requirements.txt
index 3d6be99..2af96d6 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,5 +5,5 @@
 dnspython>=1.14.0;python_version=='2.7' # http://www.dnspython.org/LICENSE
 dnspython3!=1.13.0,!=1.14.0,>=1.12.0;python_version>='3.0' # http://www.dnspython.org/LICENSE
 ddt>=1.0.1 # MIT
-testtools>=1.4.0 # MIT
-tempest>=16.1.0 # Apache-2.0
+testtools>=2.2.0 # MIT
+tempest>=17.1.0 # Apache-2.0
diff --git a/tools/tox_install.sh b/tools/tox_install.sh
deleted file mode 100755
index e61b63a..0000000
--- a/tools/tox_install.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/env bash
-
-# Client constraint file contains this client version pin that is in conflict
-# with installing the client from source. We should remove the version pin in
-# the constraints file before applying it for from-source installation.
-
-CONSTRAINTS_FILE="$1"
-shift 1
-
-set -e
-
-# NOTE(tonyb): Place this in the tox enviroment's log dir so it will get
-# published to logs.openstack.org for easy debugging.
-localfile="$VIRTUAL_ENV/log/upper-constraints.txt"
-
-if [[ "$CONSTRAINTS_FILE" != http* ]]; then
-    CONSTRAINTS_FILE="file://$CONSTRAINTS_FILE"
-fi
-# NOTE(tonyb): need to add curl to bindep.txt if the project supports bindep
-curl "$CONSTRAINTS_FILE" --insecure --progress-bar --output "$localfile"
-
-pip install -c"$localfile" openstack-requirements
-
-# This is the main purpose of the script: Allow local installation of
-# the current repo. It is listed in constraints file and thus any
-# install will be constrained and we need to unconstrain it.
-edit-constraints "$localfile" -- "$CLIENT_NAME"
-
-pip install -c"$localfile" -U "$@"
-exit $?
diff --git a/tox.ini b/tox.ini
index 196d873..3163c7d 100644
--- a/tox.ini
+++ b/tox.ini
@@ -5,13 +5,13 @@
 
 [testenv]
 usedevelop = True
-install_command = {toxinidir}/tools/tox_install.sh {env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
-deps = -r{toxinidir}/requirements.txt
+install_command = pip install {opts} {packages}
+deps =
+       -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
+       -r{toxinidir}/requirements.txt
        -r{toxinidir}/test-requirements.txt
 setenv =
     VIRTUAL_ENV={envdir}
-    BRANCH_NAME=master
-    CLIENT_NAME=designate-tempest-plugin
   PYTHONDONTWRITEBYTECODE=1
 whitelist_externals = sh
                       find