Internal server error in gui when subcloud goes down

Bug #1890715 reported by Tyler Smith
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
StarlingX
Fix Released
Medium
Tyler Smith

Bug Description

Brief Description
-----------------
It is possible for a user to be redirected to an offline subcloud which results in the horizon error page.

Severity
--------
Major

Steps to Reproduce
------------------
Navigate to a subcloud which is managed but offline, or login from a fresh browser and be sent directly there (semi-reproducible, depends on the ordering of the keystone endpoints)

Expected Behavior
------------------
User is not sent to the offline subcloud

Actual Behavior
----------------
User sees the horizon error screen due to timeout exceptions being thrown after 5mins or so

Reproducibility
---------------
Intermittent

System Configuration
--------------------
Distributed Cloud

Branch/Pull Time/Commit
-----------------------
Master

Test Activity
-------------
Feature Testing

Workaround
----------
None, other than recovering the subcloud

Revision history for this message
Tyler Smith (tyler.smith) wrote :

There are 4 scenarios where a user can end up on an error page like this, the issue was noticed when the first scenario was hit:
1. The user logs into horizon for the first time or with a new browser, and the endpoints happen to be arranged in such a way that a subcloud is chosen to be the primary login region, and that subcloud is offline for whatever reason
2. The user jumps to a region which is managed but offline from the cloud overview page
3. The user was browsing a subcloud while it goes offline
4. The user was browsing an online subcloud and gets logged out, and when the user tries to log in again is automatically redirected to that subcloud which has since gone offline

I will submit a fix that will remedy scenarios 1 and 2. It looks like fixing 4 could only be done by introducing a new setting in upstream horizon to override the services_region cookie, and i don't see a practical way to fix scenario 3. The workaround for 3 and 4 is to clear your browser cookies

description: updated
Ghada Khalil (gkhalil)
Changed in starlingx:
assignee: nobody → Tyler Smith (tyler.smith)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to gui (master)

Reviewed: https://review.opendev.org/745230
Committed: https://git.openstack.org/cgit/starlingx/gui/commit/?id=f18c0eaa83cd47d13d477acd2a48eb87908a845d
Submitter: Zuul
Branch: master

commit f18c0eaa83cd47d13d477acd2a48eb87908a845d
Author: Tyler Smith <email address hidden>
Date: Thu Aug 6 17:07:25 2020 -0400

    Internal server error in gui when subcloud goes down

    - Adding checks to prevent user navigating to an offline subcloud
    - Adding a default service region when in DC mode to remove the
      possibility of a fresh user being defaulted to logging in to an
      offline subcloud

    Change-Id: Ia9d37ad1f977df7e08377677186cd59eae336b1c
    Closes-bug: 1890715
    Signed-off-by: Tyler Smith <email address hidden>

Changed in starlingx:
status: In Progress → Fix Released
Ghada Khalil (gkhalil)
Changed in starlingx:
importance: Undecided → Medium
tags: added: stx.5.0
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to gui (f/centos8)

Fix proposed to branch: f/centos8
Review: https://review.opendev.org/c/starlingx/gui/+/792252

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to gui (f/centos8)
Download full text (16.7 KiB)

Reviewed: https://review.opendev.org/c/starlingx/gui/+/792252
Committed: https://opendev.org/starlingx/gui/commit/63d6de4701a7f21779ad9ea4060fce9ed85bc71f
Submitter: "Zuul (22348)"
Branch: f/centos8

commit e05e1a43531499d94cfb1e538683ee36eea92b43
Author: Teresa Ho <email address hidden>
Date: Thu May 13 23:04:04 2021 -0400

    Do not display primary_reselect if not specified

    If the attribute 'primary_reselect' is not specified, the sysinv API
    will leave it as null and GUI will not display the attribute.

    Closes-Bug: 1928461

    Change-Id: I5b8ef8b29fb7775dde8607bb14cd733015269f82
    Signed-off-by: Teresa Ho <email address hidden>

commit f1a4d30eca91c7a239ebd7479a56fef7870a4b2e
Author: Pablo Bovina <email address hidden>
Date: Fri May 7 16:59:50 2021 -0300

    Display DataNetworks list

    DataNetworks are listed for pci-sriov
    under Create/Edit Interface forms.

    Closes-bug: 1927782
    Signed-off-by: Pablo Bovina <email address hidden>
    Change-Id: If927bb0facdec9e587a13354bef56eca5df08785

commit 7973677a3d7d518c31757b36037373d2c4ac769c
Author: Andre Fernando Zanella Kantek <email address hidden>
Date: Thu May 6 07:32:59 2021 -0400

    In AIO-SX, interface edit rejected with Host administrative unlocked

    It was detected the edit rejection when the user, on an unlocked
    host, tries to convert an ethernet non-SRIOV to an SRIOV-PF
    interface, with the server responding "Host 'controller-0' is
    administrative 'unlocked'".

    This is caused because UpdateInterface.handle() executes first the
    datanetwork assignment and then modifies the interface. Since the
    assignment, on an unlocked host, is only possible for SRIOV
    interfaces, the order of execution matters, we need to have the
    interface modified and then assigned. The correction consists of
    altering the order (first modify then assign) to do the described.

    Tests:
    To ensure the continuous operation of the other types of conversion
    the following combinations were tested (all were done adding the
    interface to a network or datanetwork, depending on the class):

    Unlocked state:
    ethernet/[none,data,pci-pt,platform] to pci-sriov: accepted
    modify parameters of a pci-sriov: rejected
    conversion to other than pci-sriov: rejected

    Locked state:
    all conversions (with network/datanetwork assignment) are accepted

    Closes-Bug: 1925183

    Signed-off-by: Andre Fernando Zanella Kantek <email address hidden>
    Change-Id: Ib124bf7222e07966becbb81198f65f5bc55715ce

commit ddcc4fd3ccb4c02580c71414345993252b089761
Author: Enzo Candotti <email address hidden>
Date: Tue May 4 11:08:57 2021 -0300

    Enable add/edit Worker personality on DC AIO-DX's GUI

    This update is to allow the option to add a new host with Worker
    personality on Distributed Cloud mode.

    Closes-Bug: 1927107

    Signed-off-by: Enzo Candotti <email address hidden>
    Change-Id: Idfed9352c7c6467014a2ed2cf10b70f6b470c28c

commit de43c019c0b7f038d0184d10aab2bf61b6c5e147
Author: Andre Fer...

tags: added: in-f-centos8
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on gui (f/centos8)

Change abandoned by "Bart Wensley <email address hidden>" on branch: f/centos8
Review: https://review.opendev.org/c/starlingx/gui/+/765064
Reason: This patch has been idle for more than six months. I am abandoning it to keep the review queue sane. If you are still interested in working on this patch, please unabandon it and upload a new patchset.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.