components/openstack/horizon/patches/11-CVE-2014-3473-3474-3475.patch
author david.comay@oracle.com
Thu, 10 Jul 2014 13:27:03 -0700
branchs11-update
changeset 3200 16d08ab96b7f
permissions -rw-r--r--
18686478 kstat warning every minute in nova-compute log on SPARC 19061438 checkboxes related with 'create volume from Image' in the Horizon don't work 19064962 power state mapping for incomplete zone is incorrect 19065445 Horizon doesn't deal well with shutdown zones 19130253 pausing/suspension "successful" in horizon, though nothing happens 19136473 ZFSSA iSCSI Cinder Attach Volume Failed 19146728 missing an upstream utility 'dhcp_release' needed by instance termination 19148389 jsonpointer package missing as a dependency for jsonpatch 19158668 associating a new floating ip removes existing ipnat rules and re-adds them 19161623 problem in SERVICE/KEYSTONE 19166348 cinder & nova should default signing_dir explicitly for consistency 19166359 minor pkgfmt(1) issues with OpenStack manifests 19168609 System Info page doesn't work properly 19173435 problem in SERVICE/HORIZON 19181971 OpenStack pkg.summaries should include service type
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3200
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
     1
Upstream patch fixed in Havana 2013.2.4 and Icehouse 2014.1.2
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
     2
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
     3
From c844bd692894353c60b320005b804970605e910f Mon Sep 17 00:00:00 2001
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
     4
From: Julie Pichon <[email protected]>
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
     5
Date: Thu, 22 May 2014 16:45:03 +0100
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
     6
