Merge "Add basic IPv6 support to BaremetalSingleTenant"
diff --git a/doc/requirements.txt b/doc/requirements.txt
new file mode 100644
index 0000000..72d01e9
--- /dev/null
+++ b/doc/requirements.txt
@@ -0,0 +1,4 @@
+sphinx>=2.0.0,!=2.1.0 # BSD
+openstackdocstheme>=2.0.0 # Apache-2.0
+
+reno>=2.5.0 # Apache-2.0
diff --git a/setup.cfg b/setup.cfg
index 241739d..e6277e3 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -24,11 +24,3 @@
 [entry_points]
 tempest.test_plugins =
     ironic_tests = ironic_tempest_plugin.plugin:IronicTempestPlugin
-
-[build_sphinx]
-source-dir = doc/source
-build-dir = doc/build
-all_files = 1
-
-[upload_sphinx]
-upload-dir = doc/build/html
diff --git a/test-requirements.txt b/test-requirements.txt
index 682db80..7e4adb2 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -7,8 +7,3 @@
 stestr>=1.0.0 # Apache-2.0
 coverage!=4.4,>=4.0 # Apache-2.0
 flake8-import-order>=0.17.1 # LGPLv3
-
-sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
-openstackdocstheme>=1.20.0 # Apache-2.0
-
-reno>=2.5.0 # Apache-2.0
diff --git a/tox.ini b/tox.ini
index 0f5ad24..28ac9e7 100644
--- a/tox.ini
+++ b/tox.ini
@@ -7,11 +7,10 @@
 [testenv]
 basepython = python3
 usedevelop = True
-install_command = pip install {opts} {packages}
 setenv =
    VIRTUAL_ENV={envdir}
    PYTHONWARNINGS=default::DeprecationWarning
-deps = -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
+deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
        -r{toxinidir}/test-requirements.txt
 commands = stestr run --slowest {posargs}
 
@@ -32,9 +31,12 @@
     coverage xml -o cover/coverage.xml
 
 [testenv:docs]
-commands = python setup.py build_sphinx
+deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
+       -r{toxinidir}/doc/requirements.txt
+commands = sphinx-build -W -b html doc/source doc/build/html
 
 [testenv:pdf-docs]
+deps = {[testenv:docs]deps}
 whitelist_externals = make
 commands = sphinx-build -b latex doc/source doc/build/pdf
            make -C doc/build/pdf
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index a579a12..b402cc1 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -7,23 +7,41 @@
       jobs:
         # NOTE(dtantsur): keep N-3 and older non-voting for these jobs.
         - ironic-standalone
+        - ironic-standalone-ussuri
         - ironic-standalone-train
-        - ironic-standalone-stein
+        - ironic-standalone-stein:
+            voting: false
         - ironic-tempest-functional-python3
+        - ironic-tempest-functional-python3-ussuri
         - ironic-tempest-functional-python3-train
-        - ironic-tempest-functional-python3-stein
+        - ironic-tempest-functional-python3-stein:
+            voting: false
         - ironic-inspector-tempest
+        - ironic-inspector-tempest-ussuri
         - ironic-inspector-tempest-train
-        - ironic-inspector-tempest-stein
+        - ironic-inspector-tempest-stein:
+            voting: false
         # NOTE(dtantsur): these jobs cover rarely changed tests and are quite
         # unstable, so keep them non-voting.
+        - ironic-standalone-redfish:
+            voting: false
+        - ironic-standalone-redfish-ussuri:
+            voting: false
+        - ironic-standalone-redfish-train:
+            voting: false
+        - ironic-standalone-redfish-stein:
+            voting: false
         - ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode:
             voting: false
+        - ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-ussuri:
+            voting: false
         - ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-train:
             voting: false
         - ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-stein:
             voting: false
         - ironic-inspector-tempest-discovery
+        - ironic-inspector-tempest-discovery-ussuri:
+            voting: false
         - ironic-inspector-tempest-discovery-train:
             voting: false
         - ironic-inspector-tempest-discovery-stein:
@@ -32,12 +50,12 @@
       queue: ironic
       jobs:
         - ironic-standalone
+        - ironic-standalone-ussuri
         - ironic-standalone-train
-        - ironic-standalone-stein
         - ironic-tempest-functional-python3
+        - ironic-tempest-functional-python3-ussuri
         - ironic-tempest-functional-python3-train
-        - ironic-tempest-functional-python3-stein
         - ironic-inspector-tempest
+        - ironic-inspector-tempest-ussuri
         - ironic-inspector-tempest-train
-        - ironic-inspector-tempest-stein
         - ironic-inspector-tempest-discovery
diff --git a/zuul.d/stable-jobs.yaml b/zuul.d/stable-jobs.yaml
index ec95d55..b3824bc 100644
--- a/zuul.d/stable-jobs.yaml
+++ b/zuul.d/stable-jobs.yaml
@@ -1,4 +1,9 @@
 - job:
+    name: ironic-standalone-ussuri
+    parent: ironic-standalone
+    override-checkout: stable/ussuri
+
+- job:
     name: ironic-standalone-train
     parent: ironic-standalone
     override-checkout: stable/train
@@ -15,6 +20,32 @@
         USE_PYTHON3: True
 
 - job:
+    name: ironic-standalone-redfish-ussuri
+    parent: ironic-standalone-redfish
+    override-checkout: stable/ussuri
+
+- job:
+    name: ironic-standalone-redfish-train
+    parent: ironic-standalone-redfish
+    override-checkout: stable/train
+    vars:
+      devstack_localrc:
+        USE_PYTHON3: True
+
+- job:
+    name: ironic-standalone-redfish-stein
+    parent: ironic-standalone-redfish
+    override-checkout: stable/stein
+    vars:
+      devstack_localrc:
+        USE_PYTHON3: True
+
+- job:
+    name: ironic-tempest-functional-python3-ussuri
+    parent: ironic-tempest-functional-python3
+    override-checkout: stable/ussuri
+
+- job:
     name: ironic-tempest-functional-python3-train
     parent: ironic-tempest-functional-python3
     override-checkout: stable/train
@@ -24,6 +55,10 @@
     parent: ironic-tempest-functional-python3
     override-checkout: stable/stein
 
+- job:
+    name: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-ussuri
+    parent: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode
+    override-checkout: stable/ussuri
 
 - job:
     name: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-train
@@ -42,6 +77,15 @@
         USE_PYTHON3: True
 
 - job:
+    name: ironic-inspector-tempest-ussuri
+    parent: ironic-inspector-tempest
+    override-checkout: stable/ussuri
+    vars:
+      devstack_localrc:
+        FIXED_NETWORK_SIZE: 4096
+        EBTABLES_RACE_FIX: True
+
+- job:
     name: ironic-inspector-tempest-train
     parent: ironic-inspector-tempest
     override-checkout: stable/train
@@ -62,6 +106,11 @@
         USE_PYTHON3: True
 
 - job:
+    name: ironic-inspector-tempest-discovery-ussuri
+    parent: ironic-inspector-tempest-discovery
+    override-checkout: stable/ussuri
+
+- job:
     name: ironic-inspector-tempest-discovery-train
     parent: ironic-inspector-tempest-discovery
     override-checkout: stable/train