This is an automated email from the ASF dual-hosted git repository.
abhishek pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git
The following commit(s) were added to refs/heads/master by this push:
new 8d03ace1b4 Use K3S instead of minikube for integration tests (#13782)
8d03ace1b4 is described below
commit 8d03ace1b4d7d24b6c978f273d2bc593c6abf995
Author: Abhishek Agarwal <[email protected]>
AuthorDate: Fri Feb 17 23:06:30 2023 +0530
Use K3S instead of minikube for integration tests (#13782)
We are seeing failures on GHA while using minikube so switching to K3S
instead.
---
.github/workflows/standard-its.yml | 48 ++++++++++++++++++++++
integration-tests/script/build_run_k8s_cluster.sh | 5 +--
integration-tests/script/setup_druid_on_k8s.sh | 2 +-
.../script/setup_druid_operator_on_k8s.sh | 3 +-
integration-tests/script/setup_k8s_cluster.sh | 18 +++-----
integration-tests/script/stop_k8s_cluster.sh | 2 +-
6 files changed, 59 insertions(+), 19 deletions(-)
diff --git a/.github/workflows/standard-its.yml
b/.github/workflows/standard-its.yml
index 83374badf8..e6a286774b 100644
--- a/.github/workflows/standard-its.yml
+++ b/.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
+
+ - name: Run IT
+ id: test
+ run: |
+ # Debug echo
+ echo "MAVEN_OPTS='-Xmx2048m' ${MVN} verify -pl integration-tests -P
int-tests-config-file ${IT_TEST} ${MAVEN_SKIP} -Dpod.name=${POD_NAME}
-Dpod.namespace=${POD_NAMESPACE} -Dbuild.druid.cluster=${BUILD_DRUID_CLUSTER}"
+ MAVEN_OPTS='-Xmx2048m' ${MVN} verify -pl integration-tests -P
int-tests-config-file ${IT_TEST} ${MAVEN_SKIP} -Dpod.name=${POD_NAME}
-Dpod.namespace=${POD_NAMESPACE} -Dbuild.druid.cluster=${BUILD_DRUID_CLUSTER}
+
+ - name: Debug on failure
+ if: ${{ failure() && steps.test.conclusion == 'failure' }}
+ run: |
+ for v in broker middlemanager router coordinator historical ; do
+ echo
"------------------------druid-tiny-cluster-"$v"s-0-------------------------";
+ sudo /usr/local/bin/kubectl logs --tail 1000
druid-tiny-cluster-"$v"s-0;
+ done
+
integration-other-tests:
strategy:
fail-fast: false
diff --git a/integration-tests/script/build_run_k8s_cluster.sh
b/integration-tests/script/build_run_k8s_cluster.sh
index c2ac8e5fea..b105476cba 100755
--- a/integration-tests/script/build_run_k8s_cluster.sh
+++ b/integration-tests/script/build_run_k8s_cluster.sh
@@ -20,10 +20,9 @@ if ($BUILD_DRUID_CLSUTER); then
DRUID_HOME=$(dirname `pwd`)
echo "SET DRUID_HOME: $DRUID_HOME"
- minikubeFile="/usr/local/bin/minikube*"
- minikubeFile2="/usr/local/bin/minikube"
+ k3sFile="/usr/local/bin/k3s*"
- if [ -f "$minikubeFile" ] || [ -f "$minikubeFile2" ]; then
+ if [ -f "$k3sFile" ]; then
bash $DRUID_HOME/integration-tests/script/stop_k8s_cluster.sh
fi
diff --git a/integration-tests/script/setup_druid_on_k8s.sh
b/integration-tests/script/setup_druid_on_k8s.sh
index 34010f2314..665850a62d 100755
--- a/integration-tests/script/setup_druid_on_k8s.sh
+++ b/integration-tests/script/setup_druid_on_k8s.sh
@@ -16,7 +16,7 @@
set -e
-export KUBECTL="sudo /usr/local/bin/kubectl"
+export KUBECTL="/usr/local/bin/kubectl"
# setup client keystore
cd integration-tests
diff --git a/integration-tests/script/setup_druid_operator_on_k8s.sh
b/integration-tests/script/setup_druid_operator_on_k8s.sh
index d99ec6a2bf..b25d767438 100755
--- a/integration-tests/script/setup_druid_operator_on_k8s.sh
+++ b/integration-tests/script/setup_druid_operator_on_k8s.sh
@@ -17,8 +17,7 @@
set -e
export DRUID_OPERATOR_VERSION=0.0.3
-export KUBECTL="sudo /usr/local/bin/kubectl"
-
+export KUBECTL="/usr/local/bin/kubectl"
# Prepare For Druid-Operator
rm -rf druid-operator
diff --git a/integration-tests/script/setup_k8s_cluster.sh
b/integration-tests/script/setup_k8s_cluster.sh
index 3313def4bc..e3e6112de5 100755
--- a/integration-tests/script/setup_k8s_cluster.sh
+++ b/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
+mkdir -p $HOME/.kube
+sudo cp /etc/rancher/k3s/k3s.yaml $KUBECONFIG
+sudo chmod 777 $KUBECONFIG
echo "Setup K8S Cluster Done!"
diff --git a/integration-tests/script/stop_k8s_cluster.sh
b/integration-tests/script/stop_k8s_cluster.sh
index ff9e2e94a7..0dfbb2554a 100755
--- a/integration-tests/script/stop_k8s_cluster.sh
+++ b/integration-tests/script/stop_k8s_cluster.sh
@@ -21,7 +21,7 @@ if ($BUILD_DRUID_CLSUTER); then
DRUID_HOME=$(dirname `pwd`)
echo "SET DRUID_HOME: $DRUID_HOME"
- sudo /usr/local/bin/minikube delete
+ /usr/local/bin/k3s-uninstall.sh
sudo rm -rf $DRUID_HOME/tmp
sudo rm -rf $DRUID_HOME/druid-operator
docker ps
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]