Skip to content

Commit a407e48

Browse files
committed
Changes to the run-e2e-kind.sh to
1 parent ce300d9 commit a407e48

File tree

2 files changed

+68
-33
lines changed

2 files changed

+68
-33
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ TAG:=${TAG}${RELEASE_VER}
2525

2626
mcad-controller: init generate-code
2727
$(info Compiling controller)
28-
CGO_ENABLED=0 GOARCH=amd64 go build -o ${BIN_DIR}/mcad-controller ./cmd/kar-controllers/
28+
CGO_ENABLED=0 GOOS="linux" go build -o ${BIN_DIR}/mcad-controller ./cmd/kar-controllers/
2929

3030
print-global-variables:
3131
$(info "---")

hack/run-e2e-kind.sh

Lines changed: 67 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -42,18 +42,26 @@ export IMAGE_TAG_MCAD="${2}"
4242
export MCAD_IMAGE_PULL_POLICY="${3-Always}"
4343
export IMAGE_MCAD="${IMAGE_REPOSITORY_MCAD}:${IMAGE_TAG_MCAD}"
4444

45-
sudo apt-get update && sudo apt-get install -y apt-transport-https
46-
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
47-
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
48-
sudo apt-get update
49-
# Using older version due to older version of kubernetes cluster"
50-
sudo apt-get install -y --allow-unauthenticated kubectl=1.17.0-00
51-
52-
# Download kind binary (0.6.1)
53-
sudo curl -o /usr/local/bin/kind -L https://github.com/kubernetes-sigs/kind/releases/download/v0.11.0/kind-linux-amd64
54-
sudo chmod +x /usr/local/bin/kind
55-
56-
# check if kind installed
45+
function update_test_host {
46+
sudo apt-get update && sudo apt-get install -y apt-transport-https curl
47+
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
48+
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
49+
sudo apt-get update
50+
# Using older version due to older version of kubernetes cluster"
51+
sudo apt-get install -y --allow-unauthenticated kubectl=1.17.0-00
52+
53+
# Download kind binary (0.6.1)
54+
sudo curl -o /usr/local/bin/kind -L https://github.com/kubernetes-sigs/kind/releases/download/v0.11.0/kind-linux-amd64
55+
sudo chmod +x /usr/local/bin/kind
56+
57+
# Installing helm3
58+
curl -fsSL -o ${ROOT_DIR}/get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
59+
chmod 700 ${ROOT_DIR}/get_helm.sh
60+
${ROOT_DIR}/get_helm.sh
61+
sleep 10
62+
}
63+
64+
# check if pre-requizites are installed.
5765
function check-prerequisites {
5866
echo "checking prerequisites"
5967
which kind >/dev/null 2>&1
@@ -81,12 +89,21 @@ function check-prerequisites {
8189
echo "No MCAD image tag was provided for: ${IMAGE_REPOSITORY_MCAD}."
8290
exit 1
8391
else
84-
echo -n "end to end test with ${IMAGE_MCAD}."
92+
echo "end to end test with ${IMAGE_MCAD}."
8593
fi
94+
95+
which helm >/dev/null 2>&1
96+
if [[ $? -ne 0 ]]
97+
then
98+
echo "helm not installed, exiting."
99+
exit 1
100+
else
101+
echo -n "found helm, " && helm version --short
102+
fi
103+
86104
}
87105

88106
function kind-up-cluster {
89-
check-prerequisites
90107
echo "Running kind: [kind create cluster ${CLUSTER_CONTEXT} ${KIND_OPT}]"
91108
kind create cluster ${CLUSTER_CONTEXT} ${KIND_OPT} --wait ${WAIT_TIME}
92109

@@ -100,8 +117,25 @@ function kind-up-cluster {
100117
docker images
101118

102119
kind load docker-image ${IMAGE_NGINX} ${CLUSTER_CONTEXT}
120+
if [[ $? -ne 0 ]]
121+
then
122+
echo "Failed to load image ${IMAGE_NGINX} in cluster"
123+
exit 1
124+
fi
125+
103126
kind load docker-image ${IMAGE_ECHOSERVER} ${CLUSTER_CONTEXT}
127+
if [[ $? -ne 0 ]]
128+
then
129+
echo "Failed to load image ${IMAGE_ECHOSERVER} in cluster"
130+
exit 1
131+
fi
132+
104133
kind load docker-image ${IMAGE_MCAD} ${CLUSTER_CONTEXT}
134+
if [[ $? -ne 0 ]]
135+
then
136+
echo "Failed to load image ${IMAGE_MCAD} in cluster"
137+
exit 1
138+
fi
105139
}
106140

107141
# clean up
@@ -145,10 +179,14 @@ function cleanup {
145179
echo "===================================================================================="
146180
echo "==========================>>>>> MCAD Controller Logs <<<<<=========================="
147181
echo "===================================================================================="
148-
echo "kubectl logs ${mcad_pod} -n kube-system"
149-
kubectl logs ${mcad_pod} -n kube-system
150-
182+
local mcad_pod=$(kubectl get pods -n kube-system | grep mcad-controller | awk '{print $1}')
183+
if [[ "$mcad_pod" != "" ]]
184+
then
185+
echo "kubectl logs ${mcad_pod} -n kube-system"
186+
kubectl logs ${mcad_pod} -n kube-system
187+
fi
151188
kind delete cluster ${CLUSTER_CONTEXT}
189+
rm -rf ${ROOT_DIR}/get_helm.sh
152190
}
153191

154192
debug_function() {
@@ -277,26 +315,15 @@ function kube-test-env-up {
277315
echo "---"
278316
cat $HOME/.kube/config
279317
fi
280-
281-
# Installing helm3
282-
283-
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
284-
chmod 700 get_helm.sh
285-
./get_helm.sh
286-
sleep 10
287-
288-
helm version
289-
318+
290319
echo "Installing Podgroup CRD"
291320

292321
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/scheduler-plugins/277b6bdec18f8a9e9ccd1bfeaf4b66495bfc6f92/config/crd/bases/scheduling.sigs.k8s.io_podgroups.yaml
293322

294-
cd deployment/mcad-controller
295-
296323
# start mcad controller
297324
echo "Starting MCAD Controller..."
298325
echo "helm install mcad-controller namespace kube-system wait set loglevel=2 set resources.requests.cpu=1000m set resources.requests.memory=1024Mi set resources.limits.cpu=4000m set resources.limits.memory=4096Mi set image.repository=$IMAGE_REPOSITORY_MCAD set image.tag=$IMAGE_TAG_MCAD set image.pullPolicy=$MCAD_IMAGE_PULL_POLICY"
299-
helm upgrade --install mcad-controller . --namespace kube-system --wait --set loglevel=2 --set resources.requests.cpu=1000m --set resources.requests.memory=1024Mi --set resources.limits.cpu=4000m --set resources.limits.memory=4096Mi --set configMap.name=mcad-controller-configmap --set configMap.podCreationTimeout='"120000"' --set configMap.quotaEnabled='"false"' --set coscheduler.rbac.apiGroup=scheduling.sigs.k8s.io --set coscheduler.rbac.resource=podgroups --set image.repository=$IMAGE_REPOSITORY_MCAD --set image.tag=$IMAGE_TAG_MCAD --set image.pullPolicy=$MCAD_IMAGE_PULL_POLICY
326+
helm upgrade --install mcad-controller ${ROOT_DIR}/deployment/mcad-controller --namespace kube-system --wait --set loglevel=2 --set resources.requests.cpu=1000m --set resources.requests.memory=1024Mi --set resources.limits.cpu=4000m --set resources.limits.memory=4096Mi --set configMap.name=mcad-controller-configmap --set configMap.podCreationTimeout='"120000"' --set configMap.quotaEnabled='"false"' --set coscheduler.rbac.apiGroup=scheduling.sigs.k8s.io --set coscheduler.rbac.resource=podgroups --set image.repository=$IMAGE_REPOSITORY_MCAD --set image.tag=$IMAGE_TAG_MCAD --set image.pullPolicy=$MCAD_IMAGE_PULL_POLICY
300327

301328
sleep 10
302329
echo "Listing MCAD Controller Helm Chart and Pod YAML..."
@@ -344,11 +371,19 @@ function kube-test-env-up {
344371

345372
trap cleanup EXIT
346373

374+
#Only run this function if we are running on the test build machinbe,
375+
#currently ubuntu 16.04 xenial
376+
if [ "$(lsb_release -c -s 2>&1 | grep xenial)" == "xenial" ]; then
377+
update_test_host
378+
fi
379+
380+
check-prerequisites
381+
347382
kind-up-cluster
348383

349384
kube-test-env-up
350385

351-
cd ${ROOT_DIR}
352-
353386
echo "==========================>>>>> Running E2E tests... <<<<<=========================="
354387
go test ./test/e2e -v -timeout 55m
388+
debug_function
389+
sleep 3600s

0 commit comments

Comments
 (0)