SyntaxError at /auth/login

Bug #1001313 reported by Stuart Stent
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Dashboard (Horizon)
Fix Released
High
Ke Wu
Essex
Invalid
High
Registry Administrators

Bug Description

Error appears in both an installed environment and run_tests.sh
This is on a Centos 6.2 environment

Django/apache Log
---------------------------------------------
Environment:

Request Method: GET
Request URL: http://10.5.96.31/dashboard/auth/login

Django Version: 1.4
Python Version: 2.6.6
Installed Applications:
('openstack_dashboard',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'horizon',
 'horizon.dashboards.nova',
 'horizon.dashboards.syspanel',
 'horizon.dashboards.settings')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'openstack_dashboard.middleware.DashboardLogUnhandledExceptionsMiddleware',
 'horizon.middleware.HorizonMiddleware',
 'django.middleware.doc.XViewMiddleware',
 'django.middleware.locale.LocaleMiddleware')

Traceback:
File "/usr/lib/python2.6/site-packages/django/core/handlers/base.py" in get_response
  89. response = middleware_method(request)
File "/usr/lib/python2.6/site-packages/django/middleware/common.py" in process_request
  67. if (not urlresolvers.is_valid_path(request.path_info, urlconf) and
File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py" in is_valid_path
  531. resolve(path, urlconf)
File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py" in resolve
  420. return get_resolver(urlconf).resolve(path)
File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py" in resolve
  298. for pattern in self.url_patterns:
File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py" in url_patterns
  328. patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py" in urlconf_module
  323. self._urlconf_module = import_module(self.urlconf_name)
File "/usr/lib/python2.6/site-packages/django/utils/importlib.py" in import_module
  35. __import__(name)
File "/usr/lib/python2.6/site-packages/openstack_dashboard/wsgi/../../openstack_dashboard/urls.py" in <module>
  38. url(r'', include(horizon.urls)))
File "/usr/lib/python2.6/site-packages/django/conf/urls/__init__.py" in include
  25. patterns = getattr(urlconf_module, 'urlpatterns', urlconf_module)
File "/usr/lib/python2.6/site-packages/django/utils/functional.py" in inner
  184. self._setup()
File "/usr/lib/python2.6/site-packages/django/utils/functional.py" in _setup
  248. self._wrapped = self._setupfunc()
File "/usr/lib/python2.6/site-packages/openstack_dashboard/wsgi/../../horizon/base.py" in url_patterns
  742. return self._urls()[0]
File "/usr/lib/python2.6/site-packages/openstack_dashboard/wsgi/../../horizon/base.py" in _urls
  774. url(r'^%s/' % dash.slug, include(dash._decorated_urls)))
File "/usr/lib/python2.6/site-packages/openstack_dashboard/wsgi/../../horizon/base.py" in _decorated_urls
  481. url(r'^%s/' % panel.slug, include(panel._decorated_urls)))
File "/usr/lib/python2.6/site-packages/openstack_dashboard/wsgi/../../horizon/base.py" in _decorated_urls
  248. urlpatterns = self._get_default_urlpatterns()
File "/usr/lib/python2.6/site-packages/openstack_dashboard/wsgi/../../horizon/base.py" in _get_default_urlpatterns
  96. urls_mod = import_module('.urls', package_string)
File "/usr/lib/python2.6/site-packages/django/utils/importlib.py" in import_module
  35. __import__(name)
File "/usr/lib/python2.6/site-packages/openstack_dashboard/wsgi/../../horizon/dashboards/nova/access_and_security/urls.py" in <module>
  26. from .views import IndexView

Exception Type: SyntaxError at /auth/login
Exception Value: invalid syntax (views.py, line 81)

------------------------------------------------------------------------------
run_tests.sh ouput

