<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{mso-style-priority:99;
mso-style-link:"Balloon Text Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:8.0pt;
font-family:"Tahoma","sans-serif";
mso-fareast-language:EN-US;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.BalloonTextChar
{mso-style-name:"Balloon Text Char";
mso-style-priority:99;
mso-style-link:"Balloon Text";
font-family:"Tahoma","sans-serif";}
.MsoChpDefault
{mso-style-type:export-only;
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-IN link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>Hello all,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I was previously using dashboard, nova-api and keystone on the same host. I have now moved them to separate boxes and everything else seems to be fine except for the dashboard. It is broken. Upon navigating to the URL it displays the login prompt but after entering the credentials, I get the following error.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Request Method: GET<o:p></o:p></p><p class=MsoNormal>Request URL: http://x.x.x.x/syspanel/<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Django Version: 1.3.1<o:p></o:p></p><p class=MsoNormal>Python Version: 2.7.3<o:p></o:p></p><p class=MsoNormal>Installed Applications:<o:p></o:p></p><p class=MsoNormal>['openstack_dashboard',<o:p></o:p></p><p class=MsoNormal> 'django.contrib.sessions',<o:p></o:p></p><p class=MsoNormal> 'django.contrib.messages',<o:p></o:p></p><p class=MsoNormal> 'django.contrib.staticfiles',<o:p></o:p></p><p class=MsoNormal> 'django_nose',<o:p></o:p></p><p class=MsoNormal> 'horizon',<o:p></o:p></p><p class=MsoNormal> 'horizon.dashboards.nova',<o:p></o:p></p><p class=MsoNormal> 'horizon.dashboards.syspanel',<o:p></o:p></p><p class=MsoNormal> 'horizon.dashboards.settings']<o:p></o:p></p><p class=MsoNormal>Installed Middleware:<o:p></o:p></p><p class=MsoNormal>('django.middleware.common.CommonMiddleware',<o:p></o:p></p><p class=MsoNormal> 'django.middleware.csrf.CsrfViewMiddleware',<o:p></o:p></p><p class=MsoNormal> 'django.contrib.sessions.middleware.SessionMiddleware',<o:p></o:p></p><p class=MsoNormal> 'django.contrib.messages.middleware.MessageMiddleware',<o:p></o:p></p><p class=MsoNormal> 'openstack_dashboard.middleware.DashboardLogUnhandledExceptionsMiddleware',<o:p></o:p></p><p class=MsoNormal> 'horizon.middleware.HorizonMiddleware',<o:p></o:p></p><p class=MsoNormal> 'django.middleware.doc.XViewMiddleware',<o:p></o:p></p><p class=MsoNormal> 'django.middleware.locale.LocaleMiddleware')<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Traceback:<o:p></o:p></p><p class=MsoNormal>File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response<o:p></o:p></p><p class=MsoNormal> 111. response = callback(request, *callback_args, **callback_kwargs)<o:p></o:p></p><p class=MsoNormal>File "/usr/lib/python2.7/dist-packages/horizon/decorators.py" in dec<o:p></o:p></p><p class=MsoNormal> 40. return view_func(request, *args, **kwargs)<o:p></o:p></p><p class=MsoNormal>File "/usr/lib/python2.7/dist-packages/horizon/decorators.py" in dec<o:p></o:p></p><p class=MsoNormal> 88. return view_func(request, *args, **kwargs)<o:p></o:p></p><p class=MsoNormal>File "/usr/lib/python2.7/dist-packages/horizon/decorators.py" in dec<o:p></o:p></p><p class=MsoNormal> 55. return view_func(request, *args, **kwargs)<o:p></o:p></p><p class=MsoNormal>File "/usr/lib/python2.7/dist-packages/horizon/decorators.py" in dec<o:p></o:p></p><p class=MsoNormal> 40. return view_func(request, *args, **kwargs)<o:p></o:p></p><p class=MsoNormal>File "/usr/lib/python2.7/dist-packages/horizon/decorators.py" in dec<o:p></o:p></p><p class=MsoNormal> 88. return view_func(request, *args, **kwargs)<o:p></o:p></p><p class=MsoNormal>File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py" in view<o:p></o:p></p><p class=MsoNormal> 47. return self.dispatch(request, *args, **kwargs)<o:p></o:p></p><p class=MsoNormal>File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py" in dispatch<o:p></o:p></p><p class=MsoNormal> 68. return handler(request, *args, **kwargs)<o:p></o:p></p><p class=MsoNormal>File "/usr/lib/python2.7/dist-packages/horizon/tables/views.py" in get<o:p></o:p></p><p class=MsoNormal> 105. handled = self.construct_tables()<o:p></o:p></p><p class=MsoNormal>File "/usr/lib/python2.7/dist-packages/horizon/tables/views.py" in construct_tables<o:p></o:p></p><p class=MsoNormal> 96. handled = self.handle_table(table)<o:p></o:p></p><p class=MsoNormal>File "/usr/lib/python2.7/dist-packages/horizon/tables/views.py" in handle_table<o:p></o:p></p><p class=MsoNormal> 68. data = self._get_data_dict()<o:p></o:p></p><p class=MsoNormal>File "/usr/lib/python2.7/dist-packages/horizon/tables/views.py" in _get_data_dict<o:p></o:p></p><p class=MsoNormal> 132. self._data = {self.table_class._meta.name: self.get_data()}<o:p></o:p></p><p class=MsoNormal>File "/usr/lib/python2.7/dist-packages/horizon/usage/views.py" in get_data<o:p></o:p></p><p class=MsoNormal> 33. self.usage.summarize(*self.usage.get_date_range())<o:p></o:p></p><p class=MsoNormal>File "/usr/lib/python2.7/dist-packages/horizon/usage/base.py" in summarize<o:p></o:p></p><p class=MsoNormal> 94. _('Unable to retrieve usage information.'))<o:p></o:p></p><p class=MsoNormal>File "/usr/lib/python2.7/dist-packages/horizon/usage/base.py" in summarize<o:p></o:p></p><p class=MsoNormal> 91. self.usage_list = self.get_usage_list(start, end)<o:p></o:p></p><p class=MsoNormal>File "/usr/lib/python2.7/dist-packages/horizon/usage/base.py" in get_usage_list<o:p></o:p></p><p class=MsoNormal> 114. return api.usage_list(self.request, start, end)<o:p></o:p></p><p class=MsoNormal>File "/usr/lib/python2.7/dist-packages/horizon/api/nova.py" in usage_list<o:p></o:p></p><p class=MsoNormal> 399. return [Usage(u) for u in novaclient(request).usage.list(start, end, True)]<o:p></o:p></p><p class=MsoNormal>File "/usr/lib/python2.7/dist-packages/novaclient/v1_1/usage.py" in list<o:p></o:p></p><p class=MsoNormal> 35. "tenant_usages")<o:p></o:p></p><p class=MsoNormal>File "/usr/lib/python2.7/dist-packages/novaclient/base.py" in _list<o:p></o:p></p><p class=MsoNormal> 76. data = body[response_key]<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Exception Type: TypeError at /syspanel/<o:p></o:p></p><p class=MsoNormal>Exception Value: string indices must be integers, not str<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Has anyone seen this before?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Regards,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Kavit<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>