Versions of oslo.i18n higher than 1.17.0 cause ImportError

Bug #1468395 reported by Javier
28
This bug affects 6 people
Affects Status Importance Assigned to Milestone
OpenStack Dashboard (Horizon)
Fix Released
Medium
Unassigned
django-openstack-auth
Invalid
Undecided
Unassigned
oslo.i18n
Invalid
Undecided
Unassigned
python-keystoneclient
Fix Released
Medium
Unassigned

Bug Description

oslo.i18n version 2.0.0 was release <24h ago, and it breaks Horizon.

If I pin the version of oslo.i18n to <2.0.0, it works.

Here's the trace from tests script:

➜ ~ git clone <email address hidden>:openstack/horizon.git
Cloning into 'horizon'...
remote: Counting objects: 97245, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 97245 (delta 3), reused 0 (delta 0), pack-reused 97236
Receiving objects: 100% (97245/97245), 147.90 MiB | 4.73 MiB/s, done.
Resolving deltas: 100% (62610/62610), done.
Checking connectivity... done.
➜ ~ cd horizon
➜ horizon git:(master) git checkout -t origin/stable/juno
Branch stable/juno set up to track remote branch stable/juno from origin.
Switched to a new branch 'stable/juno'
➜ horizon git:(stable/juno) ./run_tests.sh
Checking environment.
Environment not found. Install? (Y/n) Y
Fetching new src packages...
Creating venv... done.
Installing dependencies with pip (this can take a while)...
You are using pip version 7.0.1, however version 7.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
DEPRECATION: --download-cache has been deprecated and will be removed in the future. Pip now automatically uses and configures its cache.
Collecting pip>=1.4
  Using cached pip-7.0.3-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 7.0.1
    Uninstalling pip-7.0.1:
      Successfully uninstalled pip-7.0.1
Successfully installed pip-7.0.3
DEPRECATION: --download-cache has been deprecated and will be removed in the future. Pip now automatically uses and configures its cache.
Collecting setuptools
  Using cached setuptools-18.0-py2.py3-none-any.whl
Installing collected packages: setuptools
  Found existing installation: setuptools 16.0
    Uninstalling setuptools-16.0:
      Successfully uninstalled setuptools-16.0
Successfully installed setuptools-18.0
DEPRECATION: --download-cache has been deprecated and will be removed in the future. Pip now automatically uses and configures its cache.
Collecting pbr
  Using cached pbr-1.2.0-py2.py3-none-any.whl
Installing collected packages: pbr
Successfully installed pbr-1.2.0
DEPRECATION: --download-cache has been deprecated and will be removed in the future. Pip now automatically uses and configures its cache.
Collecting pbr!=0.7,<1.0,>=0.6 (from -r /home/javier/horizon/requirements.txt (line 1))
  Using cached pbr-0.11.0-py2.py3-none-any.whl
Collecting Django<1.7,>=1.4.2 (from -r /home/javier/horizon/requirements.txt (line 2))
  Using cached Django-1.6.11-py2.py3-none-any.whl
Collecting django-compressor<=1.4,>=1.4 (from -r /home/javier/horizon/requirements.txt (line 3))
  Using cached django_compressor-1.4-py2.py3-none-any.whl
Collecting django-openstack-auth!=1.1.8,<=1.1.9,>=1.1.7 (from -r /home/javier/horizon/requirements.txt (line 4))
  Using cached django_openstack_auth-1.1.9-py2-none-any.whl
Collecting django-pyscss<=1.0.6,>=1.0.3 (from -r /home/javier/horizon/requirements.txt (line 5))
Collecting eventlet<=0.15.2,>=0.15.1 (from -r /home/javier/horizon/requirements.txt (line 6))
  Using cached eventlet-0.15.2-py2.py3-none-any.whl
Collecting httplib2<=0.9,>=0.7.5 (from -r /home/javier/horizon/requirements.txt (line 7))
Collecting iso8601<=0.1.10,>=0.1.9 (from -r /home/javier/horizon/requirements.txt (line 8))
Collecting kombu<=3.0.7,>=2.5.0 (from -r /home/javier/horizon/requirements.txt (line 9))
Collecting lockfile<=0.8,>=0.8 (from -r /home/javier/horizon/requirements.txt (line 10))
Collecting netaddr<=0.7.13,>=0.7.12 (from -r /home/javier/horizon/requirements.txt (line 11))
  Using cached netaddr-0.7.13-py2.py3-none-any.whl
Collecting pyScss<1.3,>=1.2.1 (from -r /home/javier/horizon/requirements.txt (line 12))
Collecting python-ceilometerclient<1.0.13,>=1.0.6 (from -r /home/javier/horizon/requirements.txt (line 13))
  Using cached python_ceilometerclient-1.0.12-py2.py3-none-any.whl
Collecting python-cinderclient<=1.1.1,>=1.1.0 (from -r /home/javier/horizon/requirements.txt (line 14))
  Using cached python_cinderclient-1.1.1-py2.py3-none-any.whl
Collecting python-glanceclient<=0.15.0,>=0.14.0 (from -r /home/javier/horizon/requirements.txt (line 15))
  Using cached python_glanceclient-0.15.0-py2.py3-none-any.whl
Collecting python-heatclient<0.3.0,>=0.2.9 (from -r /home/javier/horizon/requirements.txt (line 16))
  Using cached python_heatclient-0.2.12-py2.py3-none-any.whl
Collecting python-keystoneclient<1.2.0,>=0.10.0 (from -r /home/javier/horizon/requirements.txt (line 17))
  Using cached python_keystoneclient-1.1.0-py2.py3-none-any.whl
Collecting python-neutronclient<2.4.0,>=2.3.6 (from -r /home/javier/horizon/requirements.txt (line 18))
  Using cached python_neutronclient-2.3.11-py2.py3-none-any.whl
Collecting python-novaclient<=2.20.0,>=2.18.0 (from -r /home/javier/horizon/requirements.txt (line 19))
  Using cached python_novaclient-2.20.0-py2.py3-none-any.whl
Collecting python-saharaclient<=0.7.6,>=0.7.3 (from -r /home/javier/horizon/requirements.txt (line 20))
  Using cached python_saharaclient-0.7.6-py2-none-any.whl
