Activity log for bug #1723142

Date Who What changed Old value New value Message
2017-10-12 14:49:49 Chenjun Shen bug added bug
2017-10-12 15:25:07 Gary W. Smith tags large-scale neutron
2017-10-13 08:36:04 Akihiro Motoki tags large-scale neutron large-scale topology-view
2017-10-13 09:08:44 Akihiro Motoki horizon: status New Confirmed
2017-10-13 09:09:08 Akihiro Motoki horizon: importance Undecided High
2017-10-13 09:09:11 Akihiro Motoki horizon: milestone queens-2
2017-10-13 09:46:42 Chenjun Shen description We use openstack-ansbile project (branch 14.1.0, so basically newton) to deploy our openstack cloud. How to reproduce problem: In our case, we have a big project, which has 400+ servers, and 26 networks. When we click project/network/network topology page, it times out. In the code, we found a scalability problem. Please see these lines: https://github.com/openstack/horizon/blob/master/openstack_dashboard/dashboards/project/network_topology/views.py#L251-L259 When loading network topology page (in _get_servers function), it iterates servers variable, and for each running server(instance), will make a i_console.get_console() call, and it's only sequentially. Imagine you have 1000 running servers in the project, each get_console() takes 200 milliseconds. So in the end in order to get all consoles, it will cost you 1000 x 200 (milliseconds) = 200 seconds. In openstack-ansible project, the default timeout for haproxy is only 50. So in the end it already times out for the user. Something even worse, in the network topology diagram, it seems to have an auto refresh enabled. So every 20-30(probably), it fires all the requests to backend again. I might have some suggestions. Either we make this console link in network topology configurable, or we fire the requests concurrently to backend? Thanks, Chenjun Shen We use openstack-ansbile project (branch 14.1.0, so basically newton) to deploy our openstack cloud. How to reproduce problem: In our case, we have a big project, which has 400+ servers, and 26 networks. When we click project/network/network topology page, it times out. In the code, we found a scalability problem. Please see these lines: https://github.com/openstack/horizon/blob/master/openstack_dashboard/dashboards/project/network_topology/views.py#L251-L259 When loading network topology page (in _get_servers function), it iterates servers variable, and for each running server(instance), will make a i_console.get_console() call, and it's only sequentially. Imagine you have 1000 running servers in the project, each get_console() takes 200 milliseconds. So in the end in order to get all consoles, it will cost you 1000 x 200 (milliseconds) = 200 seconds. In openstack-ansible project, the default timeout for haproxy is only 50. So in the end it already times out for the user. Something even worse, in the network topology diagram, it seems to have an auto refresh enabled. So every 20-30 seconds(probably), it fires all the requests to backend again. I might have some suggestions. Either we make this console link in network topology configurable, or we fire the requests concurrently to backend? Thanks, Chenjun Shen
2017-11-06 03:25:45 Sam Morrison bug added subscriber Sam Morrison
2017-11-06 20:48:12 OpenStack Infra horizon: status Confirmed In Progress
2017-11-06 20:48:12 OpenStack Infra horizon: assignee Chenjun Shen (cshen)
2017-11-15 04:39:27 OpenStack Infra horizon: assignee Chenjun Shen (cshen) Akihiro Motoki (amotoki)
2017-11-15 04:41:34 Akihiro Motoki horizon: assignee Akihiro Motoki (amotoki) Chenjun Shen (cshen)
2017-11-30 11:52:41 OpenStack Infra horizon: assignee Chenjun Shen (cshen) Akihiro Motoki (amotoki)
2017-12-07 03:10:49 Ying Zuo horizon: milestone queens-2 queens-3
2017-12-18 04:14:16 OpenStack Infra horizon: status In Progress Fix Released
2018-01-10 20:44:37 OpenStack Infra tags large-scale topology-view in-stable-pike large-scale topology-view
2018-02-01 04:56:02 OpenStack Infra tags in-stable-pike large-scale topology-view in-stable-ocata in-stable-pike large-scale topology-view