Skip to content

Commit c91ce1a

Browse files
committed
fix: align config outdated status in ui and cli
CLI was relying on a different strategy than the UI to determine if pending config changes are present. Changed the CLI to work the same way as UI. Signed-off-by: Edward Sammut Alessi <edward.sammutalessi@siderolabs.com>
1 parent fde089b commit c91ce1a

2 files changed

Lines changed: 5 additions & 9 deletions

File tree

internal/backend/runtime/omni/controllers/omni/cluster_machine_status.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ func NewClusterMachineStatusController() *ClusterMachineStatusController {
176176
}
177177

178178
if clusterMachineConfigStatus != nil && clusterMachineConfig != nil {
179-
cmsVal.ConfigUpToDate = !isOutdated(clusterMachineConfig, clusterMachineConfigStatus)
179+
cmsVal.ConfigUpToDate = !isOutdated(pendingMachineUpdate, clusterMachineConfigStatus)
180180
cmsVal.LastConfigError = clusterMachineConfigStatus.TypedSpec().Value.LastConfigError
181181
} else {
182182
cmsVal.ConfigUpToDate = false
@@ -338,6 +338,6 @@ func configApplyStatus(spec *specs.ClusterMachineStatusSpec) specs.ConfigApplySt
338338
}
339339
}
340340

341-
func isOutdated(clusterMachineConfig *omni.ClusterMachineConfig, configStatus *omni.ClusterMachineConfigStatus) bool {
342-
return configStatus.TypedSpec().Value.ClusterMachineConfigVersion != clusterMachineConfig.Metadata().Version().String() || configStatus.TypedSpec().Value.LastConfigError != ""
341+
func isOutdated(machinePendingUpdates *omni.MachinePendingUpdates, configStatus *omni.ClusterMachineConfigStatus) bool {
342+
return machinePendingUpdates != nil || configStatus.TypedSpec().Value.LastConfigError != ""
343343
}

internal/backend/runtime/omni/controllers/omni/cluster_machine_status_test.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ func (suite *ClusterMachineStatusSuite) TearDownTest() {
4141
rtestutils.DestroyAll[*omni.MachineSetNode](suite.ctx, suite.T(), suite.state)
4242
rtestutils.DestroyAll[*omni.ClusterMachineConfigStatus](suite.ctx, suite.T(), suite.state)
4343
rtestutils.DestroyAll[*omni.MachineStatusSnapshot](suite.ctx, suite.T(), suite.state)
44+
rtestutils.DestroyAll[*omni.MachinePendingUpdates](suite.ctx, suite.T(), suite.state)
4445

4546
suite.OmniSuite.TearDownTest()
4647
}
@@ -95,13 +96,8 @@ func (suite *ClusterMachineStatusSuite) TestApplyConfigErrorPropagation() {
9596
func (suite *ClusterMachineStatusSuite) TestOutdatedConfig() {
9697
suite.setupStageTest(&machineapi.MachineStatusEvent{Stage: machineapi.MachineStatusEvent_RUNNING}, true)
9798

98-
rmock.Mock[*omni.ClusterMachineConfigStatus](
99+
rmock.Mock[*omni.MachinePendingUpdates](
99100
suite.ctx, suite.T(), suite.state, options.WithID(testID),
100-
options.Modify(func(s *omni.ClusterMachineConfigStatus) error {
101-
s.TypedSpec().Value.ClusterMachineConfigVersion = "42"
102-
103-
return nil
104-
}),
105101
)
106102

107103
clusterMachineStatus := omni.NewClusterMachineStatus(testID)

0 commit comments

Comments
 (0)