@@ -6,9 +6,41 @@ For running our testing platform, we need to perform complex jobs in Jenkins. Th
66
77We have these two apps:
88
9- * ** Jenkins Job Builder** is a "seed job" which (re)creates all the jobs in our Jenkins.
9+ * ** Jenkins Job Builder** is a "seed job" which (re)creates all the jobs in our Jenkins.
1010* ** Operator Test Runner** is an app which creates/terminates K8s clusters and runs operator integration tests in them.
1111
12+ ## Configurable Test Scripts
13+
14+ The ** Operator Test Runner** supports two test execution strategies:
15+
16+ 1 . ** ` run-tests ` ** (default) - Traditional test runner that executes tests once
17+ 2 . ** ` auto-retry-tests.py ` ** - Intelligent retry test runner that:
18+ - Runs the full test suite initially
19+ - Identifies failed tests automatically
20+ - Retries failed tests with configurable parallel and serial strategies
21+ - Tracks test runtime history for better estimates
22+ - Provides comprehensive reporting
23+ - Optionally keeps failed namespaces for debugging
24+
25+ ### Configuration
26+
27+ Test script selection is configured per-operator in ` catalog/operator-tests.yaml ` :
28+
29+ ``` yaml
30+ - id : hdfs-operator
31+ display_name : HDFS Operator
32+ git_repo : hdfs-operator
33+ # Test script: "run-tests" (default) or "auto-retry-tests.py"
34+ test_script : auto-retry-tests.py
35+ # Auto-retry configuration (only used if test_script is auto-retry-tests.py)
36+ auto_retry :
37+ attempts_parallel : 2 # Number of parallel retry attempts (default: 0)
38+ attempts_serial : 3 # Number of serial retry attempts (default: 3)
39+ keep_failed_namespaces : false # Keep namespaces for debugging (default: false)
40+ ` ` `
41+
42+ If ` test_script` is not specified, the default `run-tests` is used, maintaining backward compatibility with all existing operators.
43+
1244# # Project Structure
1345
1446The code is documented inline, here's the project structure :
0 commit comments