Skip to content

Commit

Permalink
fix: make MachineSetNode controller select only connected machines
Browse files Browse the repository at this point in the history
Filter them in the same way as in manual allocation: available,
connected and reporting events.

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
  • Loading branch information
Unix4ever committed Jun 18, 2024
1 parent 2457897 commit 4109996
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,12 @@ func (ctrl *MachineSetNodeController) createNodes(
selector.Terms = append(selector.Terms, resource.LabelTerm{
Key: omni.MachineStatusLabelAvailable,
Op: resource.LabelOpExists,
}, resource.LabelTerm{
Key: omni.MachineStatusLabelConnected,
Op: resource.LabelOpExists,
}, resource.LabelTerm{
Key: omni.MachineStatusLabelReportingEvents,
Op: resource.LabelOpExists,
})

availableMachineClassMachines := allMachineStatuses.FilterLabelQuery(resource.RawLabelQuery(selector))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,18 +82,24 @@ func (suite *MachineSetNodeSuite) TestReconcile() {

machines := suite.createMachines(
map[string]string{
omni.MachineStatusLabelArch: "amd64",
omni.MachineStatusLabelAvailable: "",
omni.MachineStatusLabelArch: "amd64",
omni.MachineStatusLabelAvailable: "",
omni.MachineStatusLabelConnected: "",
omni.MachineStatusLabelReportingEvents: "",
},
map[string]string{
omni.MachineStatusLabelAvailable: "",
omni.MachineStatusLabelArch: "amd64",
omni.MachineStatusLabelAvailable: "",
omni.MachineStatusLabelArch: "amd64",
omni.MachineStatusLabelConnected: "",
omni.MachineStatusLabelReportingEvents: "",
},
map[string]string{},
map[string]string{
omni.MachineStatusLabelCPU: "AMD",
omni.MachineStatusLabelAvailable: "",
"userlabel": "value",
omni.MachineStatusLabelCPU: "AMD",
omni.MachineStatusLabelAvailable: "",
"userlabel": "value",
omni.MachineStatusLabelConnected: "",
omni.MachineStatusLabelReportingEvents: "",
},
)

Expand Down Expand Up @@ -186,15 +192,21 @@ func (suite *MachineSetNodeSuite) TestReconcile() {
// add more machines and wait for the controller to scale up
machines = append(machines, suite.createMachines(
map[string]string{
omni.MachineStatusLabelCPU: "AMD",
omni.MachineStatusLabelAvailable: "",
omni.MachineStatusLabelCPU: "AMD",
omni.MachineStatusLabelAvailable: "",
omni.MachineStatusLabelConnected: "",
omni.MachineStatusLabelReportingEvents: "",
},
map[string]string{
omni.MachineStatusLabelCPU: "AMD",
omni.MachineStatusLabelCPU: "AMD",
omni.MachineStatusLabelConnected: "",
omni.MachineStatusLabelReportingEvents: "",
},
map[string]string{
omni.MachineStatusLabelCPU: "AMD",
omni.MachineStatusLabelAvailable: "",
omni.MachineStatusLabelCPU: "AMD",
omni.MachineStatusLabelAvailable: "",
omni.MachineStatusLabelConnected: "",
omni.MachineStatusLabelReportingEvents: "",
},
)...)

Expand Down

0 comments on commit 4109996

Please sign in to comment.