-----------------------------------------------------------------------------
======================================================================
ERROR: Tests everything that happens when the table is instantiated.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/git/horizon/horizon/tests/table_tests.py", line 202, in test_table_instantiation
    self.assertQuerysetEqual(self.table.get_row_actions(TEST_DATA[0]),
  File "/git/horizon/horizon/tables/base.py", line 847, in get_row_actions
    bound_action.bound_url = bound_action.get_link_url(datum)
  File "/git/horizon/horizon/tests/table_tests.py", line 64, in get_link_url
    return reverse(self.url)
  File "/git/horizon/.venv/lib/python2.6/site-packages/django/core/urlresolvers.py", line 447, in reverse
    app_list = resolver.app_dict[ns]
  File "/git/horizon/.venv/lib/python2.6/site-packages/django/core/urlresolvers.py", line 290, in app_dict
    self._populate()
  File "/git/horizon/.venv/lib/python2.6/site-packages/django/core/urlresolvers.py", line 242, in _populate
    for pattern in reversed(self.url_patterns):
  File "/git/horizon/.venv/lib/python2.6/site-packages/django/core/urlresolvers.py", line 328, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/git/horizon/.venv/lib/python2.6/site-packages/django/core/urlresolvers.py", line 323, in urlconf_module
    self._urlconf_module = import_module(self.urlconf_name)
  File "/git/horizon/.venv/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/git/horizon/horizon/tests/testurls.py", line 32, in <module>
    url(r'', include(horizon.urls)),
  File "/git/horizon/.venv/lib/python2.6/site-packages/django/conf/urls/__init__.py", line 25, in include
    patterns = getattr(urlconf_module, 'urlpatterns', urlconf_module)
  File "/git/horizon/.venv/lib/python2.6/site-packages/django/utils/functional.py", line 184, in inner
    self._setup()
  File "/git/horizon/.venv/lib/python2.6/site-packages/django/utils/functional.py", line 248, in _setup
    self._wrapped = self._setupfunc()
  File "/git/horizon/horizon/base.py", line 742, in url_patterns
    return self._urls()[0]
  File "/git/horizon/horizon/base.py", line 774, in _urls
    url(r'^%s/' % dash.slug, include(dash._decorated_urls)))
  File "/git/horizon/horizon/base.py", line 481, in _decorated_urls
    url(r'^%s/' % panel.slug, include(panel._decorated_urls)))
  File "/git/horizon/horizon/base.py", line 248, in _decorated_urls
    urlpatterns = self._get_default_urlpatterns()
  File "/git/horizon/horizon/base.py", line 96, in _get_default_urlpatterns
    urls_mod = import_module('.urls', package_string)
  File "/git/horizon/.venv/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/git/horizon/horizon/dashboards/nova/access_and_security/urls.py", line 26, in <module>
    from .views import IndexView
  File "/git/horizon/horizon/dashboards/nova/access_and_security/views.py", line 81
    instances_dict = {obj.id: obj for obj in instances}
                                    ^
SyntaxError: invalid syntax

Revision history for this message
Chmouel Boudjnah (chmouel) wrote :

FYI: This idiom works only on python 2.7+ or python3 the bug reporter is using Centos's python 2.6.x

Revision history for this message
Gabriel Hurley (gabriel-hurley) wrote :

Yep. We should just use the more broadly supported "dict([key, value])" syntax for that. Pretty easy fix. Too bad we don't have tox set up to test with Python 2.6 directly.

Changed in horizon:
assignee: nobody → Nebula (nebula)
importance: Undecided → High
milestone: none → folsom-1
status: New → Confirmed
tags: added: essex-backport-potential
Ke Wu (ke-wu)
Changed in horizon:
assignee: Nebula (nebula) → Ke Wu (ke-wu)
summary: - SyntaxError at /auth/login
+ Horizon: SyntaxError at /auth/login
summary: - Horizon: SyntaxError at /auth/login
+ SyntaxError at /auth/login
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to horizon (master)

Fix proposed to branch: master
Review: https://review.openstack.org/7644

Changed in horizon:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to horizon (master)

Reviewed: https://review.openstack.org/7644
Committed: http://github.com/openstack/horizon/commit/0d3ea269718ba317829a5218a5cd0459050e3a2d
Submitter: Jenkins
Branch: master

commit 0d3ea269718ba317829a5218a5cd0459050e3a2d
Author: Ke Wu <email address hidden>
Date: Mon May 21 13:49:05 2012 -0700

    bug #1001313, using dict(list) method to support python2.6

    Change-Id: Idd372aa80f81f77a76fd53d26afbd61c4ffa78eb

Changed in horizon:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in horizon:
status: Fix Committed → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to horizon (stable/essex)

Fix proposed to branch: stable/essex
Review: https://review.openstack.org/7724

Revision history for this message
Devin Carlen (devcamcar) wrote :
Revision history for this message
Mark McLoughlin (markmc) wrote :

Hmm, from gerrit, it looks like this wasn't a bug in essex.

Thierry Carrez (ttx)
Changed in horizon:
milestone: folsom-1 → 2012.2
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.