1
0
mirror of https://github.com/rancher/rke.git synced 2025-09-16 06:59:25 +00:00

Add job complete check in integration

This commit is contained in:
Sebastiaan van Steenis
2021-12-16 20:59:18 +01:00
parent 6da25b0d69
commit 501927ed8f

View File

@@ -113,7 +113,7 @@ for pid in "${!pid_results[@]}"; do
if [ "${pid_results["${pid}"]}" == "0" ]; then if [ "${pid_results["${pid}"]}" == "0" ]; then
rkeup_results["${pid}"]="0" rkeup_results["${pid}"]="0"
echo_with_time "[OK] rke up successful for ${pid_to_version}" echo_with_time "[OK] rke up successful for ${pid_to_version}"
echo_with_time "Checking rollout status of all deployments/daemonsets for ${pid_to_version}" echo_with_time "Checking rollout status/job complete of all deployments/daemonsets/jobs for ${pid_to_version}"
for namespace in $(/usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_to_version}.yml" get namespace -o custom-columns=NAME:.metadata.name --no-headers); do for namespace in $(/usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_to_version}.yml" get namespace -o custom-columns=NAME:.metadata.name --no-headers); do
if [ "${rollout_results["${pid}"]}" = "1" ]; then if [ "${rollout_results["${pid}"]}" = "1" ]; then
continue continue
@@ -125,16 +125,29 @@ for pid in "${!pid_results[@]}"; do
if [ "${rollout_results["${pid}"]}" = "1" ]; then if [ "${rollout_results["${pid}"]}" = "1" ]; then
continue continue
fi fi
echo_with_time "Checking rollout status of $kind $name in namespace $namespace for ${pid_to_version}" if [ "$kind" = "Job" ]; then
/usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_to_version}.yml" -n $namespace rollout status $kind $name -w --timeout=5m >/dev/null 2>&1 echo_with_time "Checking job complete status of $kind $name in namespace $namespace for ${pid_to_version}"
if [ $? -ne 0 ]; then /usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_to_version}.yml" -n $namespace wait --for=condition=complete $kind $name --timeout=5m >/dev/null 2>&1
echo_with_time "[FAIL] Rollout of $kind $name in namespace $namespace for ${pid_to_version} did not complete in 5 minutes" if [ $? -ne 0 ]; then
rollout_results["${pid}"]="1" echo_with_time "[FAIL] Job complete of $kind $name in namespace $namespace for ${pid_to_version} did not complete in 5 minutes"
rollout_results["${pid}"]="1"
continue
else
echo_with_time "[OK] Job complete of $kind $name in namespace $namespace for ${pid_to_version} complete"
rollout_results["${pid}"]="0"
fi
else else
echo_with_time "[OK] Rollout of $kind $name in namespace $namespace for ${pid_to_version} complete" echo_with_time "Checking rollout status of $kind $name in namespace $namespace for ${pid_to_version}"
rollout_results["${pid}"]="0" /usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_to_version}.yml" -n $namespace rollout status $kind $name -w --timeout=5m >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo_with_time "[FAIL] Rollout of $kind $name in namespace $namespace for ${pid_to_version} did not complete in 5 minutes"
rollout_results["${pid}"]="1"
else
echo_with_time "[OK] Rollout of $kind $name in namespace $namespace for ${pid_to_version} complete"
rollout_results["${pid}"]="0"
fi
fi fi
done <<<$(/usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_to_version}.yml" -n $namespace get deploy,daemonset --no-headers -o custom-columns=NAME:.metadata.name,KIND:.kind --no-headers) done <<<$(/usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_to_version}.yml" -n $namespace get deploy,daemonset,job --no-headers -o custom-columns=NAME:.metadata.name,KIND:.kind --no-headers)
done done
/usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_to_version}.yml" get nodes -o go-template='{{range .items}}{{$node := .}}{{range .status.conditions}}{{$node.metadata.name}}{{": "}}{{.type}}{{":"}}{{.status}}{{"\n"}}{{end}}{{end}}' /usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_to_version}.yml" get nodes -o go-template='{{range .items}}{{$node := .}}{{range .status.conditions}}{{$node.metadata.name}}{{": "}}{{.type}}{{":"}}{{.status}}{{"\n"}}{{end}}{{end}}'
/usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_to_version}.yml" get pods --all-namespaces /usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_to_version}.yml" get pods --all-namespaces
@@ -222,7 +235,7 @@ for pid in "${!pid_upgrade_results[@]}"; do
if [ "${pid_upgrade_results["${pid}"]}" == "0" ]; then if [ "${pid_upgrade_results["${pid}"]}" == "0" ]; then
rkeup_upgrade_results["${pid}"]="0" rkeup_upgrade_results["${pid}"]="0"
echo_with_time "[OK] rke up successful for upgrade of ${pid_upgrade_to_version}" echo_with_time "[OK] rke up successful for upgrade of ${pid_upgrade_to_version}"
echo_with_time "Checking rollout status of all deployments/daemonsets for upgrade of ${pid_upgrade_to_version} to "${upgraded_version}"" echo_with_time "Checking rollout status/job complete of all deployments/daemonsets/jobs for upgrade of ${pid_upgrade_to_version} to "${upgraded_version}""
for namespace in $(/usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_upgrade_to_version}.yml" get namespace -o custom-columns=NAME:.metadata.name --no-headers); do for namespace in $(/usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_upgrade_to_version}.yml" get namespace -o custom-columns=NAME:.metadata.name --no-headers); do
if [ "${rollout_upgrade_results["${pid}"]}" = "1" ]; then if [ "${rollout_upgrade_results["${pid}"]}" = "1" ]; then
continue continue
@@ -234,16 +247,29 @@ for pid in "${!pid_upgrade_results[@]}"; do
if [ "${rollout_upgrade_results["${pid}"]}" = "1" ]; then if [ "${rollout_upgrade_results["${pid}"]}" = "1" ]; then
continue continue
fi fi
echo_with_time "Checking rollout status of $kind $name in namespace $namespace for upgrade ${pid_upgrade_to_version} to "${upgraded_version}"" if [ "$kind" = "Job" ]; then
/usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_upgrade_to_version}.yml" -n $namespace rollout status $kind $name -w --timeout=5m >/dev/null 2>&1 echo_with_time "Checking job complete status of $kind $name in namespace $namespace for upgrade ${pid_upgrade_to_version} to "${upgraded_version}""
if [ $? -ne 0 ]; then /usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_to_version}.yml" -n $namespace wait --for=condition=complete $kind $name --timeout=5m >/dev/null 2>&1
echo_with_time "[FAIL] Rollout of $kind $name in namespace $namespace for upgrade ${pid_upgrade_to_version} to "${upgraded_version}" did not complete in 5 minutes" if [ $? -ne 0 ]; then
rollout_upgrade_results["${pid}"]="1" echo_with_time "[FAIL] Job complete of $kind $name in namespace $namespace for upgrade ${pid_upgrade_to_version} to "${upgraded_version}" did not complete in 5 minutes"
rollout_upgrade_results["${pid}"]="1"
continue
else
echo_with_time "[OK] Job complete of $kind $name in namespace $namespace for upgrade ${pid_upgrade_to_version} to "${upgraded_version}" complete"
rollout_upgrade_results["${pid}"]="0"
fi
else else
echo_with_time "[OK] Rollout of $kind $name in namespace $namespace for upgrade ${pid_upgrade_to_version} to "${upgraded_version}" complete" echo_with_time "Checking rollout status of $kind $name in namespace $namespace for upgrade ${pid_upgrade_to_version} to "${upgraded_version}""
rollout_upgrade_results["${pid}"]="0" /usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_upgrade_to_version}.yml" -n $namespace rollout status $kind $name -w --timeout=5m >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo_with_time "[FAIL] Rollout of $kind $name in namespace $namespace for upgrade ${pid_upgrade_to_version} to "${upgraded_version}" did not complete in 5 minutes"
rollout_upgrade_results["${pid}"]="1"
else
echo_with_time "[OK] Rollout of $kind $name in namespace $namespace for upgrade ${pid_upgrade_to_version} to "${upgraded_version}" complete"
rollout_upgrade_results["${pid}"]="0"
fi
fi fi
done <<<$(/usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_upgrade_to_version}.yml" -n $namespace get deploy,daemonset --no-headers -o custom-columns=NAME:.metadata.name,KIND:.kind --no-headers) done <<<$(/usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_upgrade_to_version}.yml" -n $namespace get deploy,daemonset,job --no-headers -o custom-columns=NAME:.metadata.name,KIND:.kind --no-headers)
done done
/usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_upgrade_to_version}.yml" get nodes -o go-template='{{range .items}}{{$node := .}}{{range .status.conditions}}{{$node.metadata.name}}{{": "}}{{.type}}{{":"}}{{.status}}{{"\n"}}{{end}}{{end}}' /usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_upgrade_to_version}.yml" get nodes -o go-template='{{range .items}}{{$node := .}}{{range .status.conditions}}{{$node.metadata.name}}{{": "}}{{.type}}{{":"}}{{.status}}{{"\n"}}{{end}}{{end}}'
/usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_upgrade_to_version}.yml" get pods --all-namespaces /usr/local/bin/kubectl-${clusterk8sversion} --kubeconfig "./bin/kube_config_cluster-${pid_upgrade_to_version}.yml" get pods --all-namespaces