Reviewed: https://review.openstack.org/524149 Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=974f0418efdf171132747ded4a556df7b7af03d1 Submitter: Zuul Branch: master
commit 974f0418efdf171132747ded4a556df7b7af03d1 Author: Akihiro Motoki <[email protected]> Date: Thu Nov 30 20:45:07 2017 +0900 Redirect VM console dynamically Previously when a user accesses the network topology panel horizon resolves VM console URL when returning server data. This requires one API call to nova per VM, and this causes a scaling issue. Actually there is no need to resolves VM console URL when the network topology. A console URL corresponding to a requested VM can be resolved when a user actually accesses a console. This reduces the number of API calls drastically and addresses the scaling issue reported in the bug report. Change-Id: Icc667449e2988e6227012a6e899835a97ce0d738 Closes-Bug: #1723142 ** Changed in: horizon Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Dashboard (Horizon). https://bugs.launchpad.net/bugs/1723142 Title: network topology page doesn't scale Status in OpenStack Dashboard (Horizon): Fix Released Bug 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 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 To manage notifications about this bug go to: https://bugs.launchpad.net/horizon/+bug/1723142/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

