]> git.ipfire.org Git - thirdparty/bind9.git/commit
Add DoH and DoT stress tests, generate test configurations
authorMichal Nowak <mnowak@isc.org>
Mon, 19 Feb 2024 14:55:00 +0000 (15:55 +0100)
committerMichal Nowak <mnowak@isc.org>
Mon, 27 Jan 2025 15:17:39 +0000 (16:17 +0100)
commit9756292a5f78438343357873809b726cb0a1a2b2
treeeb98300c4285b805e59f3c8a57f83cd86d1ddafb
parentdc3c3efdbf2b2e619d6a0f754bc182cbca4c11c4
Add DoH and DoT stress tests, generate test configurations

Add DoH and DoT stress test jobs. The DoH scenario on FreeBSD is omitted
because all Flamethrower's DoH queries timeout on this platform.

Since the response rate of DoT queries is lower than that of DoH and
TCP, the expected TCP response rate is 80%.

Due to the large number of similar stress test configurations, the
"util/generate-stress-test-configs.py" script now generates them as part
of a downstream pipeline. The script is expected to be run exclusively
within the CI environment, which sources all environmental variables and
files.

This refactoring brought the following changes:

- To start a stress test immediately and not wait for artifacts of the
  autoreconf job, run the "autoreconf -fi" command as part of every job.

- Drop the BIND_STRESS_TEST_* variables as they were rarely used and
  conflicted with mode and platform selection in the configuration
  generator.

- Most pipelines now include a few short, randomly selected stress test
  jobs. To schedule all stress tests, set the ALL_BIND_STRESS_TESTS
  environmental variable, push a tag to CI, or run a scheduled pipeline.

- Set the BIND_STRESS_TESTS_RUN_TIME environmental variable to pick the
  stress test runtime of your choosing, set the BIND_STRESS_TESTS_RATE
  environmental variable to set different than the default query rate.

- Job timeout is set to 30 minutes plus stress test runtime in minutes.
.gitlab-ci.yml
util/generate-stress-test-configs.py [new file with mode: 0755]