Collecting python-swiftclient<=2.3.1,>=2.2.0 (from -r /home/javier/horizon/requirements.txt (line 21))
  Using cached python_swiftclient-2.3.1-py2.py3-none-any.whl
Collecting python-troveclient<=1.0.8,>=1.0.4 (from -r /home/javier/horizon/requirements.txt (line 22))
  Using cached python_troveclient-1.0.8-py2.py3-none-any.whl
Collecting pytz (from -r /home/javier/horizon/requirements.txt (line 23))
  Using cached pytz-2015.4-py2.py3-none-any.whl
Collecting six<=1.9.0,>=1.7.0 (from -r /home/javier/horizon/requirements.txt (line 24))
  Using cached six-1.9.0-py2.py3-none-any.whl
Collecting XStatic>=1.0.0 (from -r /home/javier/horizon/requirements.txt (line 25))
Collecting XStatic-angular<1.3.0,>=1.2.1.1 (from -r /home/javier/horizon/requirements.txt (line 26))
Collecting XStatic-angular-cookies>=1.2.1.1 (from -r /home/javier/horizon/requirements.txt (line 27))
Collecting XStatic-angular-mock>=1.2.1.1 (from -r /home/javier/horizon/requirements.txt (line 28))
Collecting XStatic-bootstrap-datepicker>=1.3.1.0 (from -r /home/javier/horizon/requirements.txt (line 29))
Collecting XStatic-bootstrap-scss>=3 (from -r /home/javier/horizon/requirements.txt (line 30))
Collecting XStatic-d3>=3.1.6.2 (from -r /home/javier/horizon/requirements.txt (line 31))
Collecting XStatic-hogan>=2.0.0.2 (from -r /home/javier/horizon/requirements.txt (line 32))
Collecting XStatic-font-awesome>=4.1.0 (from -r /home/javier/horizon/requirements.txt (line 33))
Collecting XStatic-jasmine<2,>=1.3.1.1 (from -r /home/javier/horizon/requirements.txt (line 34))
Collecting XStatic-jquery>=1.7.2 (from -r /home/javier/horizon/requirements.txt (line 35))
Collecting XStatic-jquery-migrate>=1.2.1.1 (from -r /home/javier/horizon/requirements.txt (line 36))
Collecting XStatic-jquery.quicksearch>=2.0.3.1 (from -r /home/javier/horizon/requirements.txt (line 37))
Collecting XStatic-jquery.tablesorter>=2.0.5b.0 (from -r /home/javier/horizon/requirements.txt (line 38))
Collecting XStatic-jquery-ui>=1.10.1 (from -r /home/javier/horizon/requirements.txt (line 39))
Collecting XStatic-jsencrypt>=2.0.0.2 (from -r /home/javier/horizon/requirements.txt (line 40))
Collecting XStatic-qunit>=1.14.0.2 (from -r /home/javier/horizon/requirements.txt (line 41))
Collecting XStatic-rickshaw>=1.5.0 (from -r /home/javier/horizon/requirements.txt (line 42))
Collecting XStatic-spin>=1.2.5.2 (from -r /home/javier/horizon/requirements.txt (line 43))
Collecting hacking<0.10,>=0.9.2 (from -r /home/javier/horizon/test-requirements.txt (line 1))
  Using cached hacking-0.9.6-py2-none-any.whl
Collecting coverage<=3.7.1,>=3.6 (from -r /home/javier/horizon/test-requirements.txt (line 2))
Collecting django-nose (from -r /home/javier/horizon/test-requirements.txt (line 3))
  Using cached django_nose-1.4-py2-none-any.whl
Collecting mox<=0.5.3,>=0.5.3 (from -r /home/javier/horizon/test-requirements.txt (line 4))
Collecting nodeenv>=0.9.4 (from -r /home/javier/horizon/test-requirements.txt (line 5))
Collecting nose<=1.3.1 (from -r /home/javier/horizon/test-requirements.txt (line 6))
Collecting nose-exclude (from -r /home/javier/horizon/test-requirements.txt (line 7))
Collecting nosehtmloutput>=0.0.3 (from -r /home/javier/horizon/test-requirements.txt (line 8))
Collecting nosexcover (from -r /home/javier/horizon/test-requirements.txt (line 9))
Collecting openstack.nose-plugin>=0.7 (from -r /home/javier/horizon/test-requirements.txt (line 10))
Collecting oslosphinx<2.5.0,>=2.2.0 (from -r /home/javier/horizon/test-requirements.txt (line 11))
  Using cached oslosphinx-2.4.0-py2.py3-none-any.whl
Collecting selenium (from -r /home/javier/horizon/test-requirements.txt (line 12))
Collecting sphinx!=1.2.0,<1.3,>=1.1.2 (from -r /home/javier/horizon/test-requirements.txt (line 13))
  Using cached Sphinx-1.2.3-py2-none-any.whl
Collecting testtools!=1.4.0,<=1.5.0,>=0.9.34 (from -r /home/javier/horizon/test-requirements.txt (line 14))
  Using cached testtools-1.5.0-py2.py3-none-any.whl
Collecting xvfbwrapper>=0.1.3 (from -r /home/javier/horizon/test-requirements.txt (line 15))
Requirement already up-to-date: pip in ./.venv/lib/python2.7/site-packages (from pbr!=0.7,<1.0,>=0.6->-r /home/javier/horizon/requirements.txt (line 1))
Collecting django-appconf>=0.4 (from django-compressor<=1.4,>=1.4->-r /home/javier/horizon/requirements.txt (line 3))
  Using cached django_appconf-1.0.1-py2.py3-none-any.whl
Collecting oslo.config>=1.6.0 (from django-openstack-auth!=1.1.8,<=1.1.9,>=1.1.7->-r /home/javier/horizon/requirements.txt (line 4))
  Using cached oslo.config-1.12.1-py2.py3-none-any.whl
Collecting greenlet>=0.3 (from eventlet<=0.15.2,>=0.15.1->-r /home/javier/horizon/requirements.txt (line 6))
Collecting anyjson>=0.3.3 (from kombu<=3.0.7,>=2.5.0->-r /home/javier/horizon/requirements.txt (line 9))
Collecting amqp<2.0,>=1.3.3 (from kombu<=3.0.7,>=2.5.0->-r /home/javier/horizon/requirements.txt (line 9))
  Using cached amqp-1.4.6-py2-none-any.whl
