Horizon ServiceCatalogException in navigation to/from subcloud

Bug #1876792 reported by Wendy Mitchell
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
StarlingX
Fix Released
Medium
Kristine Bujold

Bug Description

Horizon navigation admin SystemController to/from subcloud can result in
ServiceCatalogException: Invalid service catalog: dcmanager

Severity
--------
Standard

Steps to Reproduce
------------------

1. Log into Horizon - system admin
2. SystemController - Cloud Overview page dislays with subclouds listed
3. Select Alarm and Event Details to navigate to "Active Alarms" page of subcloud1

4. Then, Select admin SystemController menu item (to navigate back to Cloud Overview dc_admin page)
5. Select Host Details (for eg.subcloud1)

Expected Behavior
------------------
Did not expect Internal server error (ServiceCatalogException: Invalid service catalog: dcmanager)

Actual Behavior
----------------

Host Inventory page displays (eg. lists controller-0)
However, the following ServiceCatalogEXception is reported in the horizon.log

2020-05-04 18:37:44,777 [ERROR] openstack_dashboard.api.rest.utils: HTTP exception with no status/code
Traceback (most recent call last):
  File "/usr/share/openstack-dashboard/openstack_dashboard/api/rest/utils.py", line 128, in _wrapped
    data = function(self, request, *args, **kw)
  File "/usr/lib/python2.7/site-packages/starlingx_dashboard/api/rest/dc_manager.py", line 96, in get
    result = dc_manager.alarm_summary_list(request)
  File "/usr/lib/python2.7/site-packages/starlingx_dashboard/api/dc_manager.py", line 46, in alarm_summary_list
    summaries = dcmanagerclient(request).alarm_manager.list_alarms()
  File "/usr/lib/python2.7/site-packages/horizon/utils/memoized.py", line 109, in wrapped
    value = cache[key] = func(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/starlingx_dashboard/api/dc_manager.py", line 33, in dcmanagerclient
    endpoint = base.url_for(request, 'dcmanager')
  File "/usr/share/openstack-dashboard/openstack_dashboard/api/base.py", line 346, in url_for
    raise exceptions.ServiceCatalogException(service_type)
ServiceCatalogException: Invalid service catalog: dcmanager
2020-05-04 18:37:44,780 [ERROR] openstack_dashboard.api.rest.utils: HTTP exception with no status/code
Traceback (most recent call last):
  File "/usr/share/openstack-dashboard/openstack_dashboard/api/rest/utils.py", line 128, in _wrapped
    data = function(self, request, *args, **kw)
  File "/usr/lib/python2.7/site-packages/starlingx_dashboard/api/rest/dc_manager.py", line 75, in get
    result = dc_manager.subcloud_list(request)
  File "/usr/lib/python2.7/site-packages/starlingx_dashboard/api/dc_manager.py", line 60, in subcloud_list
    subclouds = dcmanagerclient(request).subcloud_manager.list_subclouds()
  File "/usr/lib/python2.7/site-packages/horizon/utils/memoized.py", line 109, in wrapped
    value = cache[key] = func(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/starlingx_dashboard/api/dc_manager.py", line 33, in dcmanagerclient
    endpoint = base.url_for(request, 'dcmanager')
  File "/usr/share/openstack-dashboard/openstack_dashboard/api/base.py", line 346, in url_for
    raise exceptions.ServiceCatalogException(service_type)
ServiceCatalogException: Invalid service catalog: dcmanager

...

2020-05-04 18:40:42,623 [ERROR] openstack_dashboard.api.rest.utils: HTTP exception with no status/code
Traceback (most recent call last):
  File "/usr/share/openstack-dashboard/openstack_dashboard/api/rest/utils.py", line 128, in _wrapped
    data = function(self, request, *args, **kw)
  File "/usr/lib/python2.7/site-packages/starlingx_dashboard/api/rest/dc_manager.py", line 75, in get
    result = dc_manager.subcloud_list(request)
  File "/usr/lib/python2.7/site-packages/starlingx_dashboard/api/dc_manager.py", line 60, in subcloud_list
    subclouds = dcmanagerclient(request).subcloud_manager.list_subclouds()
  File "/usr/lib/python2.7/site-packages/horizon/utils/memoized.py", line 109, in wrapped
    value = cache[key] = func(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/starlingx_dashboard/api/dc_manager.py", line 33, in dcmanagerclient
    endpoint = base.url_for(request, 'dcmanager')
  File "/usr/share/openstack-dashboard/openstack_dashboard/api/base.py", line 346, in url_for
    raise exceptions.ServiceCatalogException(service_type)
ServiceCatalogException: Invalid service catalog: dcmanager
2020-05-04 18:40:42,624 [ERROR] openstack_dashboard.api.rest.utils: HTTP exception with no status/code
Traceback (most recent call last):
  File "/usr/share/openstack-dashboard/openstack_dashboard/api/rest/utils.py", line 128, in _wrapped
    data = function(self, request, *args, **kw)
  File "/usr/lib/python2.7/site-packages/starlingx_dashboard/api/rest/dc_manager.py", line 96, in get
    result = dc_manager.alarm_summary_list(request)
  File "/usr/lib/python2.7/site-packages/starlingx_dashboard/api/dc_manager.py", line 46, in alarm_summary_list
    summaries = dcmanagerclient(request).alarm_manager.list_alarms()
  File "/usr/lib/python2.7/site-packages/horizon/utils/memoized.py", line 109, in wrapped
    value = cache[key] = func(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/starlingx_dashboard/api/dc_manager.py", line 33, in dcmanagerclient
    endpoint = base.url_for(request, 'dcmanager')
  File "/usr/share/openstack-dashboard/openstack_dashboard/api/base.py", line 346, in url_for
    raise exceptions.ServiceCatalogException(service_type)
ServiceCatalogException: Invalid service catalog: dcmanager

Reproducibility
---------------
yes

System Configuration
----------------
system controller with subclouds (single controller)

Branch/Pull Time/Commit
-----------------------
2020-05-01_20-00-00

Last Pass
---------

Timestamp/Logs
--------------
see inline

Test Activity
------------
Horizon DC

Revision history for this message
Wendy Mitchell (wmitchellwr) wrote :

( lab DC-3)

Revision history for this message
Wendy Mitchell (wmitchellwr) wrote :
Ghada Khalil (gkhalil)
tags: added: stx.4.0 stx.distcloud stx.gui
Changed in starlingx:
importance: Undecided → Medium
status: New → Triaged
assignee: nobody → Dariush Eslimi (deslimi)
Revision history for this message
Ghada Khalil (gkhalil) wrote :

stx.4.0 / medium priority - unexpected horizon exceptions for basic navigation to DC subclouds

Ghada Khalil (gkhalil)
Changed in starlingx:
assignee: Dariush Eslimi (deslimi) → Kristine Bujold (kbujold)
Revision history for this message
Kristine Bujold (kbujold) wrote :

This importance of this bug should probably be lowered as the user is not aware not presented with any errors and his switched to the Host Details page successfully. The only issue is with the exception logs being generated in the horizon.log file.

Changed in starlingx:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to gui (master)

Fix proposed to branch: master
Review: https://review.opendev.org/734628

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to gui (master)

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

commit e1e3439059a1303e3e2f7b30cccdb0f80c2a6a59
Author: Kristine Bujold <email address hidden>
Date: Tue Jun 9 11:32:50 2020 -0400

    Prevent false negative user popups

    Checks were added to prevent false negative user pop ups to be raised.
    This could happen when a user is about to switch from the
    SystemController’s region to a subcloud. The error is caused by pending
    requests still in the queue from the SystemController’s.

    Closes-Bug: 1876792
    Change-Id: I54aeaeab61f9989015061382c16e80b569ed08bc
    Signed-off-by: Kristine Bujold <email address hidden>

Changed in starlingx:
status: In Progress → Fix Released
Revision history for this message
Kristine Bujold (kbujold) wrote :

After more testing and talking to Wendy, the user could intermittently see a popup error. This error is a false negative, it is seen because the user is moving from the SystemController’s region to a subcloud region and there could still be SystemController’s pending requests in the queue. These are caused by the auto refresh requests. This fix will prevent the popups to occur in this scenario. The exception logs in the horizon.log will still be present.

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

Bug attachments

Remote bug watches

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