Commit Graph

71 Commits

Author SHA1 Message Date
Richa Mishra 05f0e513e8
K8s immutable provisioning of ci-cassandra.apache.org jenkins instances
.build/run-ci is a a python script used to create and interact with k8s provisioned ci-cassandra.apache.org clones
See .build/run-ci.d/README.md for docs on usage.

.jenkins/k8s/ contains the k8s jenkins helm chart, JSaC configuration, and docker image for provisioning.

.build/run-ci.d/  contains python requirements and tests for .build/run-ci

 patch by Richa Mishra, Nishant Barola, Aleksandr Volochnev, Mick Semb Wever; reviewed by Richa Mishra, Nishant Barola, Aleksandr Volochnev, Brandon Hsieh, Mick Semb Wever, Brandon Williams for CASSANDRA-18145

Co-authored-by: Richa Mishra <richa.mishra@infracloud.io>
Co-authored-by: Nishant Barola <nishant.barola@infracloud.io>
Co-authored-by: Aleksandr Volochnev <a.volochnev@gmail.com>
Co-authored-by: Mick Semb Wever <mck@apache.org>
2025-08-27 23:33:16 +02:00
Dmitry Konstantinov 82880b8be4 Add CauseOfInterruption printing if a test split execution is aborted
Patch by Dmitry Konstantinov; reviewed by Michael Semb Wever for CASSANDRA-20833
2025-08-13 20:11:15 +01:00
mck f33c3450d4
Only prefetch docker image needed in jenkinsfile build stages
patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-20537
2025-04-08 17:28:22 +02:00
maoling e16f30c587
Improve Go download when building source code
patch by Ling Mao; reviewed by Stefan Miklosovic, Michael Semb Wever for CASSANDRA-20422

Co-authored-by: Stefan Miklosovic <smiklosovic@apache.org>
2025-03-17 19:06:07 +01:00
Mick Semb Wever ba16a082f3
Adjust 5.0 and trunk Jenkinsfile's splits configuration
More splits for dtest-upgrades and all variants of the (unit) "test" type.
Less splits for long-test, dtest-larges, and jvm-dtest-upgrade.
And some debug on xml test files produced in each split.

 patch by Mick Semb Wever; reviewed by Brandon Williams, Maxim Muzafarov, Dmitry Konstantinov for CASSANDRA-20311
2025-02-18 12:22:54 +01:00
mck 3cdd540bfe
Timing info for each test split in Jenkinsfile
patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-20157
2025-01-05 19:05:48 +01:00
Bereng 70ec86c576
Repeatable test runs, and named command line options, for test scripts
Each test type has a -repeat suffixed companion, used with the `-e REPEATED_TESTS_COUNT` option.

 patch by Berenguer Blasi; reviewed by Mick Semb Wever, Brandon Williams for CASSANDRA-18942
2024-12-09 15:52:23 +11:00
Mick Semb Wever 2fb578263c
Exclude intensive dtests when not running dtest-upgrade*-large
Also add dtest-large-latest

 patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-19963
2024-09-30 22:47:43 +03:00
mck f3e7413159
Reduce timeouts in upgrade_through_versions_test due to ccm downloads/building
In docker we want to use the existing populated ~/.ccm/repositories but don't want to write to the container's filesystem (it can leak fd).  So we set CCM_CONFIG_DIR to be in the run-python-dtest.XXXXXX tmpdir.  Previously this was done in the base (non-docker) script, but this is only needed in docker (and outside of docker we want the normal ~/.ccm usage)

 patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-19813
2024-08-07 11:28:24 +02:00
Mick Semb Wever 461b8c42d2
Remove sid source from debian, was only needed for jdk8
- Added debug in testing
 - Propagate the $DEBUG env from docker to test scripts
 - Be verbose when a pipeline errors that not all tests would have been run
 - add timeout to each cell stage (scripts on a node can hang and the only alternative was to abort the whole pipeline)

 patch by Mick Semb Wever; reviewed by Ekaterina Dimitrova, Brandon Williams for CASSANDRA-19708
2024-07-05 18:25:16 +02:00
Mick Semb Wever 3c85def5cc
Honour parameter defaults between builds in Jenkinsfile
Also
– increase splits for jvm-dtests, container size and docker limits for simulator-dtest
– print exit status in .build/docker/run-tests.sh and  .build/docker/_docker_init_tests.sh
– add a summary list of test failures in ci_summary.html
– in ubuntu2004_test.docker make sure /home/cassandra exists and has correct perms (from Marcuse)
– when on ci-cassandra, replace use of copyArtifacts in Jenkinsfile generateTestReports() with manual wget of test files (copyArtifacts is notoriously slow, >4hrs in this case)
– copy ci_summary.html and results_details.tar.xz to nightlies
– capture generateTestReports logs
– stream xz where possible, instead of xz compressing afterwards
– fix ant version in centos7-build.docker
– remove docker login (was meangingless, if credentials exist then docker is logged in)
– prefetch docker images from jfrog (to reduce dockerhub pull rate limits), relates to CASSANDRA-18931
– use scripts from cassandra-builds to clean and report on agents, relates to CASSANDRA-18130
– use groovy elvis operators to avoid NPEs/failures on blank param values
– parallel jfrog pulls and cache it in jfrog too
– pin alpine docker image version
– don't stash .git (was causing AccessDeniedException on some unstash), needed fix so deb/rpm packaging worked on not-git work directories
– durabilityHint needs PERFORMANCE_OPTIMIZED, controller becomes scale bottleneck and breaks without it

 patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-19558
