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  }