Comment 0 for bug 1733833

Revision history for this message
lidong (lidong007) wrote :

Reproduce:
1. Cluster/Clusters page
2. Click Tab Nodes
3. The nodelist of the cluster didn't appear all the time
----------------------------------------------------------
The log of horizon belowed:
[Wed Nov 22 08:04:42.390644 2017] [:error] [pid 19] Error while rendering table rows.
[Wed Nov 22 08:04:42.390720 2017] [:error] [pid 19] Traceback (most recent call last):
[Wed Nov 22 08:04:42.390726 2017] [:error] [pid 19] File "/var/lib/kolla/venv/lib/python2.7/site-packages/horizon/tables/base.py", line 1871, in get_rows
[Wed Nov 22 08:04:42.390731 2017] [:error] [pid 19] row = self._meta.row_class(self, datum)
[Wed Nov 22 08:04:42.390734 2017] [:error] [pid 19] File "/var/lib/kolla/venv/lib/python2.7/site-packages/horizon/tables/base.py", line 575, in __init__
[Wed Nov 22 08:04:42.390738 2017] [:error] [pid 19] self.load_cells()
[Wed Nov 22 08:04:42.390741 2017] [:error] [pid 19] File "/var/lib/kolla/venv/lib/python2.7/site-packages/horizon/tables/base.py", line 601, in load_cells
[Wed Nov 22 08:04:42.390745 2017] [:error] [pid 19] cell = table._meta.cell_class(datum, column, self)
[Wed Nov 22 08:04:42.390748 2017] [:error] [pid 19] File "/var/lib/kolla/venv/lib/python2.7/site-packages/horizon/tables/base.py", line 711, in __init__
[Wed Nov 22 08:04:42.390751 2017] [:error] [pid 19] self.data = self.get_data(datum, column, row)
[Wed Nov 22 08:04:42.390754 2017] [:error] [pid 19] File "/var/lib/kolla/venv/lib/python2.7/site-packages/horizon/tables/base.py", line 722, in get_data
[Wed Nov 22 08:04:42.390765 2017] [:error] [pid 19] six.text_type(table.get_object_id(datum)),
[Wed Nov 22 08:04:42.390768 2017] [:error] [pid 19] File "/var/lib/kolla/venv/lib/python2.7/site-packages/horizon/tables/base.py", line 1765, in get_object_id
[Wed Nov 22 08:04:42.390771 2017] [:error] [pid 19] return datum.id
[Wed Nov 22 08:04:42.390774 2017] [:error] [pid 19] AttributeError: 'list' object has no attribute 'id'
[Wed Nov 22 08:04:42.393261 2017] [:error] [pid 19] Internal Server Error: /cluster/812ae7c3-981f-4a35-b6ea-35d6d4782f70/
Then i read the code of senlin-dashboard, i found that belowed :

In this file : https://github.com/openstack/senlin-dashboard/blob/master/senlin_dashboard/api/senlin.py
line 362: return [Node(n) for n in nodes], has_more_data, has_prev_data in fun node_list
and in this file : https://github.com/openstack/senlin-dashboard/blob/master/senlin_dashboard/cluster/clusters/tabs.py
line 74: cluster_nodes = senlin.node_list(self.request,
cluster_id=cluster_id) in fun get_nodes_data
And i change it(line 74) to cluster_nodes, self._more, self._prev = senlin.node_list(self.request,
                                             cluster_id=cluster_id)
Finally, thie nodelist of the cluster appeared soon