[dashboard] "Show details" is not working on deployments page

Bug #1304902 reported by Ekaterina Chernova
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Murano
Fix Released
Medium
Timur Sufiev

Bug Description

1) Create environment, add application to it
2) Deploy environment
3) Click More->Deployments
4) Click Show details button

Here we should see history of environment deployments.
But this trach had been appered:

Environment:

Request Method: GET
Request URL: http://0.0.0.0:8080/murano/f89c8596dc6b4ed989d26ec30ba13a41/deployments/264fcaacf8ef427398d85fecf64bfaf0

Django Version: 1.5.5
Python Version: 2.7.3
Installed Applications:
('openstack_dashboard',
 'django.contrib.contenttypes',
 'django.contrib.auth',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.humanize',
 'compressor',
 'horizon',
 'openstack_dashboard.dashboards.project',
 'openstack_dashboard.dashboards.admin',
 'openstack_dashboard.dashboards.settings',
 'openstack_auth',
 'floppyforms',
 'muranodashboard')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'muranodashboard.middleware.ExceptionMiddleware',
 'django.middleware.doc.XViewMiddleware',
 'django.middleware.locale.LocaleMiddleware')

Template error:
In template /home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/horizon/templates/horizon/common/_data_table.html, error at line 5
   'NoneType' object is not iterable
   1 : {% load i18n %}

   2 : {% with table.needs_form_wrapper as needs_form_wrapper %}

   3 : <div class="table_wrapper">

   4 : {% if needs_form_wrapper %}<form action="{{ table.get_full_url }}" method="POST">{% csrf_token %}{% endif %}

   5 : {% with columns=table.get_columns rows=table.get_rows %}

   6 : {% block table %}

   7 : <table id="{{ table.name }}" class="table table-bordered table-striped datatable">

   8 : <thead>

   9 : {% block table_caption %}

   10 : <tr class='table_caption'>

   11 : <th class='table_header' colspan='{{ columns|length }}'>

   12 : <h3 class='table_title'>{{ table }}</h3>

   13 : {{ table.render_table_actions }}

   14 : </th>

   15 : </tr>

