upgrade: Sysinv agent doesn't resend CPU c-states and frequency after a RPC error

Bug #2039572 reported by Reynaldo P Gomes
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
StarlingX
Fix Released
Medium
Reynaldo P Gomes

Bug Description

Brief Description
-----------------
During the upgrade, the RPC call responsible for sending the CPU c-states and frequency fails because the active controller doesn't have these fields yet. After the first failure, the sysinv agent doesn't report these information again, leaving the active controller without these information until a reboot of the source host occurs.

Severity
--------
Major

Steps to Reproduce
------------------
From stx8.0, upgrade to master, follow the steps to system host-upgrade controller-1. After controller-1 pxeboot and reboot, CPU c-states and frequency are not replicated to the active controller.

Expected Behavior
------------------
CPU c-states and frequency successfully reported to the active controller after the upgrade is complete.

Actual Behavior
----------------
There is no data in the active controller about the CPU c-states and frequency after the upgrade is complete.

Reproducibility
---------------
Reproducible

System Configuration
--------------------
AIO-DX

Branch/Pull Time/Commit
-----------------------
master

Last Pass
---------
Earlier this year

Timestamp/Logs
--------------
N/A

Test Activity
-------------
Developer Testing

Workaround
----------
These information will be replicated successfully if the source host is rebooted after the upgrade is complete.

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

Fix proposed to branch: master
Review: https://review.opendev.org/c/starlingx/config/+/898618

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

Reviewed: https://review.opendev.org/c/starlingx/config/+/898618
Committed: https://opendev.org/starlingx/config/commit/d7893f81d3500852d1efec67a8f5557b006958e0
Submitter: "Zuul (22348)"
Branch: master

commit d7893f81d3500852d1efec67a8f5557b006958e0
Author: Reynaldo P Gomes <email address hidden>
Date: Tue Oct 17 13:56:08 2023 -0300

    CPU c-states and frequency report in Sysinv agent

    The current implementation of report_cstates_and_frequency_update
    function, to report the CPU c-states and frequency to the controller,
    collects and stores these values in ihost object regardless of whether
    the RPC call was successful or not. The following calls check these
    values and only resend them if they find any difference. If the RPC
    call fails, it will never be sent again until some value has been
    changed.

    This commit changes this behaviour removing these validations from the
    function and moving this responsibility to the caller.

    TEST PLAN:
    PASS: CPU c-states and frequency successfully reported.
    PASS: CPU c-states and frequency successfully reported on the next
          call after a failure.
    PASS: AIO-DX: After applying the patch procedure on both nodes, the
          CPU c-states and frequency were successfully reported.

    Closes-Bug: 2039572
    Change-Id: I841f072de5c13d9d8fb68f30194f2d57b1915b58
    Signed-off-by: Reynaldo P Gomes <email address hidden>

Changed in starlingx:
status: In Progress → Fix Released
Ghada Khalil (gkhalil)
Changed in starlingx:
importance: Undecided → Medium
tags: added: stx.9.0 stx.config stx.update
Changed in starlingx:
assignee: nobody → Reynaldo P Gomes (reynaldopgomes)
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.