Keep REST's ExpectedMachine view in sync when a BMC IP is set, changed, or cleared directly through Core. The existing inventory reconciliation already treats Core as the source of truth, so REST should reflect the value on the next inventory pass without needing a same-value REST PATCH.
What this involves
- Include
BmcIpAddress when UpdateExpectedMachinesInDB creates an ExpectedMachine from Core inventory.
- Compare and update the field for existing records, using
ExpectedMachineDAO.Clear when Core reports no address because nil update inputs preserve the current value.
- Cover create, set, change, and clear transitions in the ExpectedMachine workflow activity tests.
- Keep the scope to BMC IP synchronization; broader inventory field parity can be handled separately.
Related to #3630.
Keep REST's ExpectedMachine view in sync when a BMC IP is set, changed, or cleared directly through Core. The existing inventory reconciliation already treats Core as the source of truth, so REST should reflect the value on the next inventory pass without needing a same-value REST PATCH.
What this involves
BmcIpAddresswhenUpdateExpectedMachinesInDBcreates an ExpectedMachine from Core inventory.ExpectedMachineDAO.Clearwhen Core reports no address because nil update inputs preserve the current value.Related to #3630.