Traceback:
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  115. response = callback(request, *callback_args, **callback_kwargs)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/horizon/decorators.py" in dec
  38. return view_func(request, *args, **kwargs)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/horizon/decorators.py" in dec
  54. return view_func(request, *args, **kwargs)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/horizon/decorators.py" in dec
  38. return view_func(request, *args, **kwargs)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/views/generic/base.py" in view
  68. return self.dispatch(request, *args, **kwargs)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/views/generic/base.py" in dispatch
  86. return handler(request, *args, **kwargs)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/horizon/tabs/views.py" in get
  146. return self.handle_tabbed_response(context["tab_group"], context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/horizon/tabs/views.py" in handle_tabbed_response
  68. return self.render_to_response(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/horizon/tabs/views.py" in render_to_response
  81. response.render()
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/response.py" in render
  105. self.content = self.rendered_content
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/response.py" in rendered_content
  82. content = template.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in render
  140. return self._render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in _render
  134. return self.nodelist.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in render
  830. bit = self.render_node(node, context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  74. return node.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  124. return compiled_parent._render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in _render
  134. return self.nodelist.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in render
  830. bit = self.render_node(node, context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  74. return node.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  63. result = block.nodelist.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in render
  830. bit = self.render_node(node, context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  74. return node.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  63. result = block.nodelist.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in render
  830. bit = self.render_node(node, context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  74. return node.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/debug.py" in render
  84. output = self.filter_expression.resolve(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in resolve
  578. obj = self.var.resolve(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in resolve
  728. value = self._resolve_lookup(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in _resolve_lookup
  779. current = current()
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/horizon/tabs/base.py" in render
  170. return render_to_string(self.template_name, {"tab_group": self})
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/loader.py" in render_to_string
  172. return t.render(Context(dictionary))
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in render
  140. return self._render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in _render
  134. return self.nodelist.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in render
  830. bit = self.render_node(node, context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  74. return node.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
  485. output = self.nodelist.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in render
  830. bit = self.render_node(node, context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  74. return node.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
  285. return nodelist.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in render
  830. bit = self.render_node(node, context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  74. return node.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
  189. nodelist.append(node.render(context))
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/debug.py" in render
  84. output = self.filter_expression.resolve(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in resolve
  578. obj = self.var.resolve(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in resolve
  728. value = self._resolve_lookup(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in _resolve_lookup
  779. current = current()
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/horizon/tabs/base.py" in render
  307. return render_to_string(self.get_template_name(self.request), context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/loader.py" in render_to_string
  172. return t.render(Context(dictionary))
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in render
  140. return self._render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in _render
  134. return self.nodelist.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in render
  830. bit = self.render_node(node, context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  74. return node.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/debug.py" in render
  84. output = self.filter_expression.resolve(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in resolve
  578. obj = self.var.resolve(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in resolve
  728. value = self._resolve_lookup(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in _resolve_lookup
  779. current = current()
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/horizon/tables/base.py" in render
  1149. return table_template.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in render
  140. return self._render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in _render
  134. return self.nodelist.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in render
  830. bit = self.render_node(node, context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  74. return node.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
  485. output = self.nodelist.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in render
  830. bit = self.render_node(node, context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
  74. return node.render(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
  483. six.iteritems(self.extra_context)])
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in resolve
  578. obj = self.var.resolve(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in resolve
  728. value = self._resolve_lookup(context)
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/django/template/base.py" in _resolve_lookup
  779. current = current()
File "/home/fervent/Projects/dashboard_test/.venv/local/lib/python2.7/site-packages/horizon/tables/base.py" in get_rows
  1589. for datum in self.filtered_data:

Exception Type: TemplateSyntaxError at /murano/f89c8596dc6b4ed989d26ec30ba13a41/deployments/264fcaacf8ef427398d85fecf64bfaf0
Exception Value: 'NoneType' object is not iterable

Tags: dashboard
Timur Sufiev (tsufiev-x)
tags: added: dashboard
description: updated
Changed in murano:
status: New → Confirmed
Timur Sufiev (tsufiev-x)
summary: - "Show details" is not working on deployments page
+ [dashboard] "Show details" is not working on deployments page
Timur Sufiev (tsufiev-x)
Changed in murano:
importance: Undecided → Medium
assignee: nobody → Timur Sufiev (tsufiev-x)
milestone: none → 0.5
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to murano-dashboard (master)

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

Changed in murano:
status: Confirmed → In Progress
Revision history for this message
Openstack Gerrit (openstack-gerrit) wrote : Fix proposed to murano-api (master)

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

Revision history for this message
Openstack Gerrit (openstack-gerrit) wrote : Fix merged to murano-api (master)

Reviewed: https://review.openstack.org/88008
Committed: https://git.openstack.org/cgit/stackforge/murano-api/commit/?id=d9f86d0b74bacfe1f38dba5058aa2d9d16421016
Submitter: Jenkins
Branch: master

commit d9f86d0b74bacfe1f38dba5058aa2d9d16421016
Author: Timur Sufiev <email address hidden>
Date: Wed Apr 16 19:45:43 2014 +0400

    Replace 'applications' in deployments data with 'services'

    Change-Id: I9ef5f367899a9bd9830a4437954f86ff6dd00958
    Partial-Bug: #1304902

Revision history for this message
Openstack Gerrit (openstack-gerrit) wrote : Fix merged to murano-dashboard (master)

Reviewed: https://review.openstack.org/86569
Committed: https://git.openstack.org/cgit/stackforge/murano-dashboard/commit/?id=885c35ed7406e53a1ceac25dc65a8dc63a965f25
Submitter: Jenkins
Branch: master

commit 885c35ed7406e53a1ceac25dc65a8dc63a965f25
Author: Timur Sufiev <email address hidden>
Date: Thu Apr 17 13:07:31 2014 +0400

    Tailor Deployments Tab to the new object model

    Before sending object model to murano-api store all necessary data
    under ['?'][consts.DASHBOARD_ATTRS_KEY] key for later use by UI.

    Change-Id: Id97ca694ccc6df4066fd327b3b271e924368fdae
    Closes-Bug: #1304902

Changed in murano:
status: In Progress → Fix Committed
ruhe (ruhe)
Changed in murano:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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