@@ -31,6 +31,57 @@ export CLUSTER_CONTEXT=("--name" "${CLUSTER_NAME}")
31
31
32
32
export KIND_OPT=${KIND_OPT:= " --config ${VK_ROOT} /hack/e2e-kind-config.yaml" }
33
33
34
+ # kwok node config
35
+ export KWOK_NODE_CPU=${KWOK_NODE_CPU:- 4} # 4 cores
36
+ export KWOK_NODE_MEMORY=${KWOK_NODE_MEMORY:- 4Gi} # 4GB
37
+
38
+ # generate kwok node config
39
+ function generate-kwok-node-config() {
40
+ local node_index=$1
41
+ local cpu=$2
42
+ local memory=$3
43
+
44
+ cat << EOF > "${VK_ROOT} /hack/kwok-node-${node_index} .yaml"
45
+ apiVersion: v1
46
+ kind: Node
47
+ metadata:
48
+ annotations:
49
+ node.alpha.kubernetes.io/ttl: "0"
50
+ kwok.x-k8s.io/node: fake
51
+ labels:
52
+ beta.kubernetes.io/arch: amd64
53
+ beta.kubernetes.io/os: linux
54
+ kubernetes.io/arch: amd64
55
+ kubernetes.io/hostname: kwok-node-${node_index}
56
+ kubernetes.io/os: linux
57
+ kubernetes.io/role: agent
58
+ node-role.kubernetes.io/agent: ""
59
+ type: kwok
60
+ name: kwok-node-${node_index}
61
+ spec:
62
+ taints:
63
+ - effect: NoSchedule
64
+ key: kwok.x-k8s.io/node
65
+ value: fake
66
+ status:
67
+ capacity:
68
+ cpu: "${cpu} "
69
+ memory: "${memory} "
70
+ pods: "110"
71
+ allocatable:
72
+ cpu: "${cpu} "
73
+ memory: "${memory} "
74
+ pods: "110"
75
+ EOF
76
+ }
77
+
78
+ # install kwok nodes
79
+ function install-kwok-nodes(node_count) {
80
+ for i in $( seq 0 $(( node_count- 1 )) ) ; do
81
+ generate-kwok-node-config $i " ${KWOK_NODE_CPU} " " ${KWOK_NODE_MEMORY} "
82
+ kubectl apply -f " ${VK_ROOT} /hack/kwok-node-${i} .yaml"
83
+ done
84
+ }
34
85
35
86
function install-volcano {
36
87
install-helm
@@ -121,6 +172,7 @@ source "${VK_ROOT}/hack/lib/install.sh"
121
172
122
173
check-prerequisites
123
174
kind-up-cluster
175
+ install-kwok-with-helm
124
176
125
177
if [[ -z ${KUBECONFIG+x} ]]; then
126
178
export KUBECONFIG=" ${HOME} /.kube/config"
@@ -166,6 +218,12 @@ case ${E2E_TYPE} in
166
218
echo " Running stress e2e suite..."
167
219
KUBECONFIG=${KUBECONFIG} GOOS=${OS} ginkgo -r --slow-spec-threshold=' 30s' --progress ./test/e2e/stress/
168
220
;;
221
+ " HYPERNODE" )
222
+ echo " Creating 8 kwok nodes for 3-tier topology"
223
+ install-kwok-nodes(8)
224
+ echo " Running hypernode e2e suite..."
225
+ KUBECONFIG=${KUBECONFIG} GOOS=${OS} ginkgo -r --slow-spec-threshold=' 30s' --progress ./test/e2e/hypernode/
226
+ ;;
169
227
esac
170
228
171
229
if [[ $? -ne 0 ]]; then
0 commit comments