mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-10 20:42:26 +00:00
Pass pointer to node in NodCondition
This commit is contained in:
parent
58c95c136f
commit
7219802ac7
6
pkg/client/cache/listers.go
vendored
6
pkg/client/cache/listers.go
vendored
@ -122,7 +122,7 @@ func (s *StoreToPodLister) Exists(pod *api.Pod) (bool, error) {
|
|||||||
|
|
||||||
// NodeConditionPredicate is a function that indicates whether the given node's conditions meet
|
// NodeConditionPredicate is a function that indicates whether the given node's conditions meet
|
||||||
// some set of criteria defined by the function.
|
// some set of criteria defined by the function.
|
||||||
type NodeConditionPredicate func(node api.Node) bool
|
type NodeConditionPredicate func(node *api.Node) bool
|
||||||
|
|
||||||
// StoreToNodeLister makes a Store have the List method of the client.NodeInterface
|
// StoreToNodeLister makes a Store have the List method of the client.NodeInterface
|
||||||
// The Store must contain (only) Nodes.
|
// The Store must contain (only) Nodes.
|
||||||
@ -153,9 +153,9 @@ type storeToNodeConditionLister struct {
|
|||||||
// List returns a list of nodes that match the conditions defined by the predicate functions in the storeToNodeConditionLister.
|
// List returns a list of nodes that match the conditions defined by the predicate functions in the storeToNodeConditionLister.
|
||||||
func (s storeToNodeConditionLister) List() (nodes api.NodeList, err error) {
|
func (s storeToNodeConditionLister) List() (nodes api.NodeList, err error) {
|
||||||
for _, m := range s.store.List() {
|
for _, m := range s.store.List() {
|
||||||
node := *m.(*api.Node)
|
node := m.(*api.Node)
|
||||||
if s.predicate(node) {
|
if s.predicate(node) {
|
||||||
nodes.Items = append(nodes.Items, node)
|
nodes.Items = append(nodes.Items, *node)
|
||||||
} else {
|
} else {
|
||||||
glog.V(5).Infof("Node %s matches none of the conditions", node.Name)
|
glog.V(5).Infof("Node %s matches none of the conditions", node.Name)
|
||||||
}
|
}
|
||||||
|
2
pkg/client/cache/listers_test.go
vendored
2
pkg/client/cache/listers_test.go
vendored
@ -97,7 +97,7 @@ func TestStoreToNodeConditionLister(t *testing.T) {
|
|||||||
store.Add(n)
|
store.Add(n)
|
||||||
}
|
}
|
||||||
|
|
||||||
predicate := func(node api.Node) bool {
|
predicate := func(node *api.Node) bool {
|
||||||
for _, cond := range node.Status.Conditions {
|
for _, cond := range node.Status.Conditions {
|
||||||
if cond.Type == api.NodeOutOfDisk && cond.Status == api.ConditionTrue {
|
if cond.Type == api.NodeOutOfDisk && cond.Status == api.ConditionTrue {
|
||||||
return false
|
return false
|
||||||
|
@ -641,7 +641,7 @@ func hostsFromNodeList(list *api.NodeList) []string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func getNodeConditionPredicate() cache.NodeConditionPredicate {
|
func getNodeConditionPredicate() cache.NodeConditionPredicate {
|
||||||
return func(node api.Node) bool {
|
return func(node *api.Node) bool {
|
||||||
// We add the master to the node list, but its unschedulable. So we use this to filter
|
// We add the master to the node list, but its unschedulable. So we use this to filter
|
||||||
// the master.
|
// the master.
|
||||||
// TODO: Use a node annotation to indicate the master
|
// TODO: Use a node annotation to indicate the master
|
||||||
|
@ -319,7 +319,7 @@ func TestGetNodeConditionPredicate(t *testing.T) {
|
|||||||
}
|
}
|
||||||
pred := getNodeConditionPredicate()
|
pred := getNodeConditionPredicate()
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
accept := pred(test.node)
|
accept := pred(&test.node)
|
||||||
if accept != test.expectAccept {
|
if accept != test.expectAccept {
|
||||||
t.Errorf("Test failed for %s, expected %v, saw %v", test.name, test.expectAccept, accept)
|
t.Errorf("Test failed for %s, expected %v, saw %v", test.name, test.expectAccept, accept)
|
||||||
}
|
}
|
||||||
|
@ -432,7 +432,7 @@ func (f *ConfigFactory) responsibleForPod(pod *api.Pod) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func getNodeConditionPredicate() cache.NodeConditionPredicate {
|
func getNodeConditionPredicate() cache.NodeConditionPredicate {
|
||||||
return func(node api.Node) bool {
|
return func(node *api.Node) bool {
|
||||||
for _, cond := range node.Status.Conditions {
|
for _, cond := range node.Status.Conditions {
|
||||||
// We consider the node for scheduling only when its:
|
// We consider the node for scheduling only when its:
|
||||||
// - NodeReady condition status is ConditionTrue,
|
// - NodeReady condition status is ConditionTrue,
|
||||||
|
@ -464,7 +464,7 @@ func TestNodeConditionPredicate(t *testing.T) {
|
|||||||
|
|
||||||
nodeNames := []string{}
|
nodeNames := []string{}
|
||||||
for _, node := range nodeList.Items {
|
for _, node := range nodeList.Items {
|
||||||
if nodeFunc(node) {
|
if nodeFunc(&node) {
|
||||||
nodeNames = append(nodeNames, node.Name)
|
nodeNames = append(nodeNames, node.Name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user