You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by "paul-rogers (via GitHub)" <gi...@apache.org> on 2023/02/15 18:26:35 UTC

[GitHub] [druid] paul-rogers commented on a diff in pull request #13782: Use K3S instead of minikube for integration tests

paul-rogers commented on code in PR #13782:
URL: https://github.com/apache/druid/pull/13782#discussion_r1107504686


##########
.github/workflows/standard-its.yml:
##########
@@ -100,6 +100,54 @@ jobs:
       override_config_path: ./environment-configs/test-groups/custom-coordinator-duties
       group: custom coordinator duties
 
+  integration-k8s-leadership-tests:
+    name: (Compile=openjdk8, Run=openjdk8, Cluster Build On K8s) ITNestedQueryPushDownTest integration test
+    runs-on: ubuntu-22.04
+    env:
+      MVN: mvn --no-snapshot-updates
+      MAVEN_SKIP: -P skip-static-checks -Dweb.console.skip=true -Dmaven.javadoc.skip=true
+      CONFIG_FILE: k8s_run_config_file.json
+      IT_TEST: -Dit.test=ITNestedQueryPushDownTest
+      POD_NAME: int-test
+      POD_NAMESPACE: default
+      BUILD_DRUID_CLUSTER: true
+    steps:
+      - name: Checkout branch
+        uses: actions/checkout@v3
+
+      - name: Setup java
+        uses: actions/setup-java@v3
+        with:
+          distribution: 'zulu'
+          java-version: 8
+
+      - name: Restore Maven repository
+        id: maven-restore
+        uses: actions/cache/restore@v3
+        with:
+          path: ~/.m2/repository
+          key: maven-${{ runner.os }}-8-${{ github.sha }}
+
+      - name: Maven build
+        if: steps.maven-restore.outputs.cache-hit != 'true'
+        run: |
+          ./it.sh ci

Review Comment:
   `it.sh ci` builds Druid. We'd like to cache builds across stages to avoid load. Building Druid replaces some jars in the Maven cache. Then, the old ITs do its own build, with its own options, replacing the build done here.
   
   The upshot is, I wonder if we need to do this build? Will the old IT run here do it anyway?



##########
integration-tests/script/setup_k8s_cluster.sh:
##########
@@ -16,19 +16,13 @@
 
 set -e
 
-# Set Necessary ENV
-export CHANGE_MINIKUBE_NONE_USER=true
-export MINIKUBE_WANTUPDATENOTIFICATION=false
-export MINIKUBE_WANTREPORTERRORPROMPT=false
-export MINIKUBE_HOME=$HOME
+export INSTALL_K3S_VERSION=v1.21.14+k3s1
 export KUBECONFIG=$HOME/.kube/config
 
-sudo apt install -y conntrack
-
-# Lacunch K8S cluster
+# Launch K8S cluster
 curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/v1.18.1/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/
-curl -Lo minikube https://storage.googleapis.com/minikube/releases/v1.8.1/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
-sudo /usr/local/bin/minikube start --profile=minikube --vm-driver=none --kubernetes-version=v1.18.1
-sudo /usr/local/bin/minikube update-context
-
+curl -sfL https://get.k3s.io | bash /dev/stdin  --docker

Review Comment:
   The above download k3s for each test. That is probably a somewhat large task. Should the software be installed in the runner ahead of time? Can we do that? Is some K8s platform already available in the GHA runner?



-- 
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.

To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org