Skip to content

Commit fedbb2b

Browse files
authored
Parallelize tests by filename (#135)
* parallelize tests by filename Signed-off-by: ryanohnemus <[email protected]> * Address comments, add doc Signed-off-by: ryanohnemus <[email protected]> * fixing lints Signed-off-by: ryanohnemus <[email protected]> * remove unset TEST_NAMESPACE Signed-off-by: ryanohnemus <[email protected]> * address pr comments Signed-off-by: ryanohnemus <[email protected]> --------- Signed-off-by: ryanohnemus <[email protected]>
1 parent 4999ef3 commit fedbb2b

File tree

14 files changed

+61
-91
lines changed

14 files changed

+61
-91
lines changed

Diff for: README.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -56,15 +56,19 @@ The following is the list of environment variables that controls the behavior
5656
of running the test suites:
5757

5858
```bash
59-
SKIP_TEARDOWN=yes # don't remove the testing namespace
60-
TEST_NAMESPACE=test # k8s namespace to use
59+
SKIP_TEARDOWN=yes # don't remove the testing namespace(s)
60+
TEST_NAMESPACE=test # k8s namespace to use, setting this env to any value forces tests to run in sequence
6161
# HELM_VALUES_EXTRA_FILE is a default file containing global helm
6262
# options that can be optionally applied on helm install/upgrade
6363
# by the test. This will fall back to $TEST_ROOT/defaults/values.yaml.tpl
6464
# if not passed.
6565
HELM_VALUES_EXTRA_FILE=./path/to/your/default/values.yaml
6666
# The BATS formatter to use: https://bats-core.readthedocs.io/en/stable/usage.html
6767
BATS_FORMATTER=tap
68+
#BATS_JOBS_PARAMS (default below) will run 8 tests in parallel,
69+
# this can be disabled by changing this variable OR by setting a TEST_NAMESPACE env
70+
# which will force jobs to run in sequence
71+
BATS_JOBS_PARAMS="--jobs 8 --no-parallelize-within-files"
6872
# The Fluent Bit image to use
6973
FLUENTBIT_IMAGE_REPOSITORY=ghcr.io/fluent/fluent-bit
7074
FLUENTBIT_IMAGE_TAG=latest

Diff for: helpers/test-helpers.bash

+13
Original file line numberDiff line numberDiff line change
@@ -100,4 +100,17 @@ function wait_for_url() {
100100
fi
101101
# shellcheck disable=SC2086
102102
wait_for_curl "$MAX_ATTEMPTS" "$URL" $extra_args
103+
}
104+
105+
function create_helm_extra_values_file() {
106+
# HELM_VALUES_EXTRA_FILE is a default file containing global helm
107+
# options that can be optionally applied on helm install/upgrade
108+
# by the test. This will fall back to $TEST_ROOT/defaults/values.yaml.tpl
109+
# if not passed.
110+
if [ -e "${HELM_VALUES_EXTRA_FILE}" ]; then
111+
# shellcheck disable=SC2086,SC2155
112+
envsubst < "${HELM_VALUES_EXTRA_FILE}" > "$(dirname ${HELM_VALUES_EXTRA_FILE})/${TEST_NAMESPACE}.values.yaml"
113+
# shellcheck disable=SC2086,SC2155
114+
export HELM_VALUES_EXTRA_FILE="$(dirname ${HELM_VALUES_EXTRA_FILE})/${TEST_NAMESPACE}.values.yaml"
115+
fi
103116
}

Diff for: run-tests.sh

+9-2
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ export RESOURCES_ROOT="${SCRIPT_DIR}/resources/"
2525
export BATS_FORMATTER=${BATS_FORMATTER:-tap}
2626
export BATS_ROOT=${BATS_ROOT:-$SCRIPT_DIR/tools/bats}
2727
export BATS_ARGS=${BATS_ARGS:---timing --verbose-run}
28+
export BATS_JOBS_PARAMS=${BATS_JOBS_PARAMS:---jobs 8 --no-parallelize-within-files}
2829

2930
export BATS_FILE_ROOT=$BATS_ROOT/lib/bats-file
3031
export BATS_SUPPORT_ROOT=$BATS_ROOT/lib/bats-support
3132
export BATS_ASSERT_ROOT=$BATS_ROOT/lib/bats-assert
3233
export BATS_DETIK_ROOT=$BATS_ROOT/lib/bats-detik
33-
export TEST_NAMESPACE=${TEST_NAMESPACE:-test}
3434

3535
export FLUENTBIT_IMAGE_REPOSITORY=${FLUENTBIT_IMAGE_REPOSITORY:-ghcr.io/fluent/fluent-bit}
3636
export FLUENTBIT_IMAGE_TAG=${FLUENTBIT_IMAGE_TAG:-latest}
@@ -79,11 +79,18 @@ function run_tests() {
7979
echo
8080
echo
8181

82+
# If TEST_NAMESPACE is not set (the default), we run jobs in parallel
83+
# otherwise, if it is set we can only run 1 job at a time and need to remove
84+
# all BATS_JOBS_PARAMS
85+
if [[ -n "${TEST_NAMESPACE:-}" ]]; then
86+
BATS_JOBS_PARAMS=""
87+
fi
88+
8289
# We run BATS in a subshell to prevent it from inheriting our exit/err trap, which can mess up its internals
8390
# We set +exu because unbound variables can cause test failures with zero context
8491
set +xeu
8592
# shellcheck disable=SC2086
86-
(bats --formatter "${BATS_FORMATTER}" $run $BATS_ARGS)
93+
(bats $BATS_JOBS_PARAMS --formatter "${BATS_FORMATTER}" $run $BATS_ARGS)
8794
local bats_retval=$?
8895

8996
echo

Diff for: tests/chunk-rollover/basic.bats

+5-11
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,21 @@
22

33
load "$HELPERS_ROOT/test-helpers.bash"
44

5-
ensure_variables_set BATS_SUPPORT_ROOT BATS_ASSERT_ROOT BATS_DETIK_ROOT BATS_FILE_ROOT TEST_NAMESPACE FLUENTBIT_IMAGE_REPOSITORY FLUENTBIT_IMAGE_TAG ELASTICSEARCH_IMAGE_REPOSITORY ELASTICSEARCH_IMAGE_TAG
5+
ensure_variables_set BATS_SUPPORT_ROOT BATS_ASSERT_ROOT BATS_DETIK_ROOT BATS_FILE_ROOT FLUENTBIT_IMAGE_REPOSITORY FLUENTBIT_IMAGE_TAG ELASTICSEARCH_IMAGE_REPOSITORY ELASTICSEARCH_IMAGE_TAG
66

77
load "$BATS_DETIK_ROOT/utils.bash"
88
load "$BATS_DETIK_ROOT/linter.bash"
99
load "$BATS_DETIK_ROOT/detik.bash"
1010
load "$BATS_SUPPORT_ROOT/load.bash"
1111
load "$BATS_ASSERT_ROOT/load.bash"
1212
load "$BATS_FILE_ROOT/load.bash"
13-
13+
1414
setup_file() {
15+
export TEST_NAMESPACE=${TEST_NAMESPACE:-chunk-rollover-basic}
1516
echo "recreating namespace $TEST_NAMESPACE"
1617
run kubectl delete namespace "$TEST_NAMESPACE"
1718
run kubectl create namespace "$TEST_NAMESPACE"
18-
# HELM_VALUES_EXTRA_FILE is a default file containing global helm
19-
# options that can be optionally applied on helm install/upgrade
20-
# by the test. This will fall back to $TEST_ROOT/defaults/values.yaml.tpl
21-
# if not passed.
22-
if [ -e "${HELM_VALUES_EXTRA_FILE}" ]; then
23-
envsubst < "${HELM_VALUES_EXTRA_FILE}" > "${HELM_VALUES_EXTRA_FILE%.*}"
24-
export HELM_VALUES_EXTRA_FILE="${HELM_VALUES_EXTRA_FILE%.*}"
25-
fi
19+
create_helm_extra_values_file
2620
}
2721

2822
teardown_file() {
@@ -73,7 +67,7 @@ DETIK_CLIENT_NAMESPACE="${TEST_NAMESPACE}"
7367

7468
COUNTER=0
7569

76-
kubectl wait pods -n "$TEST_NAMESPACE" -l app.kubernetes.io/name=fluent-bit --for condition=Ready --timeout=30s
70+
kubectl wait pods -n "$TEST_NAMESPACE" -l app.kubernetes.io/name=fluent-bit --for condition=Ready --timeout=60s
7771

7872
while [ $COUNTER -lt $TOTAL_TIME ]; do
7973
# Get the number of Fluent Bit DaemonSet pods that are not in the "Running" status

Diff for: tests/chunk-rollover/resources/helm/fluentbit-basic.yaml

-3
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@ extraVolumes:
77
sizeLimit: 3Mi
88
rbac:
99
create: true
10-
# fullnameOverride is required so resources don't conflict if we are running
11-
# in a hosted cluster like gke where the default resource names will already exist
12-
fullnameOverride: fluentbit-ci-tests
1310

1411
config:
1512
service: |

Diff for: tests/defaults/values.yaml.tpl

+1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
image:
22
pullPolicy: ${HELM_IMAGE_PULL_POLICY}
3+
fullnameOverride: fluent-bit-ci-test-${TEST_NAMESPACE}

Diff for: tests/elasticsearch/basic.bats

+3-10
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
load "$HELPERS_ROOT/test-helpers.bash"
44

5-
ensure_variables_set BATS_SUPPORT_ROOT BATS_ASSERT_ROOT BATS_DETIK_ROOT BATS_FILE_ROOT TEST_NAMESPACE FLUENTBIT_IMAGE_REPOSITORY FLUENTBIT_IMAGE_TAG ELASTICSEARCH_IMAGE_REPOSITORY ELASTICSEARCH_IMAGE_TAG
5+
ensure_variables_set BATS_SUPPORT_ROOT BATS_ASSERT_ROOT BATS_DETIK_ROOT BATS_FILE_ROOT FLUENTBIT_IMAGE_REPOSITORY FLUENTBIT_IMAGE_TAG ELASTICSEARCH_IMAGE_REPOSITORY ELASTICSEARCH_IMAGE_TAG
66

77
load "$BATS_DETIK_ROOT/utils.bash"
88
load "$BATS_DETIK_ROOT/linter.bash"
@@ -12,17 +12,11 @@ load "$BATS_ASSERT_ROOT/load.bash"
1212
load "$BATS_FILE_ROOT/load.bash"
1313

1414
setup_file() {
15+
export TEST_NAMESPACE=${TEST_NAMESPACE:-elasticsearch-basic}
1516
echo "recreating namespace $TEST_NAMESPACE"
1617
run kubectl delete namespace "$TEST_NAMESPACE"
1718
run kubectl create namespace "$TEST_NAMESPACE"
18-
# HELM_VALUES_EXTRA_FILE is a default file containing global helm
19-
# options that can be optionally applied on helm install/upgrade
20-
# by the test. This will fall back to $TEST_ROOT/defaults/values.yaml.tpl
21-
# if not passed.
22-
if [ -e "${HELM_VALUES_EXTRA_FILE}" ]; then
23-
envsubst < "${HELM_VALUES_EXTRA_FILE}" > "${HELM_VALUES_EXTRA_FILE%.*}"
24-
export HELM_VALUES_EXTRA_FILE="${HELM_VALUES_EXTRA_FILE%.*}"
25-
fi
19+
create_helm_extra_values_file
2620
}
2721

2822
teardown_file() {
@@ -49,7 +43,6 @@ DETIK_CLIENT_NAMESPACE="${TEST_NAMESPACE}"
4943
helm upgrade --install --debug --create-namespace --namespace "$TEST_NAMESPACE" elasticsearch elastic/elasticsearch \
5044
--values ${BATS_TEST_DIRNAME}/resources/helm/elasticsearch-basic.yaml \
5145
--set image=${ELASTICSEARCH_IMAGE_REPOSITORY} --set imageTag=${ELASTICSEARCH_IMAGE_TAG} \
52-
--values "$HELM_VALUES_EXTRA_FILE" \
5346
--timeout "${HELM_DEFAULT_TIMEOUT:-10m0s}" \
5447
--wait
5548

Diff for: tests/elasticsearch/compress.bats

+3-10
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
load "$HELPERS_ROOT/test-helpers.bash"
44

5-
ensure_variables_set BATS_SUPPORT_ROOT BATS_ASSERT_ROOT BATS_DETIK_ROOT BATS_FILE_ROOT TEST_NAMESPACE FLUENTBIT_IMAGE_REPOSITORY FLUENTBIT_IMAGE_TAG ELASTICSEARCH_IMAGE_REPOSITORY ELASTICSEARCH_IMAGE_TAG
5+
ensure_variables_set BATS_SUPPORT_ROOT BATS_ASSERT_ROOT BATS_DETIK_ROOT BATS_FILE_ROOT FLUENTBIT_IMAGE_REPOSITORY FLUENTBIT_IMAGE_TAG ELASTICSEARCH_IMAGE_REPOSITORY ELASTICSEARCH_IMAGE_TAG
66

77
load "$BATS_DETIK_ROOT/utils.bash"
88
load "$BATS_DETIK_ROOT/linter.bash"
@@ -12,17 +12,11 @@ load "$BATS_ASSERT_ROOT/load.bash"
1212
load "$BATS_FILE_ROOT/load.bash"
1313

1414
setup_file() {
15+
export TEST_NAMESPACE=${TEST_NAMESPACE:-elasticsearch-compress}
1516
echo "recreating namespace $TEST_NAMESPACE"
1617
run kubectl delete namespace "$TEST_NAMESPACE"
1718
run kubectl create namespace "$TEST_NAMESPACE"
18-
# HELM_VALUES_EXTRA_FILE is a default file containing global helm
19-
# options that can be optionally applied on helm install/upgrade
20-
# by the test. This will fall back to $TEST_ROOT/defaults/values.yaml.tpl
21-
# if not passed.
22-
if [ -e "${HELM_VALUES_EXTRA_FILE}" ]; then
23-
envsubst < "${HELM_VALUES_EXTRA_FILE}" > "${HELM_VALUES_EXTRA_FILE%.*}"
24-
export HELM_VALUES_EXTRA_FILE="${HELM_VALUES_EXTRA_FILE%.*}"
25-
fi
19+
create_helm_extra_values_file
2620
}
2721

2822
teardown_file() {
@@ -49,7 +43,6 @@ DETIK_CLIENT_NAMESPACE="${TEST_NAMESPACE}"
4943
helm upgrade --install --debug --create-namespace --namespace "$TEST_NAMESPACE" elasticsearch elastic/elasticsearch \
5044
--values ${BATS_TEST_DIRNAME}/resources/helm/elasticsearch-compress.yaml \
5145
--set image=${ELASTICSEARCH_IMAGE_REPOSITORY} --set imageTag=${ELASTICSEARCH_IMAGE_TAG} \
52-
--values "$HELM_VALUES_EXTRA_FILE" \
5346
--timeout "${HELM_DEFAULT_TIMEOUT:-10m0s}" \
5447
--wait
5548

Diff for: tests/kubernetes-plugins/basic.bats

+5-11
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
load "$HELPERS_ROOT/test-helpers.bash"
44

5-
ensure_variables_set BATS_SUPPORT_ROOT BATS_ASSERT_ROOT BATS_DETIK_ROOT BATS_FILE_ROOT TEST_NAMESPACE FLUENTBIT_IMAGE_REPOSITORY FLUENTBIT_IMAGE_TAG
5+
ensure_variables_set BATS_SUPPORT_ROOT BATS_ASSERT_ROOT BATS_DETIK_ROOT BATS_FILE_ROOT FLUENTBIT_IMAGE_REPOSITORY FLUENTBIT_IMAGE_TAG
66

77
load "$BATS_DETIK_ROOT/utils.bash"
88
load "$BATS_DETIK_ROOT/linter.bash"
@@ -20,17 +20,11 @@ FLUENTBIT_POD_NAME=""
2020
TEST_POD_NAME=""
2121

2222
setup_file() {
23+
export TEST_NAMESPACE=${TEST_NAMESPACE:-kubernetes-plugins-basic}
2324
echo "recreating namespace $TEST_NAMESPACE"
2425
run kubectl delete namespace "$TEST_NAMESPACE"
2526
run kubectl create namespace "$TEST_NAMESPACE"
26-
# HELM_VALUES_EXTRA_FILE is a default file containing global helm
27-
# options that can be optionally applied on helm install/upgrade
28-
# by the test. This will fall back to $TEST_ROOT/defaults/values.yaml.tpl
29-
# if not passed.
30-
if [ -e "${HELM_VALUES_EXTRA_FILE}" ]; then
31-
envsubst < "${HELM_VALUES_EXTRA_FILE}" > "${HELM_VALUES_EXTRA_FILE%.*}"
32-
export HELM_VALUES_EXTRA_FILE="${HELM_VALUES_EXTRA_FILE%.*}"
33-
fi
27+
create_helm_extra_values_file
3428

3529
helm repo add fluent https://fluent.github.io/helm-charts/ || helm repo add fluent https://fluent.github.io/helm-charts
3630
helm repo update --fail-on-repo-update-fail
@@ -68,8 +62,8 @@ teardown() {
6862

6963
function set_fluent_bit_pod_name() {
7064
try "at most 30 times every 2s " \
71-
"to find 1 pods named 'fluentbit-ci-tests' " \
72-
"with 'status' being 'Running'"
65+
"to find 1 pods named 'fluent-bit' " \
66+
"with 'status' being 'running'"
7367

7468
FLUENTBIT_POD_NAME=$(kubectl get pods -n "$TEST_NAMESPACE" -l "app.kubernetes.io/name=fluent-bit" --no-headers | awk '{ print $1 }')
7569
if [ -z "$FLUENTBIT_POD_NAME" ]; then

Diff for: tests/kubernetes-plugins/full.bats

+6-12
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
load "$HELPERS_ROOT/test-helpers.bash"
44

5-
ensure_variables_set BATS_SUPPORT_ROOT BATS_ASSERT_ROOT BATS_DETIK_ROOT BATS_FILE_ROOT TEST_NAMESPACE FLUENTBIT_IMAGE_REPOSITORY FLUENTBIT_IMAGE_TAG
5+
ensure_variables_set BATS_SUPPORT_ROOT BATS_ASSERT_ROOT BATS_DETIK_ROOT BATS_FILE_ROOT FLUENTBIT_IMAGE_REPOSITORY FLUENTBIT_IMAGE_TAG
66

77
load "$BATS_DETIK_ROOT/utils.bash"
88
load "$BATS_DETIK_ROOT/linter.bash"
@@ -20,14 +20,8 @@ FLUENTBIT_POD_NAME=""
2020
TEST_POD_NAME=""
2121

2222
setup_file() {
23-
# HELM_VALUES_EXTRA_FILE is a default file containing global helm
24-
# options that can be optionally applied on helm install/upgrade
25-
# by the test. This will fall back to $TEST_ROOT/defaults/values.yaml.tpl
26-
# if not passed.
27-
if [ -e "${HELM_VALUES_EXTRA_FILE}" ]; then
28-
envsubst < "${HELM_VALUES_EXTRA_FILE}" > "${HELM_VALUES_EXTRA_FILE%.*}"
29-
export HELM_VALUES_EXTRA_FILE="${HELM_VALUES_EXTRA_FILE%.*}"
30-
fi
23+
export TEST_NAMESPACE=${TEST_NAMESPACE:-kubernetes-plugins-full}
24+
create_helm_extra_values_file
3125

3226
# First check that we should run these conditional tests at all
3327
run docker run --rm -t $FLUENTBIT_IMAGE_REPOSITORY:$FLUENTBIT_IMAGE_TAG /fluent-bit/bin/fluent-bit -F kubernetes --help
@@ -77,9 +71,9 @@ teardown() {
7771

7872
function set_fluent_bit_pod_name() {
7973
try "at most 30 times every 2s " \
80-
"to find 1 pods named 'fluentbit-ci-tests' " \
81-
"with 'status' being 'Running'"
82-
74+
"to find 1 pods named 'fluent-bit' " \
75+
"with 'status' being 'running'"
76+
8377
FLUENTBIT_POD_NAME=$(kubectl get pods -n "$TEST_NAMESPACE" -l "app.kubernetes.io/name=fluent-bit" --no-headers | awk '{ print $1 }')
8478
if [ -z "$FLUENTBIT_POD_NAME" ]; then
8579
fail "Unable to get running fluent-bit pod's name"

Diff for: tests/kubernetes-plugins/resources/fluentbit-basic.yaml

-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
kind: Deployment
22
replicaCount: 1
3-
# fullnameOverride is required so resources don't conflict if we are running
4-
# in a hosted cluster like gke where the default resource names will already exist
5-
fullnameOverride: fluentbit-ci-tests
63
rbac:
74
create: true
85
extraVolumeMounts:

Diff for: tests/kubernetes-plugins/resources/fluentbit-full.yaml

-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
kind: Deployment
22
replicaCount: 1
3-
# fullnameOverride is required so resources don't conflict if we are running
4-
# in a hosted cluster like gke where the default resource names will already exist
5-
fullnameOverride: fluentbit-ci-tests
63
rbac:
74
create: true
85
nodeAccess: true

Diff for: tests/opensearch/basic.bats

+3-10
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
load "$HELPERS_ROOT/test-helpers.bash"
44

5-
ensure_variables_set BATS_SUPPORT_ROOT BATS_ASSERT_ROOT BATS_DETIK_ROOT BATS_FILE_ROOT TEST_NAMESPACE FLUENTBIT_IMAGE_REPOSITORY FLUENTBIT_IMAGE_TAG OPENSEARCH_IMAGE_REPOSITORY OPENSEARCH_IMAGE_TAG
5+
ensure_variables_set BATS_SUPPORT_ROOT BATS_ASSERT_ROOT BATS_DETIK_ROOT BATS_FILE_ROOT FLUENTBIT_IMAGE_REPOSITORY FLUENTBIT_IMAGE_TAG OPENSEARCH_IMAGE_REPOSITORY OPENSEARCH_IMAGE_TAG
66

77
load "$BATS_DETIK_ROOT/utils.bash"
88
load "$BATS_DETIK_ROOT/linter.bash"
@@ -12,17 +12,11 @@ load "$BATS_ASSERT_ROOT/load.bash"
1212
load "$BATS_FILE_ROOT/load.bash"
1313

1414
function setup_file() {
15+
export TEST_NAMESPACE=${TEST_NAMESPACE:-opensearch-basic}
1516
echo "recreating namespace $TEST_NAMESPACE"
1617
run kubectl delete namespace "$TEST_NAMESPACE"
1718
run kubectl create namespace "$TEST_NAMESPACE"
18-
# HELM_VALUES_EXTRA_FILE is a default file containing global helm
19-
# options that can be optionally applied on helm install/upgrade
20-
# by the test. This will fall back to $TEST_ROOT/defaults/values.yaml.tpl
21-
# if not passed.
22-
if [ -e "${HELM_VALUES_EXTRA_FILE}" ]; then
23-
envsubst < "${HELM_VALUES_EXTRA_FILE}" > "${HELM_VALUES_EXTRA_FILE%.*}"
24-
export HELM_VALUES_EXTRA_FILE="${HELM_VALUES_EXTRA_FILE%.*}"
25-
fi
19+
create_helm_extra_values_file
2620
}
2721

2822
function teardown_file() {
@@ -66,7 +60,6 @@ DETIK_CLIENT_NAMESPACE="${TEST_NAMESPACE}"
6660
helm upgrade --install --debug --create-namespace --namespace "$TEST_NAMESPACE" opensearch opensearch/opensearch \
6761
--values ${BATS_TEST_DIRNAME}/resources/helm/opensearch-basic.yaml \
6862
--set image.repository=${OPENSEARCH_IMAGE_REPOSITORY},image.tag=${OPENSEARCH_IMAGE_TAG} \
69-
--values "$HELM_VALUES_EXTRA_FILE" \
7063
--timeout "${HELM_DEFAULT_TIMEOUT:-10m0s}" \
7164
--wait
7265

Diff for: tests/opensearch/hosted.bats

+7-14
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
load "$HELPERS_ROOT/test-helpers.bash"
44

5-
ensure_variables_set BATS_SUPPORT_ROOT BATS_ASSERT_ROOT BATS_DETIK_ROOT BATS_FILE_ROOT TEST_NAMESPACE FLUENTBIT_IMAGE_TAG HOSTED_OPENSEARCH_HOST HOSTED_OPENSEARCH_PORT HOSTED_OPENSEARCH_USERNAME HOSTED_OPENSEARCH_PASSWORD
5+
ensure_variables_set BATS_SUPPORT_ROOT BATS_ASSERT_ROOT BATS_DETIK_ROOT BATS_FILE_ROOT FLUENTBIT_IMAGE_TAG HOSTED_OPENSEARCH_HOST HOSTED_OPENSEARCH_PORT HOSTED_OPENSEARCH_USERNAME HOSTED_OPENSEARCH_PASSWORD
66

77
load "$BATS_DETIK_ROOT/utils.bash"
88
load "$BATS_DETIK_ROOT/linter.bash"
@@ -12,17 +12,14 @@ load "$BATS_ASSERT_ROOT/load.bash"
1212
load "$BATS_FILE_ROOT/load.bash"
1313

1414
setup_file() {
15+
if [[ $HOSTED_OPENSEARCH_HOST == "localhost" ]]; then
16+
skip "Skipping Hosted OpenSearch When 'HOSTED_OPENSEARCH_HOST=localhost'"
17+
fi
18+
export TEST_NAMESPACE=${TEST_NAMESPACE:-opensearch-hosted}
1519
echo "recreating namespace $TEST_NAMESPACE"
1620
run kubectl delete namespace "$TEST_NAMESPACE"
1721
run kubectl create namespace "$TEST_NAMESPACE"
18-
# HELM_VALUES_EXTRA_FILE is a default file containing global helm
19-
# options that can be optionally applied on helm install/upgrade
20-
# by the test. This will fall back to $TEST_ROOT/defaults/values.yaml.tpl
21-
# if not passed.
22-
if [ -e "${HELM_VALUES_EXTRA_FILE}" ]; then
23-
envsubst < "${HELM_VALUES_EXTRA_FILE}" > "${HELM_VALUES_EXTRA_FILE%.*}"
24-
export HELM_VALUES_EXTRA_FILE="${HELM_VALUES_EXTRA_FILE%.*}"
25-
fi
22+
create_helm_extra_values_file
2623
}
2724

2825
teardown_file() {
@@ -50,10 +47,6 @@ DETIK_CLIENT_NAMESPACE="${TEST_NAMESPACE}"
5047

5148

5249
@test "test fluent-bit forwards logs to AWS OpenSearch hosted service default index" {
53-
if [[ $HOSTED_OPENSEARCH_HOST == "localhost" ]]; then
54-
skip "Skipping Hosted OpenSearch When 'HOSTED_OPENSEARCH_HOST=localhost'"
55-
fi
56-
5750
envsubst < "${BATS_TEST_DIRNAME}/resources/helm/fluentbit-hosted.yaml.tpl" > "${BATS_TEST_DIRNAME}/resources/helm/fluentbit-hosted.yaml"
5851

5952
helm upgrade --install --debug --create-namespace --namespace "$TEST_NAMESPACE" fluent-bit fluent/fluent-bit \
@@ -82,4 +75,4 @@ DETIK_CLIENT_NAMESPACE="${TEST_NAMESPACE}"
8275
break
8376
fi
8477
done
85-
}
78+
}

0 commit comments

Comments
 (0)