Skip to content

Commit 580a796

Browse files
committed
test: add test for MutableCSINodeAllocatableCount feature
Signed-off-by: Penghao <[email protected]>
1 parent 603a6ec commit 580a796

File tree

2 files changed

+666
-0
lines changed

2 files changed

+666
-0
lines changed

test/extended/storage/helpers.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
imageregistry "github.com/openshift/client-go/imageregistry/clientset/versioned"
1111
clusteroperatorhelpers "github.com/openshift/library-go/pkg/config/clusteroperator/v1helpers"
1212
exutil "github.com/openshift/origin/test/extended/util"
13+
v1 "k8s.io/api/core/v1"
1314
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1415
e2e "k8s.io/kubernetes/test/e2e/framework"
1516
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
@@ -65,3 +66,26 @@ func skipIfNotS3Storage(oc *exutil.CLI) {
6566
e2eskipper.Skipf("No S3 storage detected")
6667
}
6768
}
69+
70+
// GetSchedulableLinuxWorkerNodes returns a list of nodes that match the requirements:
71+
// os: linux, role: worker, status: ready, schedulable
72+
func GetSchedulableLinuxWorkerNodes(oc *exutil.CLI) ([]v1.Node, error) {
73+
var nodes, workers []v1.Node
74+
linuxNodes, err := oc.AdminKubeClient().CoreV1().Nodes().List(context.Background(), metav1.ListOptions{LabelSelector: "kubernetes.io/os=linux"})
75+
// get schedulable linux worker nodes
76+
for _, node := range linuxNodes.Items {
77+
if _, ok := node.Labels["node-role.kubernetes.io/worker"]; ok && !node.Spec.Unschedulable {
78+
workers = append(workers, node)
79+
}
80+
}
81+
// get ready nodes
82+
for _, worker := range workers {
83+
for _, con := range worker.Status.Conditions {
84+
if con.Type == "Ready" && con.Status == "True" {
85+
nodes = append(nodes, worker)
86+
break
87+
}
88+
}
89+
}
90+
return nodes, err
91+
}

0 commit comments

Comments
 (0)