Collecting oslo.utils>=1.0.0 (from python-ceilometerclient<1.0.13,>=1.0.6->-r /home/javier/horizon/requirements.txt (line 13))
  Using cached oslo.utils-1.6.0-py2.py3-none-any.whl
Collecting argparse (from python-ceilometerclient<1.0.13,>=1.0.6->-r /home/javier/horizon/requirements.txt (line 13))
  Using cached argparse-1.3.0-py2.py3-none-any.whl
Collecting stevedore>=0.14 (from python-ceilometerclient<1.0.13,>=1.0.6->-r /home/javier/horizon/requirements.txt (line 13))
  Using cached stevedore-1.5.0-py2.py3-none-any.whl
Collecting PrettyTable<0.8,>=0.7 (from python-ceilometerclient<1.0.13,>=1.0.6->-r /home/javier/horizon/requirements.txt (line 13))
Collecting Babel>=1.3 (from python-cinderclient<=1.1.1,>=1.1.0->-r /home/javier/horizon/requirements.txt (line 14))
Collecting requests>=1.2.1 (from python-cinderclient<=1.1.1,>=1.1.0->-r /home/javier/horizon/requirements.txt (line 14))
  Using cached requests-2.7.0-py2.py3-none-any.whl
Collecting simplejson>=2.2.0 (from python-cinderclient<=1.1.1,>=1.1.0->-r /home/javier/horizon/requirements.txt (line 14))
Collecting pyOpenSSL>=0.11 (from python-glanceclient<=0.15.0,>=0.14.0->-r /home/javier/horizon/requirements.txt (line 15))
  Using cached pyOpenSSL-0.15.1-py2.py3-none-any.whl
Collecting warlock<2,>=1.0.1 (from python-glanceclient<=0.15.0,>=0.14.0->-r /home/javier/horizon/requirements.txt (line 15))
Collecting PyYAML>=3.1.0 (from python-heatclient<0.3.0,>=0.2.9->-r /home/javier/horizon/requirements.txt (line 16))
Collecting oslo.serialization>=1.2.0 (from python-keystoneclient<1.2.0,>=0.10.0->-r /home/javier/horizon/requirements.txt (line 17))
  Using cached oslo.serialization-1.6.0-py2.py3-none-any.whl
Collecting oslo.i18n>=1.3.0 (from python-keystoneclient<1.2.0,>=0.10.0->-r /home/javier/horizon/requirements.txt (line 17))
  Using cached oslo.i18n-2.0.0-py2.py3-none-any.whl
Collecting cliff>=1.7.0 (from python-neutronclient<2.4.0,>=2.3.6->-r /home/javier/horizon/requirements.txt (line 18))
  Using cached cliff-1.13.0-py2-none-any.whl
Collecting futures>=2.1.3 (from python-swiftclient<=2.3.1,>=2.2.0->-r /home/javier/horizon/requirements.txt (line 21))
  Using cached futures-3.0.3-py2-none-any.whl
Collecting pep8==1.5.6 (from hacking<0.10,>=0.9.2->-r /home/javier/horizon/test-requirements.txt (line 1))
  Using cached pep8-1.5.6-py2.py3-none-any.whl
Collecting pyflakes==0.8.1 (from hacking<0.10,>=0.9.2->-r /home/javier/horizon/test-requirements.txt (line 1))
  Using cached pyflakes-0.8.1-py2.py3-none-any.whl
Collecting flake8==2.1.0 (from hacking<0.10,>=0.9.2->-r /home/javier/horizon/test-requirements.txt (line 1))
Collecting mccabe==0.2.1 (from hacking<0.10,>=0.9.2->-r /home/javier/horizon/test-requirements.txt (line 1))
Collecting termcolor (from openstack.nose-plugin>=0.7->-r /home/javier/horizon/test-requirements.txt (line 10))
Collecting colorama (from openstack.nose-plugin>=0.7->-r /home/javier/horizon/test-requirements.txt (line 10))
Collecting Pygments>=1.2 (from sphinx!=1.2.0,<1.3,>=1.1.2->-r /home/javier/horizon/test-requirements.txt (line 13))
  Using cached Pygments-2.0.2-py2-none-any.whl
Collecting docutils>=0.7 (from sphinx!=1.2.0,<1.3,>=1.1.2->-r /home/javier/horizon/test-requirements.txt (line 13))
Collecting Jinja2>=2.3 (from sphinx!=1.2.0,<1.3,>=1.1.2->-r /home/javier/horizon/test-requirements.txt (line 13))
Collecting extras (from testtools!=1.4.0,<=1.5.0,>=0.9.34->-r /home/javier/horizon/test-requirements.txt (line 14))
Collecting unittest2>=0.8.0 (from testtools!=1.4.0,<=1.5.0,>=0.9.34->-r /home/javier/horizon/test-requirements.txt (line 14))
  Using cached unittest2-1.0.1-py2.py3-none-any.whl
Collecting python-mimeparse (from testtools!=1.4.0,<=1.5.0,>=0.9.34->-r /home/javier/horizon/test-requirements.txt (line 14))
Collecting netifaces>=0.10.4 (from oslo.utils>=1.0.0->python-ceilometerclient<1.0.13,>=1.0.6->-r /home/javier/horizon/requirements.txt (line 13))
Collecting debtcollector>=0.3.0 (from oslo.utils>=1.0.0->python-ceilometerclient<1.0.13,>=1.0.6->-r /home/javier/horizon/requirements.txt (line 13))
  Using cached debtcollector-0.5.0-py2.py3-none-any.whl
Collecting cryptography>=0.7 (from pyOpenSSL>=0.11->python-glanceclient<=0.15.0,>=0.14.0->-r /home/javier/horizon/requirements.txt (line 15))
Collecting jsonschema<3,>=0.7 (from warlock<2,>=1.0.1->python-glanceclient<=0.15.0,>=0.14.0->-r /home/javier/horizon/requirements.txt (line 15))
  Using cached jsonschema-2.5.1-py2.py3-none-any.whl