2024-04-26 11:36:32 +02:00
Mick Semb Wever f7c11bdcd4
Standalone Jenkinsfile
– ensure test file paths, and their suite names are unique (the latter was broken for cqlshlib and python dtests)
 – removal of properties and system-out in test xml happens in CassandraXMLJUnitResultFormatter
 – new jenkins agent labels and introduce agents sizes
 - ci_summary.html generation script, ref work submitted in apache/cassandra-builds#99
 – fix for stress-test and fqltool-test running on small
 - ant generate-test-report is limited to only running on individual test types (ci_parser.py provides ci_summary.html for the overview now)
 - each cell has a single retry, and the retry will happen on a different agent
 - on ci-cassandra the summary stage happens on the builtin, bc copyArtifacts on 15k+ files takes many hours otherwise
 - test-burn only needs two splits
 - dependency-check is disabled from the lint target until CASSANDRA-19213
 - add $DEBUG env var to in-tree scripts, turns on bash debug
 - fix FBUtilities' handling of gcp cos_containerd (kernel version comes with a trailing '+' character)

 patch by Aleks Volochnev, Mick Semb Wever; reviewed by Aleksandr Volochnev, Josh McKenzie, Maxim Muzafarov, Stefan Miklosovic for CASSANDRA-18594

Co-authored-by: Aleksandr Volochnev <a.volochnev@gmail.com>
Co-authored-by: Mick Semb Wever <mck@apache.org>
Co-authored-by: Josh McKenzie <jmckenzie@apache.org>
Co-authored-by: Artem Chekunov <artem.v.chekunov@gmail.com>
2024-04-04 11:56:36 +02:00
Branimir Lambov 06ed1afc34 Add an optimized default configuration to tests and make it available for new users
This patch adds a new configuration file, cassandra_latest.yaml, which changes
some of the settings to use new features we usually recommend to users,
including:
- Big Trie-Indexed SSTables
- Trie memtables
- Unified Compaction Strategy
- Storage Attached Index
- Off-heap objects memtables
- Direct-write commit log
- No storage compatibility

These changes are applied in new test targets for unit, in-jvm and python dtests that are
run pre-commit. When changes are made to the new config file, python dtest will use it
directly, but unit and in-jvm dtests require updates, respectively, to latest_diff.yaml
and InstanceConfig.java.

patch by Branimir Lambov; reviewed by Berenguer Blasi for CASSANDRA-18753
2024-03-07 11:08:44 +02:00
Mick Semb Wever f0655159e6
Add to jenkins pipeline: test-oa, test-system-keyspace-directory, test-trie, jvm-dtest-novnode, jvm-dtest-upgrade-novnode simulator-dtest, dtest-large-novnode, dtest-upgrade-large, dtest-upgrade-novnode, dtest-upgrade-novnode-large.
patch by Mick Semb Wever; reviewed by Berenguer Blasi, Brandon Williams for CASSANDRA-17989, CASSANDRA-18008, CASSANDRA-17145, CASSANDRA-18003
2023-11-14 21:56:57 -05:00
Mick Semb Wever aa2494b30b
Merge branch 'cassandra-3.11' into cassandra-4.0
* cassandra-3.11:
  Missing license info and headers
2023-08-31 22:39:56 +02:00
Mick Semb Wever 14e89fc3c7
Merge branch 'cassandra-3.0' into cassandra-3.11
* cassandra-3.0:
  Missing license info and headers
2023-08-31 22:36:33 +02:00
Mick Semb Wever ce49e775f7
Missing license info and headers
patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-18807
2023-08-31 22:30:42 +02:00
Mick Semb Wever 15ecaaed43
Merge branch 'cassandra-3.11' into cassandra-4.0 2022-06-19 16:40:36 +02:00
Mick Semb Wever 51fb85a9db
Merge branch 'cassandra-3.0' into cassandra-3.11 2022-06-19 16:39:32 +02:00
Mick Semb Wever 87bdbb7182
Merge branch 'cassandra-2.2' into cassandra-3.0 2022-06-19 16:38:43 +02:00
Mick Semb Wever e163146fd9
Fix retries for stage builds that do not throw failures
patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-17664
2022-06-19 16:34:43 +02:00
Mick Semb Wever 36b73d70fb
Merge branch 'cassandra-3.11' into cassandra-4.0 2022-05-28 13:55:26 +02:00
Mick Semb Wever bb0e63fc38
Merge branch 'cassandra-3.0' into cassandra-3.11 2022-05-28 13:54:26 +02:00
Mick Semb Wever 2b533b28c2
Merge branch 'cassandra-2.2' into cassandra-3.0 2022-05-28 13:53:41 +02:00
Mick Semb Wever 136c8c0f65
In jenkins retry each stage build in the pipeline
attempts to alleviate the false-negatives from CI infrastructure faults (disks, network, etc)

 patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-17664
