github.com/containers/podman/v5@v5.1.0-rc1/test/minikube/001-kube.bats (about) 1 #!/usr/bin/env bats 2 # 3 # Tests of podman kube commands with minikube 4 # 5 6 load helpers.bash 7 8 ############################################################################### 9 # BEGIN tests 10 11 @test "minikube - check cluster is up" { 12 run_minikube kubectl get nodes 13 assert "$output" =~ "Ready" 14 run_minikube kubectl get pods 15 assert "$output" == "No resources found in default namespace." 16 } 17 18 @test "minikube - deploy generated container yaml to minikube" { 19 cname="test-ctr" 20 fname="/tmp/minikube_deploy_$(random_string 6).yaml" 21 run_podman container create --name $cname $IMAGE top 22 run_podman kube generate -f $fname $cname 23 24 # deploy to the minikube cluster 25 project="ctr-ns" 26 run_minikube kubectl create namespace $project 27 run_minikube kubectl -- apply -f $fname 28 assert "$output" == "pod/$cname-pod created" 29 wait_for_pods_to_start 30 run_minikube kubectl delete namespace $project 31 } 32 33 @test "minikube - deploy generated pod yaml to minikube" { 34 pname="test-pod" 35 cname1="test-ctr1" 36 cname2="test-ctr2" 37 fname="/tmp/minikube_deploy_$(random_string 6).yaml" 38 39 run_podman pod create --name $pname --publish 9999:8888 40 run_podman container create --name $cname1 --pod $pname $IMAGE sleep 1000 41 run_podman container create --name $cname2 --pod $pname $IMAGE sleep 2000 42 run_podman kube generate -f $fname $pname 43 44 # deploy to the minikube cluster 45 project="pod-ns" 46 run_minikube kubectl create namespace $project 47 run_minikube kubectl -- apply -f $fname 48 assert "$output" == "pod/$pname created" 49 wait_for_pods_to_start 50 run_minikube kubectl delete namespace $project 51 } 52 53 @test "minikube - apply podman ctr to cluster" { 54 cname="test-ctr-apply" 55 run_podman container create --name $cname $IMAGE top 56 57 # deploy to minikube cluster with kube apply 58 project="ctr-apply" 59 run_minikube kubectl create namespace $project 60 run_podman kube apply --kubeconfig $KUBECONFIG --ns $project $cname 61 assert "$output" =~ "Successfully deployed workloads to cluster!" 62 run_minikube kubectl -- get pods --namespace $project 63 assert "$output" =~ "$cname-pod" 64 wait_for_pods_to_start 65 run_minikube kubectl delete namespace $project 66 } 67 68 @test "minikube - apply podman pod to cluster" { 69 pname="test-pod-apply" 70 run_podman pod create --name $pname 71 run_podman container create --pod $pname $IMAGE top 72 73 # deploy to minikube cluster with kube apply 74 project="pod-apply" 75 run_minikube kubectl create namespace $project 76 run_podman kube apply --kubeconfig $KUBECONFIG --ns $project $pname 77 assert "$output" =~ "Successfully deployed workloads to cluster!" 78 run_minikube kubectl -- get pods --namespace $project 79 assert "$output" =~ "$pname" 80 wait_for_pods_to_start 81 run_minikube kubectl delete namespace $project 82 } 83 84 @test "minikube - deploy generated kube yaml with podman kube apply to cluster" { 85 pname="test-pod" 86 cname1="test-ctr1" 87 cname2="test-ctr2" 88 fname="/tmp/minikube_deploy_$(random_string 6).yaml" 89 90 run_podman pod create --name $pname --publish 9999:8888 91 run_podman container create --name $cname1 --pod $pname $IMAGE sleep 1000 92 run_podman container create --name $cname2 --pod $pname $IMAGE sleep 2000 93 run_podman kube generate -f $fname $pname 94 95 # deploy to minikube cluster with kube apply 96 project="yaml-apply" 97 run_minikube kubectl create namespace $project 98 run_podman kube apply --kubeconfig $KUBECONFIG --ns $project -f $fname 99 assert "$output" =~ "Successfully deployed workloads to cluster!" 100 run_minikube kubectl -- get pods --namespace $project 101 assert "$output" =~ "$pname" 102 wait_for_pods_to_start 103 run_minikube kubectl delete namespace $project 104 } 105 106 @test "minikube - apply podman ctr with volume to cluster" { 107 cname="ctr-vol" 108 vname="myvol" 109 run_podman container create -v $vname:/myvol --name $cname $IMAGE top 110 111 # deploy to minikube cluster with kube apply 112 project="ctr-vol-apply" 113 run_minikube kubectl create namespace $project 114 run_podman kube apply --kubeconfig $KUBECONFIG --ns $project $cname $vname 115 assert "$output" =~ "Successfully deployed workloads to cluster!" 116 run_minikube kubectl -- get pods --namespace $project 117 assert "$output" =~ "$cname-pod" 118 run_minikube kubectl -- get pvc --namespace $project 119 assert "$output" =~ "$vname" 120 wait_for_pods_to_start 121 run_minikube kubectl delete namespace $project 122 } 123 124 @test "minikube - apply podman ctr with service to cluster" { 125 cname="ctr-svc" 126 run_podman container create -p 3000:4000 --name $cname $IMAGE top 127 128 # deploy to minikube cluster with kube apply 129 project="ctr-svc-apply" 130 run_minikube kubectl create namespace $project 131 run_podman kube apply --kubeconfig $KUBECONFIG -s --ns $project $cname 132 assert "$output" =~ "Successfully deployed workloads to cluster!" 133 run_minikube kubectl -- get pods --namespace $project 134 assert "$output" =~ "$cname-pod" 135 run_minikube kubectl -- get svc --namespace $project 136 assert "$output" =~ "$cname-pod" 137 wait_for_pods_to_start 138 run_minikube kubectl delete namespace $project 139 } 140 141 @test "minikube - deploy generated container yaml to minikube --type=deployment" { 142 cname="test-ctr" 143 fname="/tmp/minikube_deploy_$(random_string 6).yaml" 144 run_podman container create --name $cname $IMAGE top 145 run_podman kube generate --type deployment -f $fname $cname 146 147 # deploy to the minikube cluster 148 project="dep-ctr-ns" 149 run_minikube kubectl create namespace $project 150 run_minikube kubectl -- apply -f $fname 151 assert "$output" == "deployment.apps/$cname-pod-deployment created" 152 wait_for_pods_to_start 153 run_minikube kubectl delete namespace $project 154 } 155 156 @test "minikube - deploy generated pod yaml to minikube --type=deployment" { 157 pname="test-pod" 158 cname1="test-ctr1" 159 cname2="test-ctr2" 160 fname="/tmp/minikube_deploy_$(random_string 6).yaml" 161 162 run_podman pod create --name $pname --publish 9999:8888 163 run_podman container create --name $cname1 --pod $pname $IMAGE sleep 1000 164 run_podman container create --name $cname2 --pod $pname $IMAGE sleep 2000 165 run_podman kube generate --type deployment -f $fname $pname 166 167 # deploy to the minikube cluster 168 project="dep-pod-ns" 169 run_minikube kubectl create namespace $project 170 run_minikube kubectl -- apply -f $fname 171 assert "$output" == "deployment.apps/$pname-deployment created" 172 wait_for_pods_to_start 173 run_minikube kubectl delete namespace $project 174 } 175 176 @test "minikube - deploy generated container yaml to minikube --type=daemonset" { 177 cname="test-ctr" 178 fname="/tmp/minikube_deploy_$(random_string 6).yaml" 179 run_podman container create --name $cname $IMAGE top 180 run_podman kube generate --type daemonset -f $fname $cname 181 182 # deploy to the minikube cluster 183 project="dep-ctr-ns" 184 run_minikube kubectl create namespace $project 185 run_minikube kubectl -- apply -f $fname 186 assert "$output" == "daemonset.apps/$cname-pod-daemonset created" 187 wait_for_pods_to_start 188 run_minikube kubectl delete namespace $project 189 } 190 191 @test "minikube - deploy generated pod yaml to minikube --type=daemonset" { 192 pname="test-pod" 193 cname1="test-ctr1" 194 cname2="test-ctr2" 195 fname="/tmp/minikube_deploy_$(random_string 6).yaml" 196 197 run_podman pod create --name $pname --publish 9999:8888 198 run_podman container create --name $cname1 --pod $pname $IMAGE sleep 1000 199 run_podman container create --name $cname2 --pod $pname $IMAGE sleep 2000 200 run_podman kube generate --type daemonset -f $fname $pname 201 202 # deploy to the minikube cluster 203 project="dep-pod-ns" 204 run_minikube kubectl create namespace $project 205 run_minikube kubectl -- apply -f $fname 206 assert "$output" == "daemonset.apps/$pname-daemonset created" 207 wait_for_pods_to_start 208 run_minikube kubectl delete namespace $project 209 }