mirror of
https://github.com/containers/podman.git
synced 2025-12-01 10:38:05 +08:00
Merge pull request #23237 from cevich/ignore_kube_main
Drop minikube CI test
This commit is contained in:
@@ -1,209 +0,0 @@
|
||||
#!/usr/bin/env bats
|
||||
#
|
||||
# Tests of podman kube commands with minikube
|
||||
#
|
||||
|
||||
load helpers.bash
|
||||
|
||||
###############################################################################
|
||||
# BEGIN tests
|
||||
|
||||
@test "minikube - check cluster is up" {
|
||||
run_minikube kubectl get nodes
|
||||
assert "$output" =~ "Ready"
|
||||
run_minikube kubectl get pods
|
||||
assert "$output" == "No resources found in default namespace."
|
||||
}
|
||||
|
||||
@test "minikube - deploy generated container yaml to minikube" {
|
||||
cname="test-ctr"
|
||||
fname="/tmp/minikube_deploy_$(random_string 6).yaml"
|
||||
run_podman container create --name $cname $IMAGE top
|
||||
run_podman kube generate -f $fname $cname
|
||||
|
||||
# deploy to the minikube cluster
|
||||
project="ctr-ns"
|
||||
run_minikube kubectl create namespace $project
|
||||
run_minikube kubectl -- apply -f $fname
|
||||
assert "$output" == "pod/$cname-pod created"
|
||||
wait_for_pods_to_start
|
||||
run_minikube kubectl delete namespace $project
|
||||
}
|
||||
|
||||
@test "minikube - deploy generated pod yaml to minikube" {
|
||||
pname="test-pod"
|
||||
cname1="test-ctr1"
|
||||
cname2="test-ctr2"
|
||||
fname="/tmp/minikube_deploy_$(random_string 6).yaml"
|
||||
|
||||
run_podman pod create --name $pname --publish 9999:8888
|
||||
run_podman container create --name $cname1 --pod $pname $IMAGE sleep 1000
|
||||
run_podman container create --name $cname2 --pod $pname $IMAGE sleep 2000
|
||||
run_podman kube generate -f $fname $pname
|
||||
|
||||
# deploy to the minikube cluster
|
||||
project="pod-ns"
|
||||
run_minikube kubectl create namespace $project
|
||||
run_minikube kubectl -- apply -f $fname
|
||||
assert "$output" == "pod/$pname created"
|
||||
wait_for_pods_to_start
|
||||
run_minikube kubectl delete namespace $project
|
||||
}
|
||||
|
||||
@test "minikube - apply podman ctr to cluster" {
|
||||
cname="test-ctr-apply"
|
||||
run_podman container create --name $cname $IMAGE top
|
||||
|
||||
# deploy to minikube cluster with kube apply
|
||||
project="ctr-apply"
|
||||
run_minikube kubectl create namespace $project
|
||||
run_podman kube apply --kubeconfig $KUBECONFIG --ns $project $cname
|
||||
assert "$output" =~ "Successfully deployed workloads to cluster!"
|
||||
run_minikube kubectl -- get pods --namespace $project
|
||||
assert "$output" =~ "$cname-pod"
|
||||
wait_for_pods_to_start
|
||||
run_minikube kubectl delete namespace $project
|
||||
}
|
||||
|
||||
@test "minikube - apply podman pod to cluster" {
|
||||
pname="test-pod-apply"
|
||||
run_podman pod create --name $pname
|
||||
run_podman container create --pod $pname $IMAGE top
|
||||
|
||||
# deploy to minikube cluster with kube apply
|
||||
project="pod-apply"
|
||||
run_minikube kubectl create namespace $project
|
||||
run_podman kube apply --kubeconfig $KUBECONFIG --ns $project $pname
|
||||
assert "$output" =~ "Successfully deployed workloads to cluster!"
|
||||
run_minikube kubectl -- get pods --namespace $project
|
||||
assert "$output" =~ "$pname"
|
||||
wait_for_pods_to_start
|
||||
run_minikube kubectl delete namespace $project
|
||||
}
|
||||
|
||||
@test "minikube - deploy generated kube yaml with podman kube apply to cluster" {
|
||||
pname="test-pod"
|
||||
cname1="test-ctr1"
|
||||
cname2="test-ctr2"
|
||||
fname="/tmp/minikube_deploy_$(random_string 6).yaml"
|
||||
|
||||
run_podman pod create --name $pname --publish 9999:8888
|
||||
run_podman container create --name $cname1 --pod $pname $IMAGE sleep 1000
|
||||
run_podman container create --name $cname2 --pod $pname $IMAGE sleep 2000
|
||||
run_podman kube generate -f $fname $pname
|
||||
|
||||
# deploy to minikube cluster with kube apply
|
||||
project="yaml-apply"
|
||||
run_minikube kubectl create namespace $project
|
||||
run_podman kube apply --kubeconfig $KUBECONFIG --ns $project -f $fname
|
||||
assert "$output" =~ "Successfully deployed workloads to cluster!"
|
||||
run_minikube kubectl -- get pods --namespace $project
|
||||
assert "$output" =~ "$pname"
|
||||
wait_for_pods_to_start
|
||||
run_minikube kubectl delete namespace $project
|
||||
}
|
||||
|
||||
@test "minikube - apply podman ctr with volume to cluster" {
|
||||
cname="ctr-vol"
|
||||
vname="myvol"
|
||||
run_podman container create -v $vname:/myvol --name $cname $IMAGE top
|
||||
|
||||
# deploy to minikube cluster with kube apply
|
||||
project="ctr-vol-apply"
|
||||
run_minikube kubectl create namespace $project
|
||||
run_podman kube apply --kubeconfig $KUBECONFIG --ns $project $cname $vname
|
||||
assert "$output" =~ "Successfully deployed workloads to cluster!"
|
||||
run_minikube kubectl -- get pods --namespace $project
|
||||
assert "$output" =~ "$cname-pod"
|
||||
run_minikube kubectl -- get pvc --namespace $project
|
||||
assert "$output" =~ "$vname"
|
||||
wait_for_pods_to_start
|
||||
run_minikube kubectl delete namespace $project
|
||||
}
|
||||
|
||||
@test "minikube - apply podman ctr with service to cluster" {
|
||||
cname="ctr-svc"
|
||||
run_podman container create -p 3000:4000 --name $cname $IMAGE top
|
||||
|
||||
# deploy to minikube cluster with kube apply
|
||||
project="ctr-svc-apply"
|
||||
run_minikube kubectl create namespace $project
|
||||
run_podman kube apply --kubeconfig $KUBECONFIG -s --ns $project $cname
|
||||
assert "$output" =~ "Successfully deployed workloads to cluster!"
|
||||
run_minikube kubectl -- get pods --namespace $project
|
||||
assert "$output" =~ "$cname-pod"
|
||||
run_minikube kubectl -- get svc --namespace $project
|
||||
assert "$output" =~ "$cname-pod"
|
||||
wait_for_pods_to_start
|
||||
run_minikube kubectl delete namespace $project
|
||||
}
|
||||
|
||||
@test "minikube - deploy generated container yaml to minikube --type=deployment" {
|
||||
cname="test-ctr"
|
||||
fname="/tmp/minikube_deploy_$(random_string 6).yaml"
|
||||
run_podman container create --name $cname $IMAGE top
|
||||
run_podman kube generate --type deployment -f $fname $cname
|
||||
|
||||
# deploy to the minikube cluster
|
||||
project="dep-ctr-ns"
|
||||
run_minikube kubectl create namespace $project
|
||||
run_minikube kubectl -- apply -f $fname
|
||||
assert "$output" == "deployment.apps/$cname-pod-deployment created"
|
||||
wait_for_pods_to_start
|
||||
run_minikube kubectl delete namespace $project
|
||||
}
|
||||
|
||||
@test "minikube - deploy generated pod yaml to minikube --type=deployment" {
|
||||
pname="test-pod"
|
||||
cname1="test-ctr1"
|
||||
cname2="test-ctr2"
|
||||
fname="/tmp/minikube_deploy_$(random_string 6).yaml"
|
||||
|
||||
run_podman pod create --name $pname --publish 9999:8888
|
||||
run_podman container create --name $cname1 --pod $pname $IMAGE sleep 1000
|
||||
run_podman container create --name $cname2 --pod $pname $IMAGE sleep 2000
|
||||
run_podman kube generate --type deployment -f $fname $pname
|
||||
|
||||
# deploy to the minikube cluster
|
||||
project="dep-pod-ns"
|
||||
run_minikube kubectl create namespace $project
|
||||
run_minikube kubectl -- apply -f $fname
|
||||
assert "$output" == "deployment.apps/$pname-deployment created"
|
||||
wait_for_pods_to_start
|
||||
run_minikube kubectl delete namespace $project
|
||||
}
|
||||
|
||||
@test "minikube - deploy generated container yaml to minikube --type=daemonset" {
|
||||
cname="test-ctr"
|
||||
fname="/tmp/minikube_deploy_$(random_string 6).yaml"
|
||||
run_podman container create --name $cname $IMAGE top
|
||||
run_podman kube generate --type daemonset -f $fname $cname
|
||||
|
||||
# deploy to the minikube cluster
|
||||
project="dep-ctr-ns"
|
||||
run_minikube kubectl create namespace $project
|
||||
run_minikube kubectl -- apply -f $fname
|
||||
assert "$output" == "daemonset.apps/$cname-pod-daemonset created"
|
||||
wait_for_pods_to_start
|
||||
run_minikube kubectl delete namespace $project
|
||||
}
|
||||
|
||||
@test "minikube - deploy generated pod yaml to minikube --type=daemonset" {
|
||||
pname="test-pod"
|
||||
cname1="test-ctr1"
|
||||
cname2="test-ctr2"
|
||||
fname="/tmp/minikube_deploy_$(random_string 6).yaml"
|
||||
|
||||
run_podman pod create --name $pname --publish 9999:8888
|
||||
run_podman container create --name $cname1 --pod $pname $IMAGE sleep 1000
|
||||
run_podman container create --name $cname2 --pod $pname $IMAGE sleep 2000
|
||||
run_podman kube generate --type daemonset -f $fname $pname
|
||||
|
||||
# deploy to the minikube cluster
|
||||
project="dep-pod-ns"
|
||||
run_minikube kubectl create namespace $project
|
||||
run_minikube kubectl -- apply -f $fname
|
||||
assert "$output" == "daemonset.apps/$pname-daemonset created"
|
||||
wait_for_pods_to_start
|
||||
run_minikube kubectl delete namespace $project
|
||||
}
|
||||
@@ -1,111 +0,0 @@
|
||||
# -*- bash -*-
|
||||
|
||||
load ../system/helpers.bash
|
||||
|
||||
KUBECONFIG="$HOME/.kube/config"
|
||||
|
||||
##################
|
||||
# run_minikube # Local helper, with instrumentation for debugging failures
|
||||
##################
|
||||
function run_minikube() {
|
||||
# Number as first argument = expected exit code; default 0
|
||||
local expected_rc=0
|
||||
case "$1" in
|
||||
[0-9]) expected_rc=$1; shift;;
|
||||
[1-9][0-9]) expected_rc=$1; shift;;
|
||||
[12][0-9][0-9]) expected_rc=$1; shift;;
|
||||
'?') expected_rc= ; shift;; # ignore exit code
|
||||
esac
|
||||
|
||||
# stdout is only emitted upon error; this printf is to help in debugging
|
||||
printf "\n%s %s %s %s\n" "$(timestamp)" "\$" "minikube" "$*"
|
||||
run minikube "$@"
|
||||
# without "quotes", multiple lines are glommed together into one
|
||||
if [[ -n "$output" ]]; then
|
||||
echo "$(timestamp) $output"
|
||||
fi
|
||||
if [[ "$status" -ne 0 ]]; then
|
||||
echo -n "$(timestamp) [ rc=$status ";
|
||||
if [[ -n "$expected_rc" ]]; then
|
||||
if [[ "$status" -eq "$expected_rc" ]]; then
|
||||
echo -n "(expected) ";
|
||||
else
|
||||
echo -n "(** EXPECTED $expected_rc **) ";
|
||||
fi
|
||||
fi
|
||||
echo "]"
|
||||
fi
|
||||
|
||||
if [[ -n "$expected_rc" ]]; then
|
||||
if [[ "$status" -ne "$expected_rc" ]]; then
|
||||
# Further debugging
|
||||
echo "\$ minikube logs"
|
||||
run minikube logs
|
||||
echo "$output"
|
||||
|
||||
die "exit code is $status; expected $expected_rc"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
function setup(){
|
||||
# only set up the minikube cluster before the first test
|
||||
if [[ "$BATS_TEST_NUMBER" -eq 1 ]]; then
|
||||
run_minikube start
|
||||
wait_for_default_sa
|
||||
fi
|
||||
basic_setup
|
||||
}
|
||||
|
||||
function teardown(){
|
||||
# only delete the minikube cluster if we are done with the last test
|
||||
# the $DEBUG_MINIKUBE env can be set to preserve the cluster to debug if needed
|
||||
if [[ "$BATS_TEST_NUMBER" -eq ${#BATS_TEST_NAMES[@]} ]] && [[ "$DEBUG_MINIKUBE" == "" ]]; then
|
||||
run_minikube delete
|
||||
fi
|
||||
|
||||
# Prevents nasty red warnings in log
|
||||
run_podman rmi --ignore $(pause_image)
|
||||
|
||||
basic_teardown
|
||||
}
|
||||
|
||||
function wait_for_default_sa(){
|
||||
count=0
|
||||
sa_ready=false
|
||||
# timeout after 30 seconds
|
||||
# if the default service account hasn't been created yet, there is something else wrong
|
||||
while [[ $count -lt 30 ]] && [[ $sa_ready == false ]]
|
||||
do
|
||||
run_minikube kubectl get sa
|
||||
if [[ "$output" != "No resources found in default namespace." ]]; then
|
||||
sa_ready=true
|
||||
fi
|
||||
count=$((count + 1))
|
||||
sleep 1
|
||||
done
|
||||
if [[ $sa_ready == false ]]; then
|
||||
die "Timed out waiting for default service account to be created"
|
||||
fi
|
||||
}
|
||||
|
||||
function wait_for_pods_to_start(){
|
||||
count=0
|
||||
running=false
|
||||
# timeout after 30 seconds
|
||||
# if the pod hasn't started running after 30 seconds, there is something else wrong
|
||||
while [[ $count -lt 30 ]] && [[ $running == false ]]
|
||||
do
|
||||
run_minikube kubectl get pods
|
||||
assert "$status" -eq 0
|
||||
if [[ "$output" =~ "Running" ]]; then
|
||||
running=true
|
||||
fi
|
||||
count=$((count + 1))
|
||||
sleep 1
|
||||
done
|
||||
if [[ $running == false ]]; then
|
||||
die "Timed out waiting for pod to move to 'Running' state"
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user