Further py27 cleanup support

This repo is now testing only with Python 3, so let's make
a few cleanups:
- Remove obsolete sections from setup.cfg
- Update requirements, no need for python_version anymore
- Switch to using sphinx-build
- Use newer openstackdocstheme and Sphinx versions
- Switch to hacking 3.0, fix problems found

Change-Id: I499bb071847dd006d4045faf2325f588d07b4ffe
diff --git a/setup.cfg b/setup.cfg
index 6986526..0ccddef 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -27,17 +27,3 @@
 [entry_points]
 tempest.test_plugins =
     telemetry_tests = telemetry_tempest_plugin.plugin:TelemetryTempestPlugin
-
-[compile_catalog]
-directory = telemetry_tempest_plugin/locale
-domain = telemetry_tempest_plugin
-
-[update_catalog]
-domain = telemetry_tempest_plugin
-output_dir = telemetry_tempest_plugin/locale
-input_file = telemetry_tempest_plugin/locale/telemetry_tempest_plugin.pot
-
-[extract_messages]
-keywords = _ gettext ngettext l_ lazy_gettext
-mapping_file = babel.cfg
-output_file = telemetry_tempest_plugin/locale/telemetry_tempest_plugin.pot
diff --git a/telemetry_tempest_plugin/exceptions.py b/telemetry_tempest_plugin/exceptions.py
index de22a41..cb9e6b3 100644
--- a/telemetry_tempest_plugin/exceptions.py
+++ b/telemetry_tempest_plugin/exceptions.py
@@ -38,8 +38,8 @@
             # of the exception message
             # Convert all arguments into their string representations...
             args = ["%s" % arg for arg in args]
-            self._error_string = (self._error_string +
-                                  "\nDetails: %s" % '\n'.join(args))
+            self._error_string = (self._error_string
+                                  + "\nDetails: %s" % '\n'.join(args))
 
     def __str__(self):
         return self._error_string
diff --git a/telemetry_tempest_plugin/scenario/utils.py b/telemetry_tempest_plugin/scenario/utils.py
index f3a4fa6..2b51160 100644
--- a/telemetry_tempest_plugin/scenario/utils.py
+++ b/telemetry_tempest_plugin/scenario/utils.py
@@ -44,8 +44,8 @@
         ).run(test_suite)
 
     if not result.wasSuccessful():
-        failures = (result.errors + result.failures +
-                    result.unexpectedSuccesses)
+        failures = (result.errors + result.failures
+                    + result.unexpectedSuccesses)
         if failures:
             test, bt = failures[0]
             name = test.test_data.get('name', test.id())
diff --git a/test-requirements.txt b/test-requirements.txt
index b2555d0..4cc98c8 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -2,10 +2,9 @@
 # of appearance. Changing the order has an impact on the overall integration
 # process, which may cause wedges in the gate later.
 
-hacking>=1.1.0,<1.2.0 # Apache-2.0
+hacking>=3.0.0,<3.1.0 # Apache-2.0
 
-sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD
-sphinx!=1.6.6,!=1.6.7,!=2.1.0,>=1.6.2;python_version>='3.4' # BSD
-openstackdocstheme>=1.11.0  # Apache-2.0
+sphinx>=2.0.0,!=2.1.0 # BSD
+openstackdocstheme>=2.0.0  # Apache-2.0
 # releasenotes
-reno>=1.8.0 # Apache-2.0
+reno>=2.5.0 # Apache-2.0
diff --git a/tox.ini b/tox.ini
index e8b6fba..5ae7b00 100644
--- a/tox.ini
+++ b/tox.ini
@@ -24,7 +24,8 @@
 commands = {posargs}
 
 [testenv:docs]
-commands = python setup.py build_sphinx
+commands =
+  sphinx-build -a -E -W -b html doc/source doc/build/html
 
 [testenv:releasenotes]
 commands =
@@ -32,8 +33,8 @@
 
 [flake8]
 # E123, E125 skipped as they are invalid PEP-8.
-
+# W503 line break before binary operator
 show-source = True
-ignore = E123,E125
+ignore = E123,E125,W503
 builtins = _
 exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build