Collecting jsonpatch<2,>=0.10 (from warlock<2,>=1.0.1->python-glanceclient<=0.15.0,>=0.14.0->-r /home/javier/horizon/requirements.txt (line 15))
  Using cached jsonpatch-1.11-py2-none-any.whl
Collecting msgpack-python>=0.4.0 (from oslo.serialization>=1.2.0->python-keystoneclient<1.2.0,>=0.10.0->-r /home/javier/horizon/requirements.txt (line 17))
Collecting cmd2>=0.6.7 (from cliff>=1.7.0->python-neutronclient<2.4.0,>=2.3.6->-r /home/javier/horizon/requirements.txt (line 18))
Collecting pyparsing>=2.0.1 (from cliff>=1.7.0->python-neutronclient<2.4.0,>=2.3.6->-r /home/javier/horizon/requirements.txt (line 18))
  Using cached pyparsing-2.0.3-py2.py3-none-any.whl
Collecting markupsafe (from Jinja2>=2.3->sphinx!=1.2.0,<1.3,>=1.1.2->-r /home/javier/horizon/test-requirements.txt (line 13))
Collecting traceback2 (from unittest2>=0.8.0->testtools!=1.4.0,<=1.5.0,>=0.9.34->-r /home/javier/horizon/test-requirements.txt (line 14))
  Using cached traceback2-1.4.0-py2.py3-none-any.whl
Collecting wrapt>=1.7.0 (from debtcollector>=0.3.0->oslo.utils>=1.0.0->python-ceilometerclient<1.0.13,>=1.0.6->-r /home/javier/horizon/requirements.txt (line 13))
Requirement already up-to-date: setuptools in ./.venv/lib/python2.7/site-packages (from cryptography>=0.7->pyOpenSSL>=0.11->python-glanceclient<=0.15.0,>=0.14.0->-r /home/javier/horizon/requirements.txt (line 15))
Collecting enum34 (from cryptography>=0.7->pyOpenSSL>=0.11->python-glanceclient<=0.15.0,>=0.14.0->-r /home/javier/horizon/requirements.txt (line 15))
Collecting pyasn1 (from cryptography>=0.7->pyOpenSSL>=0.11->python-glanceclient<=0.15.0,>=0.14.0->-r /home/javier/horizon/requirements.txt (line 15))
Collecting idna (from cryptography>=0.7->pyOpenSSL>=0.11->python-glanceclient<=0.15.0,>=0.14.0->-r /home/javier/horizon/requirements.txt (line 15))
  Using cached idna-2.0-py2.py3-none-any.whl
Collecting ipaddress (from cryptography>=0.7->pyOpenSSL>=0.11->python-glanceclient<=0.15.0,>=0.14.0->-r /home/javier/horizon/requirements.txt (line 15))
  Using cached ipaddress-1.0.7-py27-none-any.whl
Collecting cffi>=0.8 (from cryptography>=0.7->pyOpenSSL>=0.11->python-glanceclient<=0.15.0,>=0.14.0->-r /home/javier/horizon/requirements.txt (line 15))
Collecting functools32 (from jsonschema<3,>=0.7->warlock<2,>=1.0.1->python-glanceclient<=0.15.0,>=0.14.0->-r /home/javier/horizon/requirements.txt (line 15))
Collecting jsonpointer>=1.9 (from jsonpatch<2,>=0.10->warlock<2,>=1.0.1->python-glanceclient<=0.15.0,>=0.14.0->-r /home/javier/horizon/requirements.txt (line 15))
  Using cached jsonpointer-1.9-py2-none-any.whl
Collecting linecache2 (from traceback2->unittest2>=0.8.0->testtools!=1.4.0,<=1.5.0,>=0.9.34->-r /home/javier/horizon/test-requirements.txt (line 14))
  Using cached linecache2-1.0.0-py2.py3-none-any.whl
Collecting pycparser (from cffi>=0.8->cryptography>=0.7->pyOpenSSL>=0.11->python-glanceclient<=0.15.0,>=0.14.0->-r /home/javier/horizon/requirements.txt (line 15))
Installing collected packages: pbr, Django, six, django-appconf, django-compressor, argparse, stevedore, netaddr, oslo.config, pytz, Babel, oslo.i18n, netifaces, wrapt, debtcollector, iso8601, oslo.utils, msgpack-python, oslo.serialization, requests, PrettyTable, python-keystoneclient, django-openstack-auth, pyScss, django-pyscss, greenlet, eventlet, httplib2, anyjson, amqp, kombu, lockfile, python-ceilometerclient, simplejson, python-cinderclient, enum34, pyasn1, idna, ipaddress, pycparser, cffi, cryptography, pyOpenSSL, functools32, jsonschema, jsonpointer, jsonpatch, warlock, python-glanceclient, PyYAML, python-heatclient, pyparsing, cmd2, cliff, python-neutronclient, python-novaclient, python-saharaclient, futures, python-swiftclient, python-troveclient, XStatic, XStatic-angular, XStatic-angular-cookies, XStatic-angular-mock, XStatic-bootstrap-datepicker, XStatic-bootstrap-scss, XStatic-d3, XStatic-hogan, XStatic-font-awesome, XStatic-jasmine, XStatic-jquery, XStatic-jquery-migrate, XStatic-jquery.quicksearch, XStatic-jquery.tablesorter, XStatic-jquery-ui, XStatic-jsencrypt, XStatic-qunit, XStatic-rickshaw, XStatic-spin, pep8, pyflakes, mccabe, flake8, hacking, coverage, nose, django-nose, mox, nodeenv, nose-exclude, nosehtmloutput, nosexcover, termcolor, colorama, openstack.nose-plugin, oslosphinx, selenium, Pygments, docutils, markupsafe, Jinja2, sphinx, extras, linecache2, traceback2, unittest2, python-mimeparse, testtools, xvfbwrapper
  Found existing installation: pbr 1.2.0
    Uninstalling pbr-1.2.0:
      Successfully uninstalled pbr-1.2.0
  Found existing installation: argparse 1.2.1
    DEPRECATION: Uninstalling a distutils installed project (argparse) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
    Not uninstalling argparse at /usr/lib/python2.7, outside environment /home/javier/horizon/.venv
