Skip to content

Commit

Permalink
Merge pull request #439 from erikwilson/e2e-enhancements
Browse files Browse the repository at this point in the history
 Add e2e enhancements
  • Loading branch information
ibuildthecloud authored May 3, 2019
2 parents b0e4228 + b87dd7c commit 647ced5
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 27 deletions.
3 changes: 2 additions & 1 deletion package/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM alpine:3.8 as base
FROM alpine:3.9 as base
RUN apk add -U ca-certificates
ADD build/out/data.tar.gz /image
RUN mkdir -p /image/etc/ssl/certs /image/run /image/var/run /image/tmp /image/lib/modules /image/lib/firmware && \
Expand All @@ -13,5 +13,6 @@ RUN chmod 1777 /tmp
VOLUME /var/lib/rancher/k3s
VOLUME /var/lib/cni
VOLUME /var/log
ENV PATH="$PATH:/bin/aux"
ENTRYPOINT ["/bin/k3s"]
CMD ["agent"]
40 changes: 23 additions & 17 deletions scripts/sonobuoy
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,15 @@ cleanup() {
exit_status=$?
set +e
echo "Cleaning up"
docker logs ${K3S_SERVER} >${OUTPUT}/k3s-server.log 2>&1
docker logs ${K3S_AGENT} >${OUTPUT}/k3s-agent.log 2>&1
docker rm -f ${K3S_SERVER} 2>/dev/null
docker rm -f ${K3S_AGENT} 2>/dev/null
for container in ${K3S_SERVER} ${K3S_AGENT}; do
docker cp ${container}:/var/lib/rancher/k3s/agent/containerd/containerd.log ${OUTPUT}/${container}-containerd.log
docker logs ${container} >${OUTPUT}/${container}.log 2>&1
docker rm -f ${container} 2>/dev/null
if [ ${exit_status} -ne 0 ]; then
cat ${OUTPUT}/${container}-containerd.log
cat ${OUTPUT}/${container}.log
fi
done
rm ${KUBECONFIG}
exit ${exit_status}
}
Expand All @@ -61,23 +66,13 @@ echo "Started ${K3S_SERVER} @ ${K3S_IP}:${K3S_PORT}"

# ---

docker run -d --name ${K3S_AGENT} --privileged \
-e K3S_CLUSTER_SECRET=${SECRET} \
-e K3S_URL=https://${K3S_IP}:${K3S_PORT} \
${K3S_IMAGE} agent

echo "Started ${K3S_AGENT}"

# ---

fetch-kubeconfig() {
docker exec ${K3S_SERVER} cat /etc/rancher/k3s/k3s.yaml 2>/dev/null \
| tee ${KUBECONFIG}
docker cp ${K3S_SERVER}:/etc/rancher/k3s/k3s.yaml ${KUBECONFIG} 2>/dev/null
}
export -f fetch-kubeconfig

wait-for-kubeconfig() {
while [[ -z "$(fetch-kubeconfig)" ]]; do
while ! fetch-kubeconfig; do
echo "Waiting for kubeconfig to become available..."
sleep 5
done
Expand All @@ -88,6 +83,15 @@ timeout --foreground 1m bash -c wait-for-kubeconfig

# ---

docker run -d --name ${K3S_AGENT} --privileged \
-e K3S_CLUSTER_SECRET=${SECRET} \
-e K3S_URL=https://${K3S_IP}:${K3S_PORT} \
${K3S_IMAGE} agent

echo "Started ${K3S_AGENT}"

# ---

count-ready-nodes() {
kubectl get nodes -o json \
| jq '.items[].status.conditions[] | select(.type == "Ready" and .status == "True") | .type' \
Expand Down Expand Up @@ -143,7 +147,9 @@ sonobuoy retrieve ${OUTPUT}
tar xzf *_sonobuoy_*.tar.gz
results="./plugins/e2e/results/e2e.log"
[ -s ${results} ] || exit 1
tail -20 ${results}
status=$(tail -5 ${results} | grep '^SUCCESS!.*| 0 Failed |' >/dev/null && echo passed || echo failed)
if [ -n "${E2E_LOG_OUTPUT}" ]; then
cp ${results} ${E2E_LOG_OUTPUT}
cp ${results} $(echo ${E2E_LOG_OUTPUT} | sed -e "s/-STATUS-/-${status}-/g")
fi
)
13 changes: 4 additions & 9 deletions scripts/sonobuoy-e2e-tests
Original file line number Diff line number Diff line change
Expand Up @@ -23,24 +23,19 @@ run-sonobuoy() {
pids+=($!)
}

log_output=${OUTPUT}/e2e-${ARCH}-serial.log \
log_output=${OUTPUT}/e2e-STATUS-${ARCH}-serial.log \
run-sonobuoy --e2e-focus='\[Serial\].*\[Conformance\]'

log_output=${OUTPUT}/e2e-${ARCH}-parallel.log \
log_output=${OUTPUT}/e2e-STATUS-${ARCH}-parallel.log \
run-sonobuoy --e2e-focus='\[Conformance\]' --e2e-skip='\[Serial\]' --e2e-parallel=y

cleanup() {
exit_status=$?
set +e
echo "Killing the tests!"
kill ${pids[@]}
wait ${pids[@]}
echo "Waiting on the tests!"
wait
exit ${exit_status}
}
trap cleanup EXIT
wait ${pids[@]}
trap - EXIT

for log in ${output[@]}; do
tail -20 ${log}
done

0 comments on commit 647ced5

Please sign in to comment.