with this change, all unit and functional tests pass on Python 3.4.
* WSGI middleware: on Python 3, decode the error message from UTF-8.
* Replace json.dumps() with jsonutils.dump_as_bytes() of
oslo_serialization to get bytes on Python 3.
* monitor_service.py, test_monitor.py: Fix usage of tooz, pass byte
strings to the coordinator API.
* Fix nova and neutron fixtures: replace dict.values() with
list(dict.values()) to get list on Python 3.
* Fix urllib2_fixture: On Python 3, replace urllib2 with
urllib.request.
* test_create_cluster.py: don't sort exception types, but use a set
instead to compare them. On Python 3, comparison between exception
types now raises a TypeError.
* test_wsme_objects.py: catch also TypeError on wsme validation. On
Python 3, comparison between the new attribute value and the
minimum raises a TypeError which is not wrapped into a
InvalidInput exception of wsme. See also the change
I74103330ccb5cdc26aa3508fcefcc34310e00c27 which proposes to wrap
TypeError.
* install_rabbit.sh.tmpl: replace dict.iteritems() with dict.items().
* Replace generator.next() with next(generator).
* Replace reduce() with six.moves.reduce()
* Replace "str is 'URLError'" test with "str == 'URLError'", using is
to compare strings is not reliable.
Change-Id: I45e23b71218f5ff936b0fd1bd628f29210f984bb