[SRU] config OPENSTACK_INSTANCE_RETRIEVE_IP_ADDRESSES does not apply to instance detail page
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
OpenStack Dashboard (Horizon) |
Fix Committed
|
Undecided
|
Unassigned | |||
Ubuntu Cloud Archive |
Fix Released
|
Undecided
|
Unassigned | |||
Antelope |
Fix Released
|
Medium
|
Unassigned | |||
Bobcat |
Fix Released
|
Undecided
|
Unassigned | |||
Caracal |
Fix Released
|
Undecided
|
Unassigned | |||
Ussuri |
Fix Committed
|
Undecided
|
Unassigned | |||
Victoria |
Won't Fix
|
Undecided
|
Unassigned | |||
Wallaby |
Won't Fix
|
Undecided
|
Unassigned | |||
Xena |
Won't Fix
|
Undecided
|
Unassigned | |||
Yoga |
Fix Released
|
Undecided
|
Unassigned | |||
Zed |
Won't Fix
|
Undecided
|
Unassigned | |||
horizon (Ubuntu) | Status tracked in Oracular | |||||
Focal |
Fix Released
|
Medium
|
Rodrigo Barbieri | |||
Jammy |
Fix Released
|
Medium
|
Rodrigo Barbieri | |||
Mantic |
Fix Released
|
Medium
|
Rodrigo Barbieri | |||
Noble |
Fix Released
|
Undecided
|
Unassigned | |||
Oracular |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Setting the config option OPENSTACK_
The usage of the config option in the code could be adjusted to also be used when loading the instance details page, thus speeding up the page loading there as well.
===============
SRU Description
===============
[Impact]
Environments that have too many neutron (networking) ports are
very slow to load the instance list and instance detail pages.
The existing config OPENSTACK_
can be set to False for not retrieving/
(which requires the expensive/slow calls for neutron port list).
That does speed up the loading of the _instance list_ page,
but it's not applied to the _single instance_ detail page,
which remains slow.
By applying the config option when loading the instance detail
page as well, we speed up instance detail page loading and we
have minimal side effects / behavior changes, which are already
the same seen when displaying the instance list anyway (see [1]):
- IP addresses are not included in the detail page
(this is aligned with the option's desired goal).
- Floating IP addresses (if used/available in the deployment)
may take a while to be visible, but a page reload helps [1]
(and users were already be subject to this in the list page):
"""
Note that when disabling the query to neutron it takes some time
until associated floating IPs are visible in the project instance
table and users may reload the table to check them.
"""
This admittedly introduces a behavior change, however in this
case it seems arguably reasonable/
- The _default behavior_ does not change, as the new change
is gated by the opt-in setting of config option to False.
- The _opt-in behavior_ change (once option is set to False)
is aligned with the _existing_ behavior/goal of that option
(i.e., not to retrieve/display IP addresses _somewhere_,
just _extending_ it from instance _list_ to _details_ too).
- Users opt into that option for it _to address the issue_
of slowness in Horizon when looking at instances (VMs),
but it actually _does not address it_ fully -- i.e., one
page (list) is addressed, but the other (details) is not.
This patch/change improves the behavior/does achieve the
intended goal (address slowness) in the details page too.
- This change is already present in upstream and Noble LTS,
so users would eventually get to it during cloud upgrades.
[Test case]
1. Setting up the env
1a. Deploy openstack env with horizon/
1b. Declare and set OPENSTACK_
2. Prepare to reproduce the bug
2a. Create a single VM successfully
2b. As we cannot easily create enough ports in the lab to replicate the slowness, we will rely on the message being present in the logs. Therefore, at this step we enable debug in horizon to see the messages. Set DEBUG to True in /etc/openstack-
3. Reproducing the bug
3a. Load the instance list page and verify that the following messages are not present in the logs:
GET /v2.0/floatingi
GET /v2.0/ports?
GET /v2.0/networks?
GET /v2.0/subnets
3b. Click on the instance to load the detail page and verify that the following messages ARE present in the logs:
GET /v2.0/floatingi
GET /v2.0/ports?
GET /v2.0/networks?
GET /v2.0/subnets
5. Install package that contains the fixed code
6. Confirm fix
6a. Repeat step 3a.
6b. Click on the instance to load the detail page and verify that the following messages are NOT present in the logs:
GET /v2.0/floatingi
GET /v2.0/ports?
GET /v2.0/networks?
GET /v2.0/subnets
[Where problems could occur]
The code has tested in upstream CI (without the addition of bug-specific functional tests) from master(Caracal) to stable/zed without any issue captured. Side effects documented at [1]. The code itself is a simple 2-liner with minimal to none chance of regression due to narrow scope of code change impact.
[Other Info]
None.
description: | updated |
summary: |
- config OPENSTACK_INSTANCE_RETRIEVE_IP_ADDRESSES does not apply to + [SRU] config OPENSTACK_INSTANCE_RETRIEVE_IP_ADDRESSES does not apply to instance detail page |
tags: | added: sts sts-sru-needed |
description: | updated |
tags: |
added: verification-done removed: verification-needed |
Patches already merged
https:/ /review. opendev. org/#/q/ I3e71a208a1c721 2e168d63a259f2a dddf27dbabf