Successfully installed Babel-1.3 Django-1.6.11 Jinja2-2.7.3 PrettyTable-0.7.2 PyYAML-3.11 Pygments-2.0.2 XStatic-1.0.1 XStatic-angular-1.2.16.0 XStatic-angular-cookies-1.2.1.1 XStatic-angular-mock-1.2.1.1 XStatic-bootstrap-datepicker-1.3.1.0 XStatic-bootstrap-scss-3.2.0.0 XStatic-d3-3.1.6.2 XStatic-font-awesome-4.3.0.0 XStatic-hogan-2.0.0.2 XStatic-jasmine-1.3.1.1 XStatic-jquery-1.10.2.1 XStatic-jquery-migrate-1.2.1.1 XStatic-jquery-ui-1.11.0.1 XStatic-jquery.quicksearch-2.0.3.1 XStatic-jquery.tablesorter-2.14.5.1 XStatic-jsencrypt-2.0.0.2 XStatic-qunit-1.14.0.2 XStatic-rickshaw-1.5.0.0 XStatic-spin-1.2.5.2 amqp-1.4.6 anyjson-0.3.3 argparse-1.2.1 cffi-1.1.2 cliff-1.13.0 cmd2-0.6.8 colorama-0.3.3 coverage-3.7.1 cryptography-0.9.1 debtcollector-0.5.0 django-appconf-1.0.1 django-compressor-1.4 django-nose-1.4 django-openstack-auth-1.1.9 django-pyscss-1.0.6 docutils-0.12 enum34-1.0.4 eventlet-0.15.2 extras-0.0.3 flake8-2.1.0 functools32-3.2.3.post1 futures-3.0.3 greenlet-0.4.7 hacking-0.9.6 httplib2-0.9 idna-2.0 ipaddress-1.0.7 iso8601-0.1.10 jsonpatch-1.11 jsonpointer-1.9 jsonschema-2.5.1 kombu-3.0.7 linecache2-1.0.0 lockfile-0.8 markupsafe-0.23 mccabe-0.2.1 mox-0.5.3 msgpack-python-0.4.6 netaddr-0.7.13 netifaces-0.10.4 nodeenv-0.13.2 nose-1.3.1 nose-exclude-0.3.0 nosehtmloutput-0.0.5 nosexcover-1.0.10 openstack.nose-plugin-0.11 oslo.config-1.12.1 oslo.i18n-2.0.0 oslo.serialization-1.6.0 oslo.utils-1.6.0 oslosphinx-2.4.0 pbr-0.11.0 pep8-1.5.6 pyOpenSSL-0.15.1 pyScss-1.2.1 pyasn1-0.1.8 pycparser-2.14 pyflakes-0.8.1 pyparsing-2.0.3 python-ceilometerclient-1.0.12 python-cinderclient-1.1.1 python-glanceclient-0.15.0 python-heatclient-0.2.12 python-keystoneclient-1.1.0 python-mimeparse-0.1.4 python-neutronclient-2.3.11 python-novaclient-2.20.0 python-saharaclient-0.7.6 python-swiftclient-2.3.1 python-troveclient-1.0.8 pytz-2015.4 requests-2.7.0 selenium-2.46.0 simplejson-3.7.3 six-1.9.0 sphinx-1.2.3 stevedore-1.5.0 termcolor-1.1.0 testtools-1.5.0 traceback2-1.4.0 unittest2-1.0.1 warlock-1.1.0 wrapt-1.10.4 xvfbwrapper-0.2.4

    OpenStack development environment setup is complete.

    OpenStack development uses virtualenv to track and manage Python
    dependencies while in development and testing.

    To activate the OpenStack virtualenv for the extent of your current shell
    session you can run:

    $ source /home/javier/horizon/.venv/bin/activate

    Or, if you prefer, you can run commands in the virtualenv on a case by case
    basis by running:

    $ /home/javier/horizon/tools/with_venv.sh <your command>

    Also, make test will automatically use the virtualenv.

Running Horizon application tests
nosetests horizon --nocapture --nologcapture --exclude-dir=horizon/conf/ --exclude-dir=horizon/test/customization --cover-package=horizon --cover-inclusive --all-modules --exclude-dir=openstack_dashboard/test/integration_tests --verbosity=1
/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/access.py:20: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_utils instead.
  from oslo.utils import timeutils

Creating test database for alias 'default'...
EEEEEEEEEEEEEE
======================================================================
ERROR: Failure: ImportError (cannot import name i18n)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/loader.py", line 411, in loadTestsFromName
    addr.filename, addr.module)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/javier/horizon/horizon/middleware.py", line 36, in <module>
    from openstack_auth import utils as auth_utils
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/openstack_auth/utils.py", line 24, in <module>
    from keystoneclient.v2_0 import client as client_v2
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/__init__.py", line 33, in <module>
    from keystoneclient import access
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/access.py", line 22, in <module>
    from keystoneclient.i18n import _
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/i18n.py", line 21, in <module>
    from oslo import i18n
ImportError: cannot import name i18n

======================================================================
ERROR: Failure: ImportError (cannot import name i18n)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/loader.py", line 411, in loadTestsFromName
    addr.filename, addr.module)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/javier/horizon/horizon/test/helpers.py", line 55, in <module>
    from horizon import middleware
  File "/home/javier/horizon/horizon/middleware.py", line 36, in <module>
    from openstack_auth import utils as auth_utils
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/openstack_auth/utils.py", line 24, in <module>
    from keystoneclient.v2_0 import client as client_v2
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/__init__.py", line 33, in <module>
    from keystoneclient import access
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/access.py", line 22, in <module>
    from keystoneclient.i18n import _
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/i18n.py", line 21, in <module>
    from oslo import i18n
ImportError: cannot import name i18n

======================================================================
ERROR: Failure: ImportError (cannot import name i18n)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/loader.py", line 411, in loadTestsFromName
    addr.filename, addr.module)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/javier/horizon/horizon/test/jasmine/jasmine_tests.py", line 13, in <module>
    from horizon.test import helpers as test
  File "/home/javier/horizon/horizon/test/helpers.py", line 55, in <module>
    from horizon import middleware
  File "/home/javier/horizon/horizon/middleware.py", line 36, in <module>
    from openstack_auth import utils as auth_utils
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/openstack_auth/utils.py", line 24, in <module>
    from keystoneclient.v2_0 import client as client_v2
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/__init__.py", line 33, in <module>
    from keystoneclient import access
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/access.py", line 22, in <module>
    from keystoneclient.i18n import _
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/i18n.py", line 21, in <module>
    from oslo import i18n