Subject: [PATCH] Fix multiple Cross-Site Scripting (XSS) vulnerabilities
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
     7
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
     8
 * Ensure user emails are properly escaped
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
     9
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    10
User emails in the Users and Groups panel are being passed through the
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    11
urlize filter to transform them into clickable links. However, urlize
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    12
expects input to be already escaped and safe. We should make sure to
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    13
escape the strings first as email addresses are not validated and can
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    14
contain any type of string.
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    15
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    16
Closes-Bug: #1320235
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    17
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    18
 * Ensure network names are properly escaped in the Launch Instance menu
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    19
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    20
Closes-Bug: #1322197
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    21
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    22
 * Escape the URLs generated for the Horizon tables
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    23
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    24
When generating the Horizon tables, there was an assumption that only
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    25
the anchor text needed to be escaped. However some URLs are generated
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    26
based on user-provided data and should be escaped as well. Also escape
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    27
the link attributes for good measure.
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    28
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    29
 * Use 'reverse' to generate the Resource URLs in the stacks tables
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    30
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    31
Closes-Bug: #1308727
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    32
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    33
Conflicts:
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    34
	horizon/tables/base.py
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    35
	openstack_dashboard/dashboards/admin/users/tables.py
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    36
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    37
Change-Id: Ic8a92e69f66c2d265a802f350e30f091181aa42e
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    38
---
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    39
 horizon/static/horizon/js/horizon.instances.js     |    9 ++++++++-
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    40
 horizon/tables/base.py                             |    4 +++-
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    41
 .../dashboards/admin/groups/tables.py              |    3 ++-
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    42
 .../dashboards/admin/users/tables.py               |    3 ++-
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    43
 .../dashboards/project/stacks/tables.py            |   10 ++++++++--
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    44
 .../dashboards/project/stacks/tabs.py              |    6 ++++++
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    45
 6 files changed, 29 insertions(+), 6 deletions(-)
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    46
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    47
diff --git a/horizon/static/horizon/js/horizon.instances.js b/horizon/static/horizon/js/horizon.instances.js
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    48
index c901180..c6ff323 100644
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    49
--- a/horizon/static/horizon/js/horizon.instances.js
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    50
+++ b/horizon/static/horizon/js/horizon.instances.js
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    51
@@ -51,8 +51,15 @@ horizon.instances = {
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    52
     $(this.get_network_element("")).each(function(){
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    53
       var $this = $(this);
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    54
       var $input = $this.children("input");
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    55
+      var name = $this.text().replace(/^\s+/,"")
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    56
+                             .replace(/&/g, '&amp;')
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    57
+                             .replace(/</g, '&lt;')
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    58
+                             .replace(/>/g, '&gt;')
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    59
+                             .replace(/"/g, '&quot;')
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    60
+                             .replace(/'/g, '&#x27;')
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    61
+                             .replace(/\//g, '&#x2F;');
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    62
       var network_property = {
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    63
-        name:$this.text().replace(/^\s+/,""),
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    64
+        name:name,
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    65
         id:$input.attr("id"),
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    66
         value:$input.attr("value")
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    67
       };
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    68
diff --git a/horizon/tables/base.py b/horizon/tables/base.py
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    69
index adc284c..9011b77 100644
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    70
--- a/horizon/tables/base.py
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    71
+++ b/horizon/tables/base.py
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    72
@@ -585,7 +585,9 @@ class Cell(html.HTMLElement):
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    73
             link_classes = ' '.join(self.column.link_classes)
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    74
             # Escape the data inside while allowing our HTML to render
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    75
             data = mark_safe('<a href="%s" class="%s">%s</a>' %
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    76
-                             (self.url, link_classes, escape(data)))
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    77
+                             (escape(self.url),
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    78
+                              escape(link_classes),
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    79
+                              escape(data)))
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    80
         return data
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    81
 
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    82
     @property
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    83
diff --git a/openstack_dashboard/dashboards/admin/groups/tables.py b/openstack_dashboard/dashboards/admin/groups/tables.py
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    84
index bce8f50..ff8103b 100644
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    85
--- a/openstack_dashboard/dashboards/admin/groups/tables.py
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    86
+++ b/openstack_dashboard/dashboards/admin/groups/tables.py
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    87
@@ -161,7 +161,8 @@ class AddMembersLink(tables.LinkAction):
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    88
 class UsersTable(tables.DataTable):
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    89
     name = tables.Column('name', verbose_name=_('User Name'))
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    90
     email = tables.Column('email', verbose_name=_('Email'),
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    91
-                          filters=[defaultfilters.urlize])
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    92
+                          filters=[defaultfilters.escape,
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    93
+                                   defaultfilters.urlize])
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    94
     id = tables.Column('id', verbose_name=_('User ID'))
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    95
     enabled = tables.Column('enabled', verbose_name=_('Enabled'),
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    96
                             status=True,
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    97
diff --git a/openstack_dashboard/dashboards/admin/users/tables.py b/openstack_dashboard/dashboards/admin/users/tables.py
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    98
index d47d68d..c0b0ea5 100644
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
    99
--- a/openstack_dashboard/dashboards/admin/users/tables.py
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   100
+++ b/openstack_dashboard/dashboards/admin/users/tables.py
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   101
@@ -117,7 +117,8 @@ class UsersTable(tables.DataTable):
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   102
     )
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   103
     name = tables.Column('name', verbose_name=_('User Name'))
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   104
     email = tables.Column('email', verbose_name=_('Email'),
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   105
-                          filters=[defaultfilters.urlize])
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   106
+                          filters=[defaultfilters.escape,
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   107
+                                   defaultfilters.urlize])
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   108
     # Default tenant is not returned from Keystone currently.
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   109
     #default_tenant = tables.Column('default_tenant',
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   110
     #                               verbose_name=_('Default Project'))
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   111
diff --git a/openstack_dashboard/dashboards/project/stacks/tables.py b/openstack_dashboard/dashboards/project/stacks/tables.py
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   112
index f0bc731..822726b 100644
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   113
--- a/openstack_dashboard/dashboards/project/stacks/tables.py
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   114
+++ b/openstack_dashboard/dashboards/project/stacks/tables.py
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   115
@@ -12,6 +12,7 @@
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   116
 # License for the specific language governing permissions and limitations
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   117
 # under the License.
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   118
 
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   119
+from django.core import urlresolvers
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   120
 from django.http import Http404  # noqa
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   121
 from django.template.defaultfilters import timesince  # noqa
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   122
 from django.template.defaultfilters import title  # noqa
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   123
@@ -94,11 +95,16 @@ class StacksTable(tables.DataTable):
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   124
         row_actions = (DeleteStack, )
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   125
 
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   126
 
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   127
+def get_resource_url(obj):
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   128
+    return urlresolvers.reverse('horizon:project:stacks:resource',
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   129
+                                args=(obj.stack_id, obj.resource_name))
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   130
+
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   131
+
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   132
 class EventsTable(tables.DataTable):
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   133
 
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   134
     logical_resource = tables.Column('resource_name',
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   135
                                      verbose_name=_("Stack Resource"),
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   136
-                                     link=lambda d: d.resource_name,)
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   137
+                                     link=get_resource_url)
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   138
     physical_resource = tables.Column('physical_resource_id',
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   139
                                       verbose_name=_("Resource"),
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   140
                                       link=mappings.resource_to_url)
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   141
@@ -142,7 +148,7 @@ class ResourcesTable(tables.DataTable):
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   142
 
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   143
     logical_resource = tables.Column('resource_name',
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   144
                                      verbose_name=_("Stack Resource"),
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   145
-                                     link=lambda d: d.resource_name)
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   146
+                                     link=get_resource_url)
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   147
     physical_resource = tables.Column('physical_resource_id',
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   148
                                      verbose_name=_("Resource"),
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   149
                                      link=mappings.resource_to_url)
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   150
diff --git a/openstack_dashboard/dashboards/project/stacks/tabs.py b/openstack_dashboard/dashboards/project/stacks/tabs.py
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   151
index 15ef833..b5886f3 100644
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   152
--- a/openstack_dashboard/dashboards/project/stacks/tabs.py
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   153
+++ b/openstack_dashboard/dashboards/project/stacks/tabs.py
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   154
@@ -75,6 +75,9 @@ class StackEventsTab(tabs.Tab):
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   155
             stack_identifier = '%s/%s' % (stack.stack_name, stack.id)
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   156
             events = api.heat.events_list(self.request, stack_identifier)
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   157
             LOG.debug('got events %s' % events)
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   158
+            # The stack id is needed to generate the resource URL.
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   159
+            for event in events:
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   160
+                event.stack_id = stack.id
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   161
         except Exception:
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   162
             events = []
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   163
             messages.error(request, _(
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   164
@@ -95,6 +98,9 @@ class StackResourcesTab(tabs.Tab):
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   165
             stack_identifier = '%s/%s' % (stack.stack_name, stack.id)
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   166
             resources = api.heat.resources_list(self.request, stack_identifier)
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   167
             LOG.debug('got resources %s' % resources)
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   168
+            # The stack id is needed to generate the resource URL.
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   169
+            for r in resources:
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   170
+                r.stack_id = stack.id
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   171
         except Exception:
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   172
             resources = []
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   173
             messages.error(request, _(
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   174
-- 
16d08ab96b7f 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents:
diff changeset
   175
1.7.9.5