System status icon not up to date in UI

Description

Problem

In Cloudify 4.4 (early 2018 afair) we removed periodic status polling (ref.: ), so right now status is fetched only on login or page reload (not page switch through left navigation bar). The reason behind that change was to decrease network load. We increased polling timeouts in few widgets, maintenance polling was increased and status poller was removed.

Status - since that time - can be refreshed on demand by hovering on status icon or clicking refresh icon inside status popup. It means that icon showing the state of the manager (yellow, green, red, gray depends on the state) can be misleading.

It is even more confusing when you have Cluster Status widget opened as it can show different status than the icon on top. See in screenshot:

Solution

  • simple (status icon won't be refreshed automatically, but will be in sync with Cluster Status widget)

    • data fetch triggered by Cluster Status widget will update global state of Cloudify UI where cluster status is stored, that way status icon will be in sync with widget

  • full (status icon will be refreshed periodically and will be in sync with Cluster Status widget)

    • one of the following options:

      • bring back periodical cluster status fetch using summary option, suggested by Tal, to minimize network load and fetch full cluster status (as it is right now to get info about services status) only if status icon is hovered or if refresh status icon is clicked in the status popup

      • enhance maintenance endpoint or create new endpoint in Cloudify REST API to provide both - cluster status summary + maintenance status
        (this option would be the most optimal from the network load perspective as we already fetch maintenance status periodically)

    • after completed fetch and if Cluster Status widget is on the current page, triggers full cluster status fetch to update

    • data fetch triggered by Cluster Status widget will update global state of Cloudify UI where cluster status is stored, that way status icon will be in sync with widget

Steps to Reproduce

Environment:
OS (CLI), HA cluster, cloud provider
------------------------------------

Steps to reproduce:
------------------
1.
2.
3.

Expected result:
---------------

Actual result:
-------------

Why Propose Close?

None

Activity

Show:
Barak Azulay
January 8, 2020, 2:41 PM

there is also another possible approach:

  • periodically query the full cluster status and store it (raw) in the UI db (with timestamp & expiration)

  • both the cluster widget & icon should obtain the data from the UI db (and validate its still valid by timestamp

This way icon & widget are in sync

 

Jakub Niezgoda
January 9, 2020, 1:34 PM
Edited

Yeah, that would also be an option, that sounds as kind of websocket-like solution. I'll investigate more tomorrow and try to implement one of the approaches we discussed.

Assignee

Jakub Niezgoda

Reporter

Jakub Niezgoda

Labels

Severity

High

Target Version

5.0.5

Premium Only

yes

Found In Version

5.0

QA Owner

None

Bug Type

legacy bug

Customer Encountered

No

Customer Name

None

Release Notes

yes

Priority

None

Priority

Blocker
Configure