ImportError: cannot import name i18n

======================================================================
ERROR: Failure: ImportError (cannot import name i18n)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/loader.py", line 411, in loadTestsFromName
    addr.filename, addr.module)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/javier/horizon/horizon/test/tests/base.py", line 29, in <module>
    from horizon.test import helpers as test
  File "/home/javier/horizon/horizon/test/helpers.py", line 55, in <module>
    from horizon import middleware
  File "/home/javier/horizon/horizon/middleware.py", line 36, in <module>
    from openstack_auth import utils as auth_utils
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/openstack_auth/utils.py", line 24, in <module>
    from keystoneclient.v2_0 import client as client_v2
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/__init__.py", line 33, in <module>
    from keystoneclient import access
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/access.py", line 22, in <module>
    from keystoneclient.i18n import _
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/i18n.py", line 21, in <module>
    from oslo import i18n
ImportError: cannot import name i18n

======================================================================
ERROR: Failure: ImportError (cannot import name i18n)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/loader.py", line 411, in loadTestsFromName
    addr.filename, addr.module)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/javier/horizon/horizon/test/tests/exceptions.py", line 16, in <module>
    from horizon.test import helpers as test
  File "/home/javier/horizon/horizon/test/helpers.py", line 55, in <module>
    from horizon import middleware
  File "/home/javier/horizon/horizon/middleware.py", line 36, in <module>
    from openstack_auth import utils as auth_utils
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/openstack_auth/utils.py", line 24, in <module>
    from keystoneclient.v2_0 import client as client_v2
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/__init__.py", line 33, in <module>
    from keystoneclient import access
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/access.py", line 22, in <module>
    from keystoneclient.i18n import _
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/i18n.py", line 21, in <module>
    from oslo import i18n
ImportError: cannot import name i18n

======================================================================
ERROR: Failure: ImportError (cannot import name i18n)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/loader.py", line 411, in loadTestsFromName
    addr.filename, addr.module)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/javier/horizon/horizon/test/tests/forms.py", line 17, in <module>
    from horizon.test import helpers as test
  File "/home/javier/horizon/horizon/test/helpers.py", line 55, in <module>
    from horizon import middleware
  File "/home/javier/horizon/horizon/middleware.py", line 36, in <module>
    from openstack_auth import utils as auth_utils
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/openstack_auth/utils.py", line 24, in <module>
    from keystoneclient.v2_0 import client as client_v2
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/__init__.py", line 33, in <module>
    from keystoneclient import access
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/access.py", line 22, in <module>
    from keystoneclient.i18n import _
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/i18n.py", line 21, in <module>
    from oslo import i18n
ImportError: cannot import name i18n

======================================================================
ERROR: Failure: ImportError (cannot import name i18n)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/loader.py", line 411, in loadTestsFromName
    addr.filename, addr.module)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/javier/horizon/horizon/test/tests/messages.py", line 22, in <module>
    from horizon import middleware
  File "/home/javier/horizon/horizon/middleware.py", line 36, in <module>
    from openstack_auth import utils as auth_utils
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/openstack_auth/utils.py", line 24, in <module>
    from keystoneclient.v2_0 import client as client_v2
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/__init__.py", line 33, in <module>
    from keystoneclient import access
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/access.py", line 22, in <module>
    from keystoneclient.i18n import _
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/i18n.py", line 21, in <module>
    from oslo import i18n
ImportError: cannot import name i18n

======================================================================
ERROR: Failure: ImportError (cannot import name i18n)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/loader.py", line 411, in loadTestsFromName
    addr.filename, addr.module)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/javier/horizon/horizon/test/tests/middleware.py", line 23, in <module>
    from horizon import middleware
  File "/home/javier/horizon/horizon/middleware.py", line 36, in <module>
    from openstack_auth import utils as auth_utils
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/openstack_auth/utils.py", line 24, in <module>
    from keystoneclient.v2_0 import client as client_v2
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/__init__.py", line 33, in <module>
    from keystoneclient import access
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/access.py", line 22, in <module>
    from keystoneclient.i18n import _
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/i18n.py", line 21, in <module>
    from oslo import i18n
ImportError: cannot import name i18n

======================================================================
ERROR: Failure: ImportError (cannot import name i18n)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/loader.py", line 411, in loadTestsFromName
    addr.filename, addr.module)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/javier/horizon/horizon/test/tests/tables.py", line 27, in <module>
    from horizon.test import helpers as test
  File "/home/javier/horizon/horizon/test/helpers.py", line 55, in <module>
    from horizon import middleware
  File "/home/javier/horizon/horizon/middleware.py", line 36, in <module>
    from openstack_auth import utils as auth_utils
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/openstack_auth/utils.py", line 24, in <module>
    from keystoneclient.v2_0 import client as client_v2
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/__init__.py", line 33, in <module>
    from keystoneclient import access
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/access.py", line 22, in <module>
    from keystoneclient.i18n import _
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/i18n.py", line 21, in <module>
    from oslo import i18n
ImportError: cannot import name i18n

======================================================================
ERROR: Failure: ImportError (cannot import name i18n)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/loader.py", line 411, in loadTestsFromName
    addr.filename, addr.module)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/javier/horizon/horizon/test/tests/tabs.py", line 21, in <module>
    from horizon.test import helpers as test
  File "/home/javier/horizon/horizon/test/helpers.py", line 55, in <module>
    from horizon import middleware
  File "/home/javier/horizon/horizon/middleware.py", line 36, in <module>
    from openstack_auth import utils as auth_utils
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/openstack_auth/utils.py", line 24, in <module>
    from keystoneclient.v2_0 import client as client_v2
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/__init__.py", line 33, in <module>
    from keystoneclient import access
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/access.py", line 22, in <module>
    from keystoneclient.i18n import _
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/i18n.py", line 21, in <module>
    from oslo import i18n
