Comment 2 for bug 2067925

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

Reviewed: https://review.opendev.org/c/starlingx/metal/+/921301
Committed: https://opendev.org/starlingx/metal/commit/508b619400a7ce23ce5298bdbd5e2703e07bb4ec
Submitter: "Zuul (22348)"
Branch: master

commit 508b619400a7ce23ce5298bdbd5e2703e07bb4ec
Author: Eric MacDonald <email address hidden>
Date: Tue Jun 4 15:35:10 2024 +0000

    Deprovision mtcClient bmc info when bmc for node is deprovisioned

    A node's BMC is provisioned and deprovisioned through the system CLI.

    Maintenance shares controller node BMC provisioning info with
    the mtcClient on each controller node. The mtcClient uses this
    BMC provisioning info to reset its peer controller when it sees
    the appropriate signal from SM (a flag file).

    However, when a controller node's BMC is deprovisioned from the
    system CLI, the mtcAgent does not send a the deprovisioned data
    to the mtcClient. Without getting the deprovisioning data the
    mtcClient will continue to use the previous provisioning data.
    This is incorrect and the reason for this fix.

    This update fixes this by having the mtcAgent periodically share
    controller node BMC provisioning data to each controller's mtcClient
    regardless of its provisioning state. The BMC provisioning data update
    period remains the same as it was while the BMCs were provisioned.

    This update also offers the followiong messaging/logging improvements.

     - restrict the updates to the management network only.
       There is no need to send the same data over the pxeboot.

     - stop logging while the BMC is deprovisioned. The absence/presence
       of the logs is sufficient to know what the provisioning state is
       without needlessly logging when the BMCs are not provisioned.

     - bypasses sending the bmc provisioning data to the controller-0
       mtcClient in an SX system. The data is only needed in a DX system.

    Test Plan:

    PASS: Verify mtcClient gets BMC deprovisioning data ; fix for this bug.
    PASS: Verify mtcClient periodically logs valid BMC provisioning data.
    PASS: Verify mtcClient doesn't log unprovisioned BMC provisioning data.
    PASS: Verify mtcAgent does not send bmc provision data on SX systems.
    PASS: Verify mtcAgent does send bmc provision data on DX systems.
    PASS: Verify worker and storage never receive bmc provisioning data.

    Closes-Bug: 2067925
    Change-Id: I29e5eb0b072ee38358d99d682555c466de322f2d
    Signed-off-by: Eric MacDonald <email address hidden>