diff --git a/tests/python_client/standby/cluster-values.yaml b/tests/python_client/standby/cluster-values.yaml new file mode 100644 index 0000000000..06baca704d --- /dev/null +++ b/tests/python_client/standby/cluster-values.yaml @@ -0,0 +1,148 @@ +cluster: + enabled: true +image: + all: + repository: milvusdb/milvus + tag: master-latest + pullPolicy: IfNotPresent + +rootCoordinator: + replicas: 2 + activeStandby: + enabled: true # Enable active-standby when you set multiple replicas for root coordinator + +queryCoordinator: + replicas: 2 + activeStandby: + enabled: true # Enable active-standby when you set multiple replicas for root coordinator + +dataCoordinator: + replicas: 2 + activeStandby: + enabled: true # Enable active-standby when you set multiple replicas for root coordinator + +indexCoordinator: + replicas: 2 + activeStandby: + enabled: true # Enable active-standby when you set multiple replicas for root coordinator + + +etcd: + replicaCount: 3 + image: + repository: milvusdb/etcd + tag: 3.5.5-r2 + +minio: + resources: + requests: + memory: 256Mi + +kafka: + enabled: false + name: kafka + replicaCount: 3 + defaultReplicationFactor: 2 + +pulsar: + enabled: true + extra: + bastion: no + wsproxy: no + + autorecovery: + resources: + requests: + cpu: 0.1 + memory: 256Mi + proxy: + replicaCount: 1 + resources: + requests: + cpu: 0.1 + memory: 256Mi + wsResources: + requests: + memory: 256Mi + cpu: 0.1 + configData: + PULSAR_MEM: > + -Xms256m -Xmx256m + PULSAR_GC: > + -XX:MaxDirectMemorySize=512m + httpNumThreads: "50" + + bookkeeper: + replicaCount: 2 + resources: + requests: + cpu: 0.1 + memory: 512Mi + configData: + PULSAR_MEM: > + -Xms512m + -Xmx512m + -XX:MaxDirectMemorySize=1024m + PULSAR_GC: > + -Dio.netty.leakDetectionLevel=disabled + -Dio.netty.recycler.linkCapacity=1024 + -XX:+UseG1GC -XX:MaxGCPauseMillis=10 + -XX:+ParallelRefProcEnabled + -XX:+UnlockExperimentalVMOptions + -XX:+DoEscapeAnalysis + -XX:ParallelGCThreads=32 + -XX:ConcGCThreads=32 + -XX:G1NewSizePercent=50 + -XX:+DisableExplicitGC + -XX:-ResizePLAB + -XX:+ExitOnOutOfMemoryError + -XX:+PerfDisableSharedMem + -XX:+PrintGCDetails + nettyMaxFrameSizeBytes: "104867840" + zookeeper: + replicaCount: 1 + resources: + requests: + cpu: 0.1 + memory: 256Mi + configData: + PULSAR_MEM: > + -Xms512m + -Xmx512m + PULSAR_GC: > + -Dcom.sun.management.jmxremote + -Djute.maxbuffer=10485760 + -XX:+ParallelRefProcEnabled + -XX:+UnlockExperimentalVMOptions + -XX:+DoEscapeAnalysis + -XX:+DisableExplicitGC + -XX:+PerfDisableSharedMem + -Dzookeeper.forceSync=no + broker: + replicaCount: 1 + resources: + requests: + cpu: 0.1 + memory: 512Mi + configData: + PULSAR_MEM: > + -Xms512m + -Xmx512m + -XX:MaxDirectMemorySize=1024m + PULSAR_GC: > + -Dio.netty.leakDetectionLevel=disabled + -Dio.netty.recycler.linkCapacity=1024 + -XX:+ParallelRefProcEnabled + -XX:+UnlockExperimentalVMOptions + -XX:+DoEscapeAnalysis + -XX:ParallelGCThreads=32 + -XX:ConcGCThreads=32 + -XX:G1NewSizePercent=50 + -XX:+DisableExplicitGC + -XX:-ResizePLAB + -XX:+ExitOnOutOfMemoryError + maxMessageSize: "104857600" + defaultRetentionTimeInMinutes: "10080" + defaultRetentionSizeInMB: "8192" + backlogQuotaDefaultLimitGB: "8" + backlogQuotaDefaultRetentionPolicy: producer_exception diff --git a/tests/python_client/standby/scripts/install_milvus.sh b/tests/python_client/standby/scripts/install_milvus.sh new file mode 100644 index 0000000000..6e1dd51d7a --- /dev/null +++ b/tests/python_client/standby/scripts/install_milvus.sh @@ -0,0 +1,17 @@ + +release=${1:-"milvs-chaos"} +milvus_mode=${2:-"cluster"} +ns=${3:-"chaos-testing"} +bash uninstall_milvus.sh ${release} ${ns}|| true + +helm repo add milvus https://milvus-io.github.io/milvus-helm/ +helm repo update +if [[ ${milvus_mode} == "cluster" ]]; +then + helm install --wait --timeout 360s ${release} milvus/milvus -f ../cluster-values.yaml --set metrics.serviceMonitor.enabled=true -n=${ns} +fi + +if [[ ${milvus_mode} == "standalone" ]]; +then + helm install --wait --timeout 360s ${release} milvus/milvus -f ../standalone-values.yaml --set metrics.serviceMonitor.enabled=true -n=${ns} +fi diff --git a/tests/python_client/standby/scripts/install_milvus_cluster.sh b/tests/python_client/standby/scripts/install_milvus_cluster.sh new file mode 100644 index 0000000000..67401ff57f --- /dev/null +++ b/tests/python_client/standby/scripts/install_milvus_cluster.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -e + +release=${1:-"milvs-chaos"} +ns=${2:-"chaos-testing"} +bash uninstall_milvus.sh ${release} ${ns}|| true + +echo "install cluster" +helm install --wait --debug --timeout 600s ${RELEASE_NAME:-$release} milvus/milvus \ + --set image.all.repository=${REPOSITORY:-"milvusdb/milvus"} \ + --set image.all.tag=${IMAGE_TAG:-"master-latest"} \ + --set metrics.serviceMonitor.enabled=true \ + -f ../cluster-values.yaml -n=${ns} \ No newline at end of file diff --git a/tests/python_client/standby/scripts/install_milvus_standalone.sh b/tests/python_client/standby/scripts/install_milvus_standalone.sh new file mode 100644 index 0000000000..c1e1033a27 --- /dev/null +++ b/tests/python_client/standby/scripts/install_milvus_standalone.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -e + +release=${1:-"milvs-chaos"} +ns=${2:-"chaos-testing"} +bash uninstall_milvus.sh ${release} ${ns}|| true +echo "install standalone" +helm install --wait --debug --timeout 600s ${RELEASE_NAME:-$release} milvus/milvus \ + --set image.all.repository=${REPOSITORY:-"milvusdb/milvus"} \ + --set image.all.tag=${IMAGE_TAG:-"master-latest"} \ + --set metrics.serviceMonitor.enabled=true \ + -f ../standalone-values.yaml -n=${ns} \ No newline at end of file diff --git a/tests/python_client/standby/scripts/uninstall_milvus.sh b/tests/python_client/standby/scripts/uninstall_milvus.sh new file mode 100644 index 0000000000..914bdf9c5d --- /dev/null +++ b/tests/python_client/standby/scripts/uninstall_milvus.sh @@ -0,0 +1,8 @@ + +# Exit immediately for non zero status +set -e +release=${1:-"milvus-chaos"} +ns=${2:-"chaos-testing"} +helm uninstall ${release} -n=${ns} +kubectl delete pvc -l release=${release} -n=${ns} +kubectl delete pvc -l app.kubernetes.io/instance=${release} -n=${ns}