ImportError: cannot import name i18n

======================================================================
ERROR: Failure: ImportError (cannot import name i18n)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/loader.py", line 411, in loadTestsFromName
    addr.filename, addr.module)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/javier/horizon/horizon/test/tests/templatetags.py", line 26, in <module>
    from horizon.test import helpers as test
  File "/home/javier/horizon/horizon/test/helpers.py", line 55, in <module>
    from horizon import middleware
  File "/home/javier/horizon/horizon/middleware.py", line 36, in <module>
    from openstack_auth import utils as auth_utils
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/openstack_auth/utils.py", line 24, in <module>
    from keystoneclient.v2_0 import client as client_v2
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/__init__.py", line 33, in <module>
    from keystoneclient import access
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/access.py", line 22, in <module>
    from keystoneclient.i18n import _
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/i18n.py", line 21, in <module>
    from oslo import i18n
ImportError: cannot import name i18n

======================================================================
ERROR: Failure: ImportError (cannot import name i18n)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/loader.py", line 411, in loadTestsFromName
    addr.filename, addr.module)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/javier/horizon/horizon/test/tests/utils.py", line 23, in <module>
    from horizon.test import helpers as test
  File "/home/javier/horizon/horizon/test/helpers.py", line 55, in <module>
    from horizon import middleware
  File "/home/javier/horizon/horizon/middleware.py", line 36, in <module>
    from openstack_auth import utils as auth_utils
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/openstack_auth/utils.py", line 24, in <module>
    from keystoneclient.v2_0 import client as client_v2
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/__init__.py", line 33, in <module>
    from keystoneclient import access
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/access.py", line 22, in <module>
    from keystoneclient.i18n import _
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/i18n.py", line 21, in <module>
    from oslo import i18n
ImportError: cannot import name i18n

======================================================================
ERROR: Failure: ImportError (cannot import name i18n)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/loader.py", line 411, in loadTestsFromName
    addr.filename, addr.module)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/javier/horizon/horizon/test/tests/workflows.py", line 19, in <module>
    from horizon.test import helpers as test
  File "/home/javier/horizon/horizon/test/helpers.py", line 55, in <module>
    from horizon import middleware
  File "/home/javier/horizon/horizon/middleware.py", line 36, in <module>
    from openstack_auth import utils as auth_utils
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/openstack_auth/utils.py", line 24, in <module>
    from keystoneclient.v2_0 import client as client_v2
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/__init__.py", line 33, in <module>
    from keystoneclient import access
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/access.py", line 22, in <module>
    from keystoneclient.i18n import _
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/i18n.py", line 21, in <module>
    from oslo import i18n
ImportError: cannot import name i18n

======================================================================
ERROR: Failure: ImportError (cannot import name i18n)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/loader.py", line 411, in loadTestsFromName
    addr.filename, addr.module)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/javier/horizon/horizon/test/tests/selenium_tests.py", line 17, in <module>
    from horizon.test import helpers as test
  File "/home/javier/horizon/horizon/test/helpers.py", line 55, in <module>
    from horizon import middleware
  File "/home/javier/horizon/horizon/middleware.py", line 36, in <module>
    from openstack_auth import utils as auth_utils
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/openstack_auth/utils.py", line 24, in <module>
    from keystoneclient.v2_0 import client as client_v2
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/__init__.py", line 33, in <module>
    from keystoneclient import access
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/access.py", line 22, in <module>
    from keystoneclient.i18n import _
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/i18n.py", line 21, in <module>
    from oslo import i18n
ImportError: cannot import name i18n

----------------------------------------------------------------------
Ran 14 tests in 0.002s

FAILED (errors=14)
Destroying test database for alias 'default'...
Running openstack_dashboard tests
Traceback (most recent call last):
  File "/home/javier/horizon/manage.py", line 23, in <module>
    execute_from_command_line(sys.argv)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
    utility.execute()
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 261, in fetch_command
    commands = get_commands()
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 107, in get_commands
    apps = settings.INSTALLED_APPS
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/django/conf/__init__.py", line 54, in __getattr__
    self._setup(name)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/django/conf/__init__.py", line 49, in _setup
    self._wrapped = Settings(settings_module)
  File "/home/javier/horizon/.venv/local/lib/python2.7/site-packages/django/conf/__init__.py", line 132, in __init__
    % (self.SETTINGS_MODULE, e)
ImportError: Could not import settings 'openstack_dashboard.test.settings' (Is it on sys.path? Is there an import error in the settings file?): cannot import name i18n
Running flake8 ...
Tests failed.
➜ horizon git:(stable/juno)

Tags: i18n horizon oslo
Revision history for this message
Itxaka Serrano (itxaka) wrote :

Also happening to me.

algerwang (wang-weijie)
information type: Public → Public Security
Changed in horizon:
assignee: nobody → Alger Wang (wang-weijie)
status: New → Incomplete
Lawrance (jing)
Changed in horizon:
status: Incomplete → New
Revision history for this message
Jeremy Stanley (fungi) wrote :

Why was this bug switched to a security vulnerability? It just looks like a bug to me...

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to horizon (stable/juno)

Fix proposed to branch: stable/juno
Review: https://review.openstack.org/196042

Revision history for this message
Kirill Zaitsev (kzaitsev) wrote :

FYI:

Collecting oslo.i18n>=1.3.0 (from python-keystoneclient<1.2.0,>=0.10.0->-r /home/javier/horizon/requirements.txt (line 17))

It's not a bug in horizon, but in python-keystoneclient, apparently.

Revision history for this message
Jeremy Stanley (fungi) wrote :

