mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-30 06:54:01 +00:00
Add isNodeSchedulableWithoutTainted()
For reducing usage of system.DeprecatedMightBeMasterNode(), this adds isNodeSchedulableWithoutTainted().
This commit is contained in:
parent
a463b25c9d
commit
13aae61789
@ -374,7 +374,7 @@ func GetMasterAndWorkerNodes(c clientset.Interface) (sets.String, *v1.NodeList,
|
|||||||
for _, n := range all.Items {
|
for _, n := range all.Items {
|
||||||
if system.DeprecatedMightBeMasterNode(n.Name) {
|
if system.DeprecatedMightBeMasterNode(n.Name) {
|
||||||
masters.Insert(n.Name)
|
masters.Insert(n.Name)
|
||||||
} else if IsNodeSchedulable(&n) && isNodeUntainted(&n) {
|
} else if isNodeSchedulableWithoutTaints(&n) {
|
||||||
nodes.Items = append(nodes.Items, n)
|
nodes.Items = append(nodes.Items, n)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -478,6 +478,14 @@ func IsNodeReady(node *v1.Node) bool {
|
|||||||
return nodeReady && networkReady
|
return nodeReady && networkReady
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// isNodeSchedulableWithoutTaints returns true if:
|
||||||
|
// 1) doesn't have "unschedulable" field set
|
||||||
|
// 2) it also returns true from IsNodeReady
|
||||||
|
// 3) it also returns true from isNodeUntainted
|
||||||
|
func isNodeSchedulableWithoutTaints(node *v1.Node) bool {
|
||||||
|
return IsNodeSchedulable(node) && isNodeUntainted(node)
|
||||||
|
}
|
||||||
|
|
||||||
// hasNonblockingTaint returns true if the node contains at least
|
// hasNonblockingTaint returns true if the node contains at least
|
||||||
// one taint with a key matching the regexp.
|
// one taint with a key matching the regexp.
|
||||||
func hasNonblockingTaint(node *v1.Node, nonblockingTaints string) bool {
|
func hasNonblockingTaint(node *v1.Node, nonblockingTaints string) bool {
|
||||||
|
@ -28,7 +28,6 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
e2elog "k8s.io/kubernetes/test/e2e/framework/log"
|
e2elog "k8s.io/kubernetes/test/e2e/framework/log"
|
||||||
"k8s.io/kubernetes/test/e2e/system"
|
|
||||||
testutils "k8s.io/kubernetes/test/utils"
|
testutils "k8s.io/kubernetes/test/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -84,7 +83,7 @@ func WaitForTotalHealthy(c clientset.Interface, timeout time.Duration) error {
|
|||||||
}
|
}
|
||||||
missingPodsPerNode = make(map[string][]string)
|
missingPodsPerNode = make(map[string][]string)
|
||||||
for _, node := range nodes.Items {
|
for _, node := range nodes.Items {
|
||||||
if !system.DeprecatedMightBeMasterNode(node.Name) {
|
if isNodeSchedulableWithoutTaints(&node) {
|
||||||
for _, requiredPod := range requiredPerNodePods {
|
for _, requiredPod := range requiredPerNodePods {
|
||||||
foundRequired := false
|
foundRequired := false
|
||||||
for _, presentPod := range systemPodsPerNode[node.Name] {
|
for _, presentPod := range systemPodsPerNode[node.Name] {
|
||||||
|
Loading…
Reference in New Issue
Block a user