mirror of
https://github.com/k3s-io/k3s.git
synced 2024-06-07 19:41:36 +00:00
Merge pull request #439 from erikwilson/e2e-enhancements
Add e2e enhancements
This commit is contained in:
commit
647ced5aa4
@ -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 && \
|
||||
@ -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,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}
|
||||
}
|
||||
@ -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
|
||||
@ -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' \
|
||||
@ -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
|
||||
)
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user