For reference, the "python-keystoneclient>=0.10.0,<1.2.0" in your log implies that this is occurring for you on the stable/juno branch (that's the only place horizon seems to be pinning to that exact version range). It looks like oslo.i18n 2.0.0 has broken compatibility with python-keystoneclient 1.1.0 which claims compatibility with all oslo.i18n releases 1.3.0 and later.

information type: Public Security → Public
Revision history for this message
Jeremy Stanley (fungi) wrote :

Also, since nobody has explained why this was set as a suspected security vulnerability, I've switched it back to a normal bug. This isn't something for which our vulnerability management team will issue a security advisory.

Revision history for this message
Matthias Runge (mrunge) wrote :

adding: this issue breaks juno stable periodic rebuilds.

I'm quite sure, this is a keystone issue and not a horizon issue, as horizon didn't add a dependency on oslo.* for juno lately:

http://logs.openstack.org/periodic-stable/periodic-horizon-python27-juno/e2cfffc/

Changed in horizon:
status: New → Confirmed
importance: Undecided → High
status: Confirmed → New
status: New → Incomplete
importance: High → Undecided
Changed in python-keystoneclient:
status: New → Confirmed
Revision history for this message
Victor Ryzhenkin (vryzhenkin) wrote :

Hey folks! Looks like python-keystoneclient with latest release for stable/juno have no caps for requirements. =(

https://github.com/openstack/requirements/blob/stable/juno/global-requirements.txt#L112

https://github.com/openstack/python-keystoneclient/blob/1.1.0/requirements.txt#L12

But in stable/juno branch caps already exists.

https://github.com/openstack/python-keystoneclient/blob/stable/juno/requirements.txt#L12

Guys, can u do a release for python-keystoneclient for stable/juno with latest stable/juno client code, please?

Changed in oslo.i18n:
status: New → Invalid
Revision history for this message
Davanum Srinivas (DIMS) (dims-v) wrote :

Here are the changes in stable/juno:
http://paste.openstack.org/show/324859/

Revision history for this message
Davanum Srinivas (DIMS) (dims-v) wrote :

Looks like we need to cut 1.1.1 off of stable/juno

Matthias Runge (mrunge)
Changed in django-openstack-auth:
status: New → Confirmed
status: Confirmed → New
Revision history for this message
Jeremy Stanley (fungi) wrote :

Since python-keystoneclient 1.1.1 was tagged and uploaded to PyPI about 6 hours ago, this should (in theory) be fixed.

Revision history for this message
Javier (javierpalomo) wrote :
Download full text (25.4 KiB)

@fungi, indeed, seems to be fixed:

➜ /tmp git clone <email address hidden>:openstack/horizon.git
Cloning into 'horizon'...
remote: Counting objects: 98595, done.
remote: Compressing objects: 100% (52/52), done.
remote: Total 98595 (delta 14), reused 2 (delta 2), pack-reused 98541
Receiving objects: 100% (98595/98595), 148.32 MiB | 3.16 MiB/s, done.
Resolving deltas: 100% (63551/63551), done.
Checking connectivity... done.
➜ /tmp cd horizon
➜ horizon git:(master) ./run_tests.sh
Checking environment.
Environment not found. Install? (Y/n) Y
Fetching new src packages...
Creating venv... done.
Installing dependencies with pip (this can take a while)...
You are using pip version 7.0.1, however version 7.1.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
DEPRECATION: --download-cache has been deprecated and will be removed in the future. Pip now automatically uses and configures its cache.
Collecting pip>=1.4
  Using cached pip-7.1.0-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 7.0.1
    Uninstalling pip-7.0.1:
      Successfully uninstalled pip-7.0.1
Successfully installed pip-7.1.0
DEPRECATION: --download-cache has been deprecated and will be removed in the future. Pip now automatically uses and configures its cache.
Collecting setuptools
  Using cached setuptools-18.0.1-py2.py3-none-any.whl
Installing collected packages: setuptools
  Found existing installation: setuptools 16.0
    Uninstalling setuptools-16.0:
      Successfully uninstalled setuptools-16.0
Successfully installed setuptools-18.0.1
DEPRECATION: --download-cache has been deprecated and will be removed in the future. Pip now automatically uses and configures its cache.
Collecting pbr
  Using cached pbr-1.2.0-py2.py3-none-any.whl
Installing collected packages: pbr
Successfully installed pbr-1.2.0
DEPRECATION: --download-cache has been deprecated and will be removed in the future. Pip now automatically uses and configures its cache.
Requirement already up-to-date: pbr<2.0,>=0.11 in ./.venv/lib/python2.7/site-packages (from -r /tmp/horizon/requirements.txt (line 1))
Collecting Babel>=1.3 (from -r /tmp/horizon/requirements.txt (line 2))
Collecting Django<1.8,>=1.4.2 (from -r /tmp/horizon/requirements.txt (line 3))
  Using cached Django-1.7.8-py2.py3-none-any.whl
Collecting Pint>=0.5 (from -r /tmp/horizon/requirements.txt (line 4))
Collecting django-babel>=0.3.4 (from -r /tmp/horizon/requirements.txt (line 5))
  Downloading django_babel-0.4.0-py2.py3-none-any.whl
Collecting django-compressor>=1.4 (from -r /tmp/horizon/requirements.txt (line 6))
  Using cached django_compressor-1.5-py2.py3-none-any.whl
Collecting django-openstack-auth!=1.1.8,>=1.1.7 (from -r /tmp/horizon/requirements.txt (line 7))
  Downloading django_openstack_auth-1.3.1-py2-none-any.whl (103kB)
    100% |████████████████████████████████| 106kB 1.1MB/s
Collecting django-pyscss>=2.0.2 (from -r /tmp/horizon/requirements.txt (line 8))
  Downloading django-pyscss-2.0.2.tar.gz
Collecting eventlet>=0.17.4 (from -r /tmp/horizon/requirements.txt (line 9))
  Using cached eventlet-0.17.4-py2.py3-none-any.whl
Collecting httplib2>=0.7.5 (from -r...

David Lyle (david-lyle)
Changed in django-openstack-auth:
status: New → Invalid
algerwang (wang-weijie)
Changed in horizon:
assignee: algerwang (wang-weijie) → nobody
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on horizon (stable/juno)

Change abandoned by algerwang (wang.weijie@99cloud.net) on branch: stable/juno
Review: https://review.openstack.org/196042

Revision history for this message
Matthias Runge (mrunge) wrote :

was fixed recently.

Changed in horizon:
status: Incomplete → Fix Released
importance: Undecided → Medium
Revision history for this message
Steve Martinelli (stevemar) wrote :

reading the backlog, this seems fixed on the keystoneclient side, marking this as fix released

Changed in python-keystoneclient:
importance: Undecided → Medium
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.