2022-05-28 13:34:00 +02:00
Brandon Williams c586cca2b3 ninja fix typo in Jenkinsfile 2022-02-16 17:27:24 -06:00
Mick Semb Wever 902e05603b
Merge branch 'cassandra-3.11' into trunk 2021-02-10 12:55:21 +01:00
Mick Semb Wever 9c5b626f3e
Merge branch 'cassandra-3.0' into cassandra-3.11 2021-02-10 12:53:11 +01:00
Mick Semb Wever 49a0f0111c
Add dtest-upgrade and dtest-large-novnode to Jenkins pipeline
patch by Mick Semb Wever; reviewed by Jacek Lewandowski,Tomek Łasica for CASSANDRA-16377
2021-02-10 12:50:07 +01:00
Mick Semb Wever 7cb3adc3bf
Merge branch 'cassandra-3.11' into trunk 2021-02-08 12:11:17 +01:00
Mick Semb Wever aa92e88688
Merge branch 'cassandra-3.0' into cassandra-3.11 2021-02-08 12:07:46 +01:00
Mick Semb Wever 19b3945297
Merge branch 'cassandra-2.2' into cassandra-3.0 2021-02-08 12:06:47 +01:00
Mick Semb Wever 9fa2c28dc2
Jenkins builds to provide link to nightlies archive, and remove the Jenkins plaintext reports
patch by Mick Semb Wever; reviewed by Tomek Łasica for CASSANDRA-16401
2021-02-08 12:05:14 +01:00
Mick Semb Wever 6ca34f8138
Merge branch 'cassandra-3.11' into trunk 2020-10-27 10:50:57 +01:00
Mick Semb Wever 06e4e81d87
Merge branch 'cassandra-3.0' into cassandra-3.11 2020-10-27 10:49:15 +01:00
Mick Semb Wever f139c6a6c1
Merge branch 'cassandra-2.2' into cassandra-3.0 2020-10-27 10:47:56 +01:00
Mick Semb Wever 5d26980777
Rename master branch to trunk in cassandra-dtest
patch by Mick Semb Wever; reviewed by Brandon Williams for  CASSANDRA-16166
2020-10-27 10:39:55 +01:00
Mick Semb Wever 936a81bf34
Merge branch 'cassandra-3.11' into trunk 2020-09-30 21:31:00 +02:00
Mick Semb Wever f5d5e72f61
Merge branch 'cassandra-3.0' into cassandra-3.11 2020-09-30 21:12:08 +02:00
Mick Semb Wever 9ee74c9dc0
Merge branch 'cassandra-2.2' into cassandra-3.0 2020-09-30 21:08:26 +02:00
Mick Semb Wever aaef142f48
In Jenkins propagate FAILURE from stages to pipeline, ssh artefacts to nightlies, and move ant's junitreport generation to a separate target "generate-test-report"
patch by Mick Semb Wever; reviewed by Berenguer Blasi for CASSANDRA-16128
2020-09-30 21:05:47 +02:00
Mick Semb Wever 54ebb19720
Merge branch 'cassandra-3.11' into trunk 2020-08-08 10:20:14 +02:00
Mick Semb Wever 2beebbbedc
Merge branch 'cassandra-3.0' into cassandra-3.11 2020-08-08 10:19:14 +02:00
Mick Semb Wever ffc8e407e0
Run in-jvm upgrade dtests in ci-cassandra
patch by Mick Semb Wever; reviewed by David Capwell for CASSANDRA-16031
2020-08-08 10:07:24 +02:00
Mick Semb Wever 0c9336b430
Merge branch 'cassandra-3.11' into trunk 2020-08-04 10:49:48 +02:00
Mick Semb Wever 0310a7e42e
Merge branch 'cassandra-3.0' into cassandra-3.11 2020-08-04 10:47:23 +02:00
Mick Semb Wever 2844454669
Merge branch 'cassandra-2.2' into cassandra-3.0 2020-08-04 10:45:03 +02:00
Mick Semb Wever bb2562b777
Jenkinsfile fixes for wrong test reports being copied, and reports getting clobbered
- copy artifacts from specific build numbers, not lastest stage builds
 - presend script to avoid threads in the builds mailing list
 - Suffix "cassandra.testtag" value to the testsuite name, so testsuite elements are separated cleanly

 patch by Mick Semb Wever; reviewed by Berenguer Blasi for CASSANDRA-15925
2020-08-04 10:39:07 +02:00
Mick Semb Wever 853b599337
Merge branch 'cassandra-3.11' into trunk 2020-06-24 12:18:55 +02:00
Mick Semb Wever 9551d4bed3
Merge branch 'cassandra-3.0' into cassandra-3.11 2020-06-24 12:16:35 +02:00