attilapiros opened a new pull request #31829:
URL: https://github.com/apache/spark/pull/31829


   
   ### What changes were proposed in this pull request?
   
   This PR upgrades Kubernetes and Minikube version for integration tests and 
removes/updates the old code for this new version.
   
   Details of this changes: 
   
   - As [discussed in the mailing 
list](http://apache-spark-developers-list.1001551.n3.nabble.com/minikube-and-kubernetes-cluster-versions-for-integration-testing-td30856.html):
 updating Minikube version from v0.34.1 to v1.7.3 and kubernetes version from 
v1.15.12 to v1.17.3.
   - making Minikube version checked and fail with an explanation when the test 
is started with on a version <  v1.7.3.
   - removing minikube status checking code related to old Minikube versions 
   - in the Minikube backend using fabric8's `Config.autoConfigure()` method to 
configure the kubernetes client to use the `minikube` k8s context (like it was 
in [one of the Minikube's 
example](https://github.com/fabric8io/kubernetes-client/blob/master/kubernetes-examples/src/main/java/io/fabric8/kubernetes/examples/kubectl/equivalents/ConfigUseContext.java#L36))
   
   ### Why are the changes needed?
   
   With the current suggestion one can run into several problems without 
noticing the Minikube/kubernetes version is the problem.
   
   ### Does this PR introduce _any_ user-facing change?
   
   No.
   
   ### How was this patch tested?
   
   It was tested on Mac with [this 
script](https://gist.github.com/attilapiros/cd58a16bdde833c80c5803c337fffa94#file-check_minikube_versions-zsh)
 which installs each Minikube versions from v1.7.2 (including this version to 
test the negative case of the version check) and runs the integration tests.
   
   It was started with:
   ```
   ./check_minikube_versions.zsh > test_log 2>&1
   ```
   
   And there was only one build failure the rest was successful:
   
   ```
   $ grep "BUILD SUCCESS" test_log | wc -l
         26
   $ grep "BUILD FAILURE" test_log | wc -l
          1
   ```
   
   It was for Minikube v1.7.2  and the log is:
   
   ```
   KubernetesSuite:
   *** RUN ABORTED ***
     java.lang.AssertionError: assertion failed: Unsupported Minikube version 
is detected: minikube version: v1.7.2.For integration testing Minikube version 
1.7.3 or greater is expected.
     at scala.Predef$.assert(Predef.scala:223)
     at 
org.apache.spark.deploy.k8s.integrationtest.backend.minikube.Minikube$.getKubernetesClient(Minikube.scala:52)
     at 
org.apache.spark.deploy.k8s.integrationtest.backend.minikube.MinikubeTestBackend$.initialize(MinikubeTestBackend.scala:33)
     at 
org.apache.spark.deploy.k8s.integrationtest.KubernetesSuite.beforeAll(KubernetesSuite.scala:163)
     at 
org.scalatest.BeforeAndAfterAll.liftedTree1$1(BeforeAndAfterAll.scala:212)
     at org.scalatest.BeforeAndAfterAll.run(BeforeAndAfterAll.scala:210)
     at org.scalatest.BeforeAndAfterAll.run$(BeforeAndAfterAll.scala:208)
     at 
org.apache.spark.deploy.k8s.integrationtest.KubernetesSuite.org$scalatest$BeforeAndAfter$$super$run(KubernetesSuite.scala:43)
     at org.scalatest.BeforeAndAfter.run(BeforeAndAfter.scala:273)
     at org.scalatest.BeforeAndAfter.run$(BeforeAndAfter.scala:271)
     ...
   ```
   
   Moreover I made a test with having multiple k8s clusters contexts, too.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to