
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 <eric.macdonald@windriver.com>
Description
Languages
C++
83%
Shell
10.2%
Python
3.3%
C
2.5%
Makefile
1%