From c10ed77549c3b942c81d61f21c47810df3a51084 Mon Sep 17 00:00:00 2001 From: Ryon Jensen Date: Mon, 4 May 2026 13:01:36 -0600 Subject: [PATCH 1/9] Experimenting with Cluster in a box Signed-off-by: Ryon Jensen --- Jenkinsfile | 799 ++++-------------- src/tests/ftest/aggregation/checksum.py | 14 +- src/tests/ftest/aggregation/punching.py | 14 +- .../ftest/container/snapshot_aggregation.py | 4 +- src/tests/ftest/control/daos_server_helper.py | 4 +- .../ftest/control/dmg_telemetry_io_basic.py | 12 +- src/tests/ftest/control/dmg_telemetry_nvme.py | 16 +- src/tests/ftest/daos_racer/simple.py | 4 +- src/tests/ftest/daos_test/rebuild.py | 92 +- src/tests/ftest/daos_test/suite.py | 282 ++++--- src/tests/ftest/io/io_consistency.py | 16 +- src/tests/ftest/ior/small.py | 14 +- src/tests/ftest/mdtest/small.py | 14 +- src/tests/ftest/mpiio/romio.py | 14 +- src/tests/ftest/osa/offline_drain.py | 14 +- src/tests/ftest/osa/offline_reintegration.py | 28 +- src/tests/ftest/osa/online_drain.py | 16 +- src/tests/ftest/osa/online_extend.py | 70 +- src/tests/ftest/osa/online_parallel_test.py | 4 + src/tests/ftest/pool/create.py | 4 +- src/tests/ftest/pool/create_query.py | 4 +- src/tests/ftest/rebuild/pool_destroy_race.py | 14 +- src/tests/ftest/scrubber/basic.py | 28 +- src/tests/ftest/scrubber/csum_fault.py | 14 +- .../ftest/scrubber/target_auto_eviction.py | 14 +- src/tests/ftest/server/replay.py | 18 +- src/tests/ftest/server/storage_tiers.py | 4 +- src/tests/ftest/util/collection_utils.py | 60 +- 28 files changed, 699 insertions(+), 892 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index be8dbad86e0..d94701bd7d6 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -18,7 +18,7 @@ // To use a test branch (i.e. PR) until it lands to master // I.e. for testing library changes -//@Library(value='pipeline-lib@your_branch') _ +@Library(value='pipeline-lib@ryon-jensen/speed_of_ci') _ /* groovylint-disable-next-line CompileStatic */ job_status_internal = [:] @@ -177,13 +177,14 @@ String sconsArgs() { * Update default commit pragmas based on files modified. */ Map update_default_commit_pragmas() { - String default_pragmas_str = sh(script: 'ci/gen_commit_pragmas.py --target origin/' + target_branch, - returnStdout: true).trim() - println('pragmas from gen_commit_pragmas.py:') - println(default_pragmas_str) - if (default_pragmas_str) { - updatePragmas(default_pragmas_str, false) - } +// Don't use this for now +// String default_pragmas_str = sh(script: 'ci/gen_commit_pragmas.py --target origin/' + target_branch, +// returnStdout: true).trim() +// println('pragmas from gen_commit_pragmas.py:') +// println(default_pragmas_str) +// if (default_pragmas_str) { +// updatePragmas(default_pragmas_str, false) +// } } Boolean skip_pragma_set(String name, String def_val='false') { @@ -467,49 +468,49 @@ pipeline { } } } - stage('Cancel Previous Builds') { - when { - beforeAgent true - expression { !paramsValue('CI_CANCEL_PREV_BUILD_SKIP', false) && !skipStage() } - } - steps { - cancelPreviousBuilds() - } - } - stage('Pre-build') { - when { - beforeAgent true - expression { !skipStage() } - } - parallel { - stage('Python Bandit check') { - when { - beforeAgent true - expression { !skipStage() } - } - agent { - dockerfile { - filename 'utils/docker/Dockerfile.code_scanning' - label 'docker_runner' - additionalBuildArgs dockerBuildArgs(add_repos: false) + - ' --build-arg FVERSION=37' - } - } - steps { - job_step_update(pythonBanditCheck()) - } - post { - always { - // Bandit will have empty results if it does not - // find any issues. - junit testResults: 'bandit.xml', - allowEmptyResults: true - job_status_update() - } - } - } // stage('Python Bandit check') - } - } +// stage('Cancel Previous Builds') { +// when { +// beforeAgent true +// expression { !paramsValue('CI_CANCEL_PREV_BUILD_SKIP', false) && !skipStage() } +// } +// steps { +// cancelPreviousBuilds() +// } +// } +// stage('Pre-build') { +// when { +// beforeAgent true +// expression { !skipStage() } +// } +// parallel { +// stage('Python Bandit check') { +// when { +// beforeAgent true +// expression { !skipStage() } +// } +// agent { +// dockerfile { +// filename 'utils/docker/Dockerfile.code_scanning' +// label 'docker_runner' +// additionalBuildArgs dockerBuildArgs(add_repos: false) + +// ' --build-arg FVERSION=37' +// } +// } +// steps { +// job_step_update(pythonBanditCheck()) +// } +// post { +// always { +// // Bandit will have empty results if it does not +// // find any issues. +// junit testResults: 'bandit.xml', +// allowEmptyResults: true +// job_status_update() +// } +// } +// } // stage('Python Bandit check') +// } +// } stage('Build') { /* Don't use failFast here as whilst it avoids using extra resources * and gives faster results for PRs it's also on for master where we @@ -627,479 +628,56 @@ pipeline { } } } - stage('Build on Leap 15') { - when { - beforeAgent true - expression { !skip_build_stage('leap15') } - } - agent { - dockerfile { - filename 'utils/docker/Dockerfile.leap.15' - label 'docker_runner' - additionalBuildArgs dockerBuildArgs(repo_type: 'stable', - parallel_build: true, - deps_build: false) + - ' --build-arg DAOS_PACKAGES_BUILD=no ' + - ' --build-arg DAOS_KEEP_SRC=yes ' + - " -t ${sanitized_JOB_NAME()}-leap15" + - ' --build-arg POINT_RELEASE=.6 ' - } - } - steps { - script { - sh label: 'Install RPMs', - script: './ci/rpm/install_deps.sh suse.lp156 "' + env.DAOS_RELVAL + '"' - sh label: 'Build deps', - script: './ci/rpm/build_deps.sh' - job_step_update( - sconsBuild(parallel_build: true, - scons_args: sconsFaultsArgs() + - ' PREFIX=/opt/daos TARGET_TYPE=release', - build_deps: 'yes')) - sh label: 'Generate RPMs', - script: './ci/rpm/gen_rpms.sh suse.lp156 "' + env.DAOS_RELVAL + '"' - } - } - post { - success { - uploadNewRPMs('leap15', 'success') - } - unsuccessful { - sh '''if [ -f config.log ]; then - mv config.log config.log-leap15-gcc - fi''' - archiveArtifacts artifacts: 'config.log-leap15-gcc', - allowEmptyArchive: true - } - cleanup { - uploadNewRPMs('leap15', 'cleanup') - job_status_update() - } - } - } - } - } - stage('Unit Tests') { - when { - beforeAgent true - expression { !skipStage() } - } - parallel { - stage('Unit Test') { - when { - beforeAgent true - expression { !skipStage() } - } - agent { - label cachedCommitPragma(pragma: 'VM1-label', def_val: params.CI_UNIT_VM1_LABEL) - } - steps { - job_step_update( - unitTest(timeout_time: 60, - unstash_opt: true, - inst_repos: daosRepos(), - inst_rpms: unitPackages(target: 'el9'), - image_version: 'el9.7', - ) - ) - } - post { - always { - unitTestPost artifacts: ['unit_test_logs/'] - job_status_update() - } - } - } - stage('Unit Test bdev') { - when { - beforeAgent true - expression { !skipStage() } - } - agent { - label params.CI_UNIT_VM1_NVME_LABEL - } - steps { - job_step_update( - unitTest(timeout_time: 60, - unstash_opt: true, - inst_repos: daosRepos(), - inst_rpms: unitPackages(target: 'el9'), - image_version: 'el9.7')) - } - post { - always { - unitTestPost artifacts: ['unit_test_bdev_logs/'] - job_status_update() - } - } - } - stage('NLT') { - when { - beforeAgent true - expression { params.CI_NLT_TEST && !skipStage() } - } - agent { - label params.CI_NLT_1_LABEL - } - steps { - job_step_update( - unitTest(timeout_time: 60, - inst_repos: daosRepos(), - test_script: 'ci/unit/test_nlt.sh', - unstash_opt: true, - unstash_tests: false, - inst_rpms: unitPackages(target: 'el9'), - image_version: 'el9.7')) - // recordCoverage(tools: [[parser: 'COBERTURA', pattern:'nltir.xml']], - // skipPublishingChecks: true, - // id: 'tlc', name: 'Fault Injection Interim Report') - stash(name:'nltr', includes:'nltr.json', allowEmpty: true) - } - post { - always { - unitTestPost artifacts: ['nlt_logs/'], - testResults: 'nlt-junit.xml', - always_script: 'ci/unit/test_nlt_post.sh', - valgrind_stash: 'nlt-memcheck' - recordIssues enabledForFailure: true, - failOnError: false, - ignoreQualityGate: true, - name: 'NLT server leaks', - qualityGates: [[threshold: 1, type: 'TOTAL', unstable: true]], - tool: issues(pattern: 'nlt-server-leaks.json', - name: 'NLT server results', - id: 'NLT_server'), - scm: 'daos-stack/daos' - job_status_update() - } - } - } - stage('Unit Test with memcheck') { - when { - beforeAgent true - expression { !skipStage() } - } - agent { - label cachedCommitPragma(pragma: 'VM1-label', def_val: params.CI_UNIT_VM1_LABEL) - } - steps { - job_step_update( - unitTest(timeout_time: 160, - unstash_opt: true, - ignore_failure: true, - inst_repos: daosRepos(), - inst_rpms: unitPackages(target: 'el9'), - image_version: 'el9.7')) - } - post { - always { - unitTestPost artifacts: ['unit_test_memcheck_logs.tar.gz', - 'unit_test_memcheck_logs/**/*.log'], - valgrind_stash: 'unit-memcheck' - job_status_update() - } - } - } // stage('Unit Test with memcheck') - stage('Unit Test bdev with memcheck') { - when { - beforeAgent true - expression { !skipStage() } - } - agent { - label params.CI_UNIT_VM1_NVME_LABEL - } - steps { - job_step_update( - unitTest(timeout_time: 180, - unstash_opt: true, - ignore_failure: true, - inst_repos: daosRepos(), - inst_rpms: unitPackages(target: 'el9'), - image_version: 'el9.7')) - } - post { - always { - unitTestPost artifacts: ['unit_test_memcheck_bdev_logs.tar.gz', - 'unit_test_memcheck_bdev_logs/**/*.log'], - valgrind_stash: 'unit-bdev-memcheck' - job_status_update() - } - } - } // stage('Unit Test bdev with memcheck') - } - } - stage('Test') { - when { - beforeAgent true - //expression { !paramsValue('CI_FUNCTIONAL_TEST_SKIP', false) && !skipStage() } - // Above not working, always skipping functional VM tests. - expression { !paramsValue('CI_FUNCTIONAL_TEST_SKIP', false) } - } - parallel { - stage('Functional on EL 8.8 with Valgrind') { - when { - beforeAgent true - expression { !skipStage() } - } - agent { - label vm9_label('EL8') - } - steps { - job_step_update( - functionalTest( - inst_repos: daosRepos(), - inst_rpms: functionalPackages(1, next_version(), 'tests-internal') + - ' mercury-libfabric', - test_function: 'runTestFunctionalV2')) - } - post { - always { - functionalTestPostV2() - job_status_update() - } - } - } // stage('Functional on EL 8.8 with Valgrind') - stage('Functional on EL 8') { - when { - beforeAgent true - expression { !skipStage() } - } - agent { - label vm9_label('EL8') - } - steps { - job_step_update( - functionalTest( - inst_repos: daosRepos(), - inst_rpms: functionalPackages(1, next_version(), 'tests-internal') + - ' mercury-libfabric', - test_function: 'runTestFunctionalV2', - image_version: 'el8.10')) - } - post { - always { - functionalTestPostV2() - job_status_update() - } - } - } // stage('Functional on EL 8') - stage('Functional on EL 9') { - when { - beforeAgent true - expression { !skipStage() } - } - agent { - label vm9_label('EL9') - } - steps { - job_step_update( - functionalTest( - inst_repos: daosRepos(), - inst_rpms: functionalPackages(1, next_version(), 'tests-internal') + - ' mercury-libfabric', - test_function: 'runTestFunctionalV2', - image_version: 'el9.7')) - } - post { - always { - functionalTestPostV2() - job_status_update() - } - } - } // stage('Functional on EL 9') - stage('Functional on Leap 15') { - when { - beforeAgent true - expression { !skipStage() } - } - agent { - label vm9_label('Leap15') - } - steps { - job_step_update( - functionalTest( - inst_repos: daosRepos(), - inst_rpms: functionalPackages(1, next_version(), 'tests-internal') + - ' mercury-libfabric', - test_function: 'runTestFunctionalV2', - image_version: 'leap15.6')) - } - post { - always { - functionalTestPostV2() - job_status_update() - } - } // post - } // stage('Functional on Leap 15') - stage('Functional on Ubuntu 20.04') { - when { - beforeAgent true - expression { !skipStage() } - } - agent { - label vm9_label('Ubuntu') - } - steps { - job_step_update( - functionalTest( - inst_repos: daosRepos(), - inst_rpms: functionalPackages(1, next_version(), 'tests-internal') + - ' mercury-libfabric', - test_function: 'runTestFunctionalV2')) - } - post { - always { - functionalTestPostV2() - job_status_update() - } - } // post - } // stage('Functional on Ubuntu 20.04') - stage('Fault injection testing') { - when { - beforeAgent true - expression { !skipStage() } - } - agent { - dockerfile { - filename 'utils/docker/Dockerfile.el.9' - label 'docker_runner_fi' - additionalBuildArgs dockerBuildArgs(repo_type: 'stable', - parallel_build: true, - deps_build: true) + - ' --build-arg POINT_RELEASE=.7 ' - args '--tmpfs /mnt/daos_0' - } - } - steps { - job_step_update( - sconsBuild(parallel_build: true, - scons_args: 'PREFIX=/opt/daos TARGET_TYPE=release BUILD_TYPE=debug', - build_deps: 'no')) - job_step_update(nlt_test()) - // recordCoverage(tools: [[parser: 'COBERTURA', pattern:'nltr.xml']], - // skipPublishingChecks: true, - // id: 'fir', name: 'Fault Injection Report') - } - post { - always { - discoverGitReferenceBuild referenceJob: 'daos-stack/daos/master', - scm: 'daos-stack/daos', - requiredResult: hudson.model.Result.UNSTABLE - recordIssues enabledForFailure: true, - /* ignore warning/errors from PMDK logging system */ - filters: [excludeFile('pmdk/.+')], - failOnError: false, - ignoreQualityGate: true, - qualityGates: [[threshold: 1, type: 'TOTAL_ERROR'], - [threshold: 1, type: 'TOTAL_HIGH'], - [threshold: 1, type: 'NEW_NORMAL', unstable: true], - [threshold: 1, type: 'NEW_LOW', unstable: true]], - tools: [issues(pattern: 'nlt-errors.json', - name: 'Fault injection issues', - id: 'Fault_Injection'), - issues(pattern: 'nlt-client-leaks.json', - name: 'Fault injection leaks', - id: 'NLT_client')], - scm: 'daos-stack/daos' - junit testResults: 'nlt-junit.xml' - stash name: 'fault-inject-valgrind', - includes: '*.memcheck.xml', - allowEmpty: true - archiveArtifacts artifacts: 'nlt_logs/fault-injection/', - allowEmptyArchive: true - job_status_update() - } - } - } // stage('Fault injection testing') - stage('Test RPMs on EL 9.6') { - when { - beforeAgent true - expression { params.CI_TEST_EL_RPMs && !skipStage() } - } - agent { - label params.CI_UNIT_VM1_LABEL - } - steps { - job_step_update( - testRpm(inst_repos: daosRepos(), - daos_pkg_version: daosPackagesVersion(next_version()), - inst_rpms: 'mercury-libfabric') - ) - } - post { - always { - rpm_test_post(env.STAGE_NAME, env.NODELIST) - } - } - } // stage('Test RPMs on EL 9.6') - stage('Test RPMs on Leap 15.5') { - when { - beforeAgent true - expression { params.CI_TEST_LEAP_RPMs && !skipStage() } - } - agent { - label params.CI_UNIT_VM1_LABEL - } - steps { - /* neither of these work as FTest strips the first node - out of the pool requiring 2 node clusters at minimum - * additionally for this use-case, can't override - ftest_arg with this :-( - script { - 'Test RPMs on Leap 15.5': getFunctionalTestStage( - name: 'Test RPMs on Leap 15.5', - pragma_suffix: '', - label: params.CI_UNIT_VM1_LABEL, - next_version: next_version(), - stage_tags: '', - default_tags: 'test_daos_management', - nvme: 'auto', - run_if_pr: true, - run_if_landing: true, - job_status: job_status_internal - ) - } - job_step_update( - functionalTest( - test_tag: 'test_daos_management', - ftest_arg: '--yaml_extension single_host', - inst_repos: daosRepos(), - inst_rpms: functionalPackages(1, next_version(), 'tests-internal'), - test_function: 'runTestFunctionalV2')) - } - post { - always { - functionalTestPostV2() - job_status_update() - } - } */ - job_step_update( - testRpm(inst_repos: daosRepos(), - daos_pkg_version: daosPackagesVersion(next_version()), - inst_rpms: 'mercury-libfabric') - ) - } - post { - always { - rpm_test_post(env.STAGE_NAME, env.NODELIST) - } - } - } // stage('Test RPMs on Leap 15.5') - } // parallel - } // stage('Test') - stage('Test Storage Prep on EL 8.8') { - when { - beforeAgent true - expression { params.CI_STORAGE_PREP_LABEL != '' } - } - agent { - label params.CI_STORAGE_PREP_LABEL - } - steps { - job_step_update( - storagePrepTest( - inst_repos: daosRepos(), - inst_rpms: functionalPackages(1, next_version(), 'tests-internal'))) +// stage('Build on Leap 15') { +// when { +// beforeAgent true +// expression { !skip_build_stage('leap15') } +// } +// agent { +// dockerfile { +// filename 'utils/docker/Dockerfile.leap.15' +// label 'docker_runner' +// additionalBuildArgs dockerBuildArgs(repo_type: 'stable', +// parallel_build: true, +// deps_build: false) + +// ' --build-arg DAOS_PACKAGES_BUILD=no ' + +// ' --build-arg DAOS_KEEP_SRC=yes ' + +// " -t ${sanitized_JOB_NAME()}-leap15" + +// ' --build-arg POINT_RELEASE=.6 ' +// } +// } +// steps { +// script { +// sh label: 'Install RPMs', +// script: './ci/rpm/install_deps.sh suse.lp156 "' + env.DAOS_RELVAL + '"' +// sh label: 'Build deps', +// script: './ci/rpm/build_deps.sh' +// job_step_update( +// sconsBuild(parallel_build: true, +// scons_args: sconsFaultsArgs() + +// ' PREFIX=/opt/daos TARGET_TYPE=release', +// build_deps: 'yes')) +// sh label: 'Generate RPMs', +// script: './ci/rpm/gen_rpms.sh suse.lp156 "' + env.DAOS_RELVAL + '"' +// } +// } +// post { +// success { +// uploadNewRPMs('leap15', 'success') +// } +// unsuccessful { +// sh '''if [ -f config.log ]; then +// mv config.log config.log-leap15-gcc +// fi''' +// archiveArtifacts artifacts: 'config.log-leap15-gcc', +// allowEmptyArchive: true +// } +// cleanup { +// uploadNewRPMs('leap15', 'cleanup') +// job_status_update() +// } +// } +// } } post { cleanup { @@ -1113,117 +691,68 @@ pipeline { expression { !paramsValue('CI_FUNCTIONAL_HARDWARE_TEST_SKIP', false) && !skipStage() } } steps { - script { - parallel( - 'Functional Hardware Medium': getFunctionalTestStage( - name: 'Functional Hardware Medium', - pragma_suffix: '-hw-medium', - label: params.FUNCTIONAL_HARDWARE_MEDIUM_LABEL, - next_version: next_version(), - stage_tags: 'hw,medium,-provider', - default_tags: startedByTimer() ? 'pr daily_regression' : 'pr', - nvme: 'auto', - run_if_pr: false, - run_if_landing: false, - job_status: job_status_internal, - image_version: 'el9.7' - ), - 'Functional Hardware Medium MD on SSD': getFunctionalTestStage( - name: 'Functional Hardware Medium MD on SSD', - pragma_suffix: '-hw-medium-md-on-ssd', - label: params.FUNCTIONAL_HARDWARE_MEDIUM_LABEL, - next_version: next_version(), - stage_tags: 'hw,medium,-provider', - default_tags: startedByTimer() ? 'pr daily_regression' : 'pr', - nvme: 'auto_md_on_ssd', - run_if_pr: true, - run_if_landing: false, - job_status: job_status_internal, - image_version: 'el9.7' - ), - 'Functional Hardware Medium VMD': getFunctionalTestStage( - name: 'Functional Hardware Medium VMD', - pragma_suffix: '-hw-medium-vmd', - label: params.FUNCTIONAL_HARDWARE_MEDIUM_VMD_LABEL, - next_version: next_version(), - stage_tags: 'hw_vmd,medium', - /* groovylint-disable-next-line UnnecessaryGetter */ - default_tags: startedByTimer() ? 'pr daily_regression' : 'pr', - nvme: 'auto', - run_if_pr: false, - run_if_landing: false, - job_status: job_status_internal, - image_version: 'el9.7' - ), - 'Functional Hardware Medium Verbs Provider': getFunctionalTestStage( - name: 'Functional Hardware Medium Verbs Provider', - pragma_suffix: '-hw-medium-verbs-provider', - label: params.FUNCTIONAL_HARDWARE_MEDIUM_VERBS_PROVIDER_LABEL, - next_version: next_version(), - stage_tags: 'hw,medium,provider', - default_tags: startedByTimer() ? 'pr daily_regression' : 'pr', - default_nvme: 'auto', - provider: 'ofi+verbs;ofi_rxm', - run_if_pr: false, - run_if_landing: false, - job_status: job_status_internal, - image_version: 'el9.7' - ), - 'Functional Hardware Medium Verbs Provider MD on SSD': getFunctionalTestStage( - name: 'Functional Hardware Medium Verbs Provider MD on SSD', - pragma_suffix: '-hw-medium-verbs-provider-md-on-ssd', - label: params.FUNCTIONAL_HARDWARE_MEDIUM_VERBS_PROVIDER_LABEL, - next_version: next_version(), - stage_tags: 'hw,medium,provider', - default_tags: startedByTimer() ? 'pr daily_regression' : 'pr', - default_nvme: 'auto_md_on_ssd', - provider: 'ofi+verbs;ofi_rxm', - run_if_pr: true, - run_if_landing: false, - job_status: job_status_internal, - image_version: 'el9.7' - ), - 'Functional Hardware Medium UCX Provider': getFunctionalTestStage( - name: 'Functional Hardware Medium UCX Provider', - pragma_suffix: '-hw-medium-ucx-provider', - label: params.FUNCTIONAL_HARDWARE_MEDIUM_UCX_PROVIDER_LABEL, - next_version: next_version(), - stage_tags: 'hw,medium,provider', - default_tags: startedByTimer() ? 'pr daily_regression' : 'pr', - default_nvme: 'auto', - provider: cachedCommitPragma('Test-provider-ucx', 'ucx+ud_x'), - run_if_pr: false, - run_if_landing: false, - job_status: job_status_internal, - image_version: 'el9.7' - ), - 'Functional Hardware Large': getFunctionalTestStage( - name: 'Functional Hardware Large', - pragma_suffix: '-hw-large', - label: params.FUNCTIONAL_HARDWARE_LARGE_LABEL, - next_version: next_version(), - stage_tags: 'hw,large', - default_tags: startedByTimer() ? 'pr daily_regression' : 'pr', - default_nvme: 'auto', - run_if_pr: false, - run_if_landing: false, - job_status: job_status_internal, - image_version: 'el9.7' - ), - 'Functional Hardware Large MD on SSD': getFunctionalTestStage( - name: 'Functional Hardware Large MD on SSD', - pragma_suffix: '-hw-large-md-on-ssd', - label: params.FUNCTIONAL_HARDWARE_LARGE_LABEL, - next_version: next_version(), - stage_tags: 'hw,large', - default_tags: startedByTimer() ? 'pr daily_regression' : 'pr', - default_nvme: 'auto_md_on_ssd', - run_if_pr: true, - run_if_landing: false, - job_status: job_status_internal, - image_version: 'el9.7' - ), - ) + script { + Map hwStages = [ + 'Functional Cluster Box Medium MD on SSD': getFunctionalTestStage( + name: 'Functional Cluster Box Medium MD on SSD', + pragma_suffix: '-cb-medium-md-on-ssd', + label: 'cluster_box', + next_version: next_version(), + stage_tags: 'hw,medium', + default_tags: 'pr', + nvme: 'auto_md_on_ssd', + run_if_pr: true, + run_if_landing: false, + job_status: job_status_internal, + image_version: 'el9.7', + node_count: 5 + ) + ] + + List clusterBoxStageConfigs = [ + [stage_tag: 'AggregationChecksum', label: 'cluster_box'], + [stage_tag: 'test_daos_rebuild_ec', label: 'cluster_box'], + [stage_tag: 'test_daos_drain_simple', label: 'cluster_box'], + [stage_tag: 'test_daos_rebuild_simple', label: 'cluster_box'], + ] + +// clusterBoxStageConfigs.each { cfg -> +// String stageTag = cfg.stage_tag +// String stageKey = "Functional Cluster Box Medium MD on SSD ${stageTag}" +// echo "BANG echo: stageTag: ${stageTag}, stageKey: ${stageKey}, label: ${cfg.label}" +// println("BANG println: stageTag: ${stageTag}, stageKey: ${stageKey}, label: ${cfg.label}") +// hwStages[stageKey] = getFunctionalTestStage( +// name: stageKey, +// pragma_suffix: '-cb-medium-md-on-ssd', +// label: cfg.label, +// next_version: next_version(), +// stage_tags: "cb,medium,${stageTag}", +// default_tags: startedByTimer() ? 'pr daily_regression' : 'pr', +// nvme: 'auto_md_on_ssd', +// node_count: 5, +// run_if_pr: true, +// run_if_landing: false, +// job_status: job_status_internal +// ) +// } + +// String excludedStageTags = clusterBoxStageConfigs.collect { cfg -> "-${cfg.stage_tag}" }.join(',') +// String restStageTags = excludedStageTags ? "cb,medium,${excludedStageTags}" : 'cb,medium' +// hwStages['Functional Cluster Box Medium MD on SSD rest'] = getFunctionalTestStage( +// name: 'Functional Cluster Box Medium MD on SSD rest', +// pragma_suffix: '-cb-medium-md-on-ssd', +// label: 'cluster_box', +// next_version: next_version(), +// stage_tags: restStageTags, +// default_tags: startedByTimer() ? 'pr daily_regression' : 'pr', +// nvme: 'auto_md_on_ssd', +// node_count: 5, +// run_if_pr: true, +// run_if_landing: false, +// job_status: job_status_internal +// ) + + parallel(hwStages) } } } // stage('Test Hardware') diff --git a/src/tests/ftest/aggregation/checksum.py b/src/tests/ftest/aggregation/checksum.py index b6320e19ebe..ff3892331bd 100644 --- a/src/tests/ftest/aggregation/checksum.py +++ b/src/tests/ftest/aggregation/checksum.py @@ -23,7 +23,9 @@ def get_nvme_free_space(self): return free_space def test_aggregationchecksum(self): - """Jira ID: DAOS-4332. + """ + +Jira ID: DAOS-4332. Test Description: Verify Aggregated extends have valid checksum. Use Cases: @@ -35,10 +37,12 @@ def test_aggregationchecksum(self): Allow the aggregation to finish. Run IOR again this time to read back the data with read verify option enabled. - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=daosio,checksum,ior - :avocado: tags=AggregationChecksum,test_aggregationchecksum +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium +:avocado: tags=daosio,checksum,ior +:avocado: tags=AggregationChecksum,test_aggregationchecksum + + """ # test params diff --git a/src/tests/ftest/aggregation/punching.py b/src/tests/ftest/aggregation/punching.py index b95484a778b..ee083e2aec9 100644 --- a/src/tests/ftest/aggregation/punching.py +++ b/src/tests/ftest/aggregation/punching.py @@ -17,7 +17,9 @@ class AggregationPunching(MdtestBase): """ def test_aggregation_punching(self): - """Jira ID: DAOS-3443 + """ + +Jira ID: DAOS-3443 Test Description: Test the aggregation feature after punching records. @@ -27,10 +29,12 @@ def test_aggregation_punching(self): Create a POSIX container and run mdtest Enable the aggregation run and verify the space is reclaimed. - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=aggregation,mdtest,mdtest - :avocado: tags=AggregationPunching,aggregatepunching,test_aggregation_punching +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium +:avocado: tags=aggregation,mdtest +:avocado: tags=AggregationPunching,aggregatepunching,test_aggregation_punching + + """ if self.pool is None: self.add_pool(connect=False) diff --git a/src/tests/ftest/container/snapshot_aggregation.py b/src/tests/ftest/container/snapshot_aggregation.py index faac813e4ad..9fa9b7e6cfe 100644 --- a/src/tests/ftest/container/snapshot_aggregation.py +++ b/src/tests/ftest/container/snapshot_aggregation.py @@ -35,7 +35,8 @@ def update_free_space(self): }) def test_snapshot_aggregation(self): - """JIRA ID: DAOS-3751. + """ +JIRA ID: DAOS-3751. Test Description: Verify snapshot aggregation with 2 servers and 6 clients (CI limit). @@ -47,6 +48,7 @@ def test_snapshot_aggregation(self): :avocado: tags=hw,medium :avocado: tags=container,snap :avocado: tags=SnapshotAggregation,test_snapshot_aggregation + """ # Create a pool and a container that spans the 2 servers. self.update_ior_cmd_with_pool() diff --git a/src/tests/ftest/control/daos_server_helper.py b/src/tests/ftest/control/daos_server_helper.py index cf986798165..8749dea0353 100644 --- a/src/tests/ftest/control/daos_server_helper.py +++ b/src/tests/ftest/control/daos_server_helper.py @@ -23,7 +23,8 @@ class DaosPrivHelperTest(TestWithServers): """ def test_daos_server_helper_format(self): - """JIRA ID: DAOS-2895. + """ +JIRA ID: DAOS-2895. Test Description: Test daos_server_helper functionality to perform format privileged @@ -33,6 +34,7 @@ def test_daos_server_helper_format(self): :avocado: tags=hw,medium :avocado: tags=control,basic,daos_server_helper :avocado: tags=DaosPrivHelperTest,test_daos_server_helper_format + """ # Verify that daos_server_helper has the correct permissions # Get the result remotely with os.stat so the format is compatible with local code diff --git a/src/tests/ftest/control/dmg_telemetry_io_basic.py b/src/tests/ftest/control/dmg_telemetry_io_basic.py index c9e079c6208..b315ec44269 100644 --- a/src/tests/ftest/control/dmg_telemetry_io_basic.py +++ b/src/tests/ftest/control/dmg_telemetry_io_basic.py @@ -76,15 +76,17 @@ def display_io_test_metrics(self, metrics_data): metrics_data[key]) def test_io_telemetry_metrics_basic(self): - """JIRA ID: DAOS-5241 + """ +JIRA ID: DAOS-5241 Create files of 500M and 1M with transfer size 1M to verify the DAOS engine IO telemetry basic metrics infrastructure. - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=control,telemetry,basic - :avocado: tags=TestWithTelemetryIOBasic,test_io_telemetry_metrics_basic + :avocado: tags=all,pr,daily_regression + :avocado: tags=hw,medium + :avocado: tags=control,telemetry,basic + :avocado: tags=TestWithTelemetryIOBasic,test_io_telemetry_metrics_basic + """ block_sizes = self.params.get("block_sizes", "/run/*") transfer_sizes = self.params.get("transfer_sizes", "/run/*") diff --git a/src/tests/ftest/control/dmg_telemetry_nvme.py b/src/tests/ftest/control/dmg_telemetry_nvme.py index 0e211d8d617..4a21b8299a9 100644 --- a/src/tests/ftest/control/dmg_telemetry_nvme.py +++ b/src/tests/ftest/control/dmg_telemetry_nvme.py @@ -27,14 +27,16 @@ def display_nvme_test_metrics(self, metrics_data): "Initial " if key == 0 else "Test Loop {}".format(key), metrics_data[key]) def test_nvme_telemetry_metrics(self): - """JIRA ID: DAOS-7833. + """ +JIRA ID: DAOS-7833. Verify the telemetry engine NVMe metrics. - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=control,telemetry,nvme - :avocado: tags=TestWithTelemetryNvme,test_nvme_telemetry_metrics + :avocado: tags=all,pr,daily_regression + :avocado: tags=hw,medium + :avocado: tags=control,telemetry,nvme + :avocado: tags=TestWithTelemetryNvme,test_nvme_telemetry_metrics + """ metrics_data = self.telemetry.get_nvme_metrics() self.display_nvme_test_metrics(metrics_data) @@ -62,7 +64,8 @@ def test_nvme_telemetry_metrics(self): self.log.info("------Test passed------") def test_telemetry_list_nvme(self): - """JIRA ID: DAOS-7667 / SRS-324. + """ +JIRA ID: DAOS-7667 / SRS-324. Test Description: Verify the dmg telemetry list command. @@ -71,5 +74,6 @@ def test_telemetry_list_nvme(self): :avocado: tags=hw,medium :avocado: tags=control,telemetry,nvme :avocado: tags=TestWithTelemetryNvme,test_telemetry_list_nvme + """ self.verify_telemetry_list() diff --git a/src/tests/ftest/daos_racer/simple.py b/src/tests/ftest/daos_racer/simple.py index 6227506c37d..88f0fb11092 100644 --- a/src/tests/ftest/daos_racer/simple.py +++ b/src/tests/ftest/daos_racer/simple.py @@ -15,7 +15,8 @@ class DaosRacerSimpleTest(TestWithServers): """ def test_daos_racer_simple(self): - """JIRA-3855: daos_racer/consistency checker test. + """ +JIRA-3855: daos_racer/consistency checker test. Test Description: The daos_racer test tool generates a bunch of simultaneous, @@ -32,6 +33,7 @@ def test_daos_racer_simple(self): :avocado: tags=hw,medium :avocado: tags=io,daos_racer :avocado: tags=DaosRacerSimpleTest,test_daos_racer_simple + """ dmg = self.get_dmg_command() self.assertGreater( diff --git a/src/tests/ftest/daos_test/rebuild.py b/src/tests/ftest/daos_test/rebuild.py index e1d8de4052b..8adc455256a 100644 --- a/src/tests/ftest/daos_test/rebuild.py +++ b/src/tests/ftest/daos_test/rebuild.py @@ -16,7 +16,8 @@ class DaosCoreTestRebuild(DaosCoreBase): """ def test_rebuild_0to10(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=0-10 @@ -28,11 +29,13 @@ def test_rebuild_0to10(self): :avocado: tags=hw,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_0to10 + """ self.run_subtest() def test_rebuild_12to15(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=12-15 @@ -44,11 +47,13 @@ def test_rebuild_12to15(self): :avocado: tags=hw,2,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_12to15 + """ self.run_subtest() def test_rebuild_16(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=16 @@ -60,11 +65,13 @@ def test_rebuild_16(self): :avocado: tags=hw,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_16 + """ self.run_subtest() def test_rebuild_17(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=17 @@ -76,11 +83,14 @@ def test_rebuild_17(self): :avocado: tags=hw,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_17 + """ self.run_subtest() def test_rebuild_18(self): - """Jira ID: DAOS-2770 + """ + +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=18 @@ -88,15 +98,18 @@ def test_rebuild_18(self): Use cases: Core tests for daos_test rebuild - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=unittest,rebuild - :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_18 +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium +:avocado: tags=unittest,rebuild +:avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_18 + + """ self.run_subtest() def test_rebuild_19(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=19 @@ -108,11 +121,13 @@ def test_rebuild_19(self): :avocado: tags=hw,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_19 + """ self.run_subtest() def test_rebuild_20(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=20 @@ -124,11 +139,13 @@ def test_rebuild_20(self): :avocado: tags=hw,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_20 + """ self.run_subtest() def test_rebuild_21(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=21 @@ -140,11 +157,13 @@ def test_rebuild_21(self): :avocado: tags=hw,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_21 + """ self.run_subtest() def test_rebuild_22(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=22 @@ -156,11 +175,13 @@ def test_rebuild_22(self): :avocado: tags=hw,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_22 + """ self.run_subtest() def test_rebuild_23(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=23 @@ -172,11 +193,13 @@ def test_rebuild_23(self): :avocado: tags=hw,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_23 + """ self.run_subtest() def test_rebuild_24(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=24 @@ -188,11 +211,13 @@ def test_rebuild_24(self): :avocado: tags=hw,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_24 + """ self.run_subtest() def test_rebuild_25(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=25 @@ -204,11 +229,13 @@ def test_rebuild_25(self): :avocado: tags=hw,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_25 + """ self.run_subtest() def test_rebuild_26(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=26 @@ -220,11 +247,13 @@ def test_rebuild_26(self): :avocado: tags=hw,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_26 + """ self.run_subtest() def test_rebuild_27(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=27 @@ -236,11 +265,13 @@ def test_rebuild_27(self): :avocado: tags=hw,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_27 + """ self.run_subtest() def test_rebuild_28(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=28 @@ -252,11 +283,13 @@ def test_rebuild_28(self): :avocado: tags=hw,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_28 + """ self.run_subtest() def test_rebuild_29(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s5 -u subtests=29 @@ -268,11 +301,13 @@ def test_rebuild_29(self): :avocado: tags=hw,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_29 + """ self.run_subtest() def test_rebuild_30(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s5 -u subtests=30 @@ -284,6 +319,7 @@ def test_rebuild_30(self): :avocado: tags=hw,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_30 + """ self.run_subtest() @@ -297,7 +333,7 @@ def test_rebuild_31(self): Core tests for daos_test rebuild :avocado: tags=all,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_31 """ @@ -313,7 +349,7 @@ def test_rebuild_32(self): Core tests for daos_test rebuild :avocado: tags=all,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_32 """ @@ -329,7 +365,7 @@ def test_rebuild_33(self): Core tests for daos_test rebuild :avocado: tags=all,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_33 """ @@ -345,7 +381,7 @@ def test_rebuild_34(self): Core tests for daos_test rebuild :avocado: tags=all,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_34 """ @@ -361,7 +397,7 @@ def test_rebuild_35(self): Core tests for daos_test rebuild :avocado: tags=all,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_35 """ @@ -377,7 +413,7 @@ def test_rebuild_36(self): Core tests for daos_test rebuild :avocado: tags=all,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_36 """ @@ -393,7 +429,7 @@ def test_rebuild_37(self): Core tests for daos_test rebuild :avocado: tags=all,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_37 """ diff --git a/src/tests/ftest/daos_test/suite.py b/src/tests/ftest/daos_test/suite.py index 3be9b5afe7b..8e5e85cb253 100644 --- a/src/tests/ftest/daos_test/suite.py +++ b/src/tests/ftest/daos_test/suite.py @@ -31,7 +31,8 @@ def test_daos_degraded_mode(self): self.run_subtest() def test_daos_management(self): - """Jira ID: DAOS-1568 + """ +Jira ID: DAOS-1568 Test Description: Run daos_test -m @@ -43,11 +44,13 @@ def test_daos_management(self): :avocado: tags=hw,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_management + """ self.run_subtest() def test_daos_pool(self): - """Jira ID: DAOS-1568 + """ +Jira ID: DAOS-1568 Test Description: Run daos_test -p @@ -59,11 +62,13 @@ def test_daos_pool(self): :avocado: tags=hw,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_pool + """ self.run_subtest() def test_daos_container(self): - """Jira ID: DAOS-1568 + """ +Jira ID: DAOS-1568 Test Description: Run daos_test -c @@ -75,11 +80,14 @@ def test_daos_container(self): :avocado: tags=hw,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_container + """ self.run_subtest() def test_daos_epoch(self): - """Jira ID: DAOS-1568 + """ + +Jira ID: DAOS-1568 Test Description: Run daos_test -e @@ -87,15 +95,19 @@ def test_daos_epoch(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_epoch +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_epoch + + """ self.run_subtest() def test_daos_single_rdg_tx(self): - """Jira ID: DAOS-1568 + """ + +Jira ID: DAOS-1568 Test Description: Run daos_test -t @@ -103,15 +115,19 @@ def test_daos_single_rdg_tx(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_single_rdg_tx +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_single_rdg_tx + + """ self.run_subtest() def test_daos_distributed_tx(self): - """Jira ID: DAOS-1568 + """ + +Jira ID: DAOS-1568 Test Description: Run daos_test -T @@ -119,15 +135,18 @@ def test_daos_distributed_tx(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_distributed_tx +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_distributed_tx + + """ self.run_subtest() def test_daos_verify_consistency(self): - """Jira ID: DAOS-1568 + """ +Jira ID: DAOS-1568 Test Description: Run daos_test -V @@ -139,11 +158,13 @@ def test_daos_verify_consistency(self): :avocado: tags=hw,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_verify_consistency + """ self.run_subtest() def test_daos_io(self): - """Jira ID: DAOS-1568 + """ +Jira ID: DAOS-1568 Test Description: Run daos_test -i @@ -155,11 +176,13 @@ def test_daos_io(self): :avocado: tags=hw,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_io + """ self.run_subtest() def test_daos_ec_io(self): - """Jira ID: DAOS-1568 + """ +Jira ID: DAOS-1568 Test Description: Run daos_test -i -l"EC_4P2G1" @@ -171,11 +194,13 @@ def test_daos_ec_io(self): :avocado: tags=hw,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_ec_io + """ self.run_subtest() def test_daos_ec_obj(self): - """Jira ID: DAOS-1568 + """ +Jira ID: DAOS-1568 Test Description: Run daos_test -I @@ -187,11 +212,14 @@ def test_daos_ec_obj(self): :avocado: tags=hw,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_ec_obj + """ self.run_subtest() def test_daos_object_array(self): - """Jira ID: DAOS-1568 + """ + +Jira ID: DAOS-1568 Test Description: Run daos_test -A @@ -199,15 +227,19 @@ def test_daos_object_array(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_object_array +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_object_array + + """ self.run_subtest() def test_daos_array(self): - """Jira ID: DAOS-1568 + """ + +Jira ID: DAOS-1568 Test Description: Run daos_test -D @@ -215,15 +247,19 @@ def test_daos_array(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_array +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_array + + """ self.run_subtest() def test_daos_kv(self): - """Jira ID: DAOS-1568 + """ + +Jira ID: DAOS-1568 Test Description: Run daos_test -K @@ -231,15 +267,19 @@ def test_daos_kv(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_kv +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_kv + + """ self.run_subtest() def test_daos_capability(self): - """Jira ID: DAOS-1568 + """ + +Jira ID: DAOS-1568 Test Description: Run daos_test -C @@ -247,15 +287,19 @@ def test_daos_capability(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_capability +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_capability + + """ self.run_subtest() def test_daos_epoch_recovery(self): - """Jira ID: DAOS-1568 + """ + +Jira ID: DAOS-1568 Test Description: Run daos_test -o @@ -263,15 +307,19 @@ def test_daos_epoch_recovery(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_epoch_recovery +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_epoch_recovery + + """ self.run_subtest() def test_daos_md_replication(self): - """Jira ID: DAOS-1568 + """ + +Jira ID: DAOS-1568 Test Description: Run daos_test -R @@ -279,15 +327,18 @@ def test_daos_md_replication(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_md_replication +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_md_replication + + """ self.run_subtest() def test_daos_rebuild_simple(self): - """Jira ID: DAOS-1568 + """ +Jira ID: DAOS-1568 Test Description: Run daos_test -v @@ -299,11 +350,14 @@ def test_daos_rebuild_simple(self): :avocado: tags=hw,medium,provider :avocado: tags=daos_test,daos_core_test,rebuild :avocado: tags=DaosCoreTest,test_daos_rebuild_simple + """ self.run_subtest() def test_daos_drain_simple(self): - """Jira ID: DAOS-1568 + """ + +Jira ID: DAOS-1568 Test Description: Run daos_test -b @@ -311,15 +365,19 @@ def test_daos_drain_simple(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test,rebuild - :avocado: tags=DaosCoreTest,test_daos_drain_simple +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium,provider +:avocado: tags=daos_test,daos_core_test,rebuild +:avocado: tags=DaosCoreTest,test_daos_drain_simple + + """ self.run_subtest() def test_daos_extend_simple(self): - """Jira ID: DAOS-1568 + """ + +Jira ID: DAOS-1568 Test Description: Run daos_test -B @@ -327,15 +385,19 @@ def test_daos_extend_simple(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test,rebuild - :avocado: tags=DaosCoreTest,test_daos_extend_simple +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium,provider +:avocado: tags=daos_test,daos_core_test,rebuild +:avocado: tags=DaosCoreTest,test_daos_extend_simple + + """ self.run_subtest() def test_daos_rebuild_interactive(self): - """Jira ID: DAOS-17358 + """ + +Jira ID: DAOS-17358 Test Description: Run daos_test -j @@ -343,15 +405,19 @@ def test_daos_rebuild_interactive(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test,rebuild - :avocado: tags=DaosCoreTest,test_daos_rebuild_interactive +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium,provider +:avocado: tags=daos_test,daos_core_test,rebuild +:avocado: tags=DaosCoreTest,test_daos_rebuild_interactive + + """ self.run_subtest() def test_daos_oid_allocator(self): - """Jira ID: DAOS-1568 + """ + +Jira ID: DAOS-1568 Test Description: Run daos_test -O @@ -359,15 +425,18 @@ def test_daos_oid_allocator(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_oid_allocator +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_oid_allocator + + """ self.run_subtest() def test_daos_checksum(self): - """Jira ID: DAOS-1568 + """ +Jira ID: DAOS-1568 Test Description: Run daos_test -z @@ -379,11 +448,13 @@ def test_daos_checksum(self): :avocado: tags=hw,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_checksum + """ self.run_subtest() def test_daos_rebuild_ec(self): - """Jira ID: DAOS-1568 + """ +Jira ID: DAOS-1568 Test Description: Run daos_test -S @@ -395,11 +466,14 @@ def test_daos_rebuild_ec(self): :avocado: tags=hw,medium,provider :avocado: tags=daos_test,daos_core_test,rebuild :avocado: tags=DaosCoreTest,test_daos_rebuild_ec + """ self.run_subtest() def test_daos_aggregate_ec(self): - """Jira ID: DAOS-1568 + """ + +Jira ID: DAOS-1568 Test Description: Run daos_test -Z @@ -407,15 +481,19 @@ def test_daos_aggregate_ec(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_aggregate_ec +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_aggregate_ec + + """ self.run_subtest() def test_daos_degraded_ec(self): - """Jira ID: DAOS-1568 + """ + +Jira ID: DAOS-1568 Test Description: Run daos_test -X @@ -423,15 +501,19 @@ def test_daos_degraded_ec(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_degraded_ec +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_degraded_ec + + """ self.run_subtest() def test_daos_dedup(self): - """Jira ID: DAOS-1568 + """ + +Jira ID: DAOS-1568 Test Description: Run daos_test -U @@ -439,15 +521,19 @@ def test_daos_dedup(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_dedup +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_dedup + + """ self.run_subtest() def test_daos_upgrade(self): - """Jira ID: DAOS-10681 + """ + +Jira ID: DAOS-10681 Test Description: Run daos_test -G @@ -455,15 +541,18 @@ def test_daos_upgrade(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_upgrade +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_upgrade + + """ self.run_subtest() def test_daos_pipeline(self): - """Jira ID: DAOS-13160 + """ +Jira ID: DAOS-13160 Test Description: Run daos_test -P @@ -475,5 +564,6 @@ def test_daos_pipeline(self): :avocado: tags=hw,medium,provider :avocado: tags=daos_test,daos_core_test,faults :avocado: tags=DaosCoreTest,test_daos_pipeline + """ self.run_subtest() diff --git a/src/tests/ftest/io/io_consistency.py b/src/tests/ftest/io/io_consistency.py index a7e76a32c82..ef6dc1ce781 100644 --- a/src/tests/ftest/io/io_consistency.py +++ b/src/tests/ftest/io/io_consistency.py @@ -14,7 +14,9 @@ class IoConsistency(IorTestBase): """ def test_ioconsistency(self): - """Jira ID: DAOS-4778. + """ + +Jira ID: DAOS-4778. Test Description: Run IOR first using DFS and then using POSIX to verify data @@ -31,11 +33,13 @@ def test_ioconsistency(self): work without issues. Repeat the same steps as above for SSF this time. - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=io,daosio,ior,dfuse - :avocado: tags=IoConsistency,test_ioconsistency - :avocado: tags=DAOS_5610 +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium +:avocado: tags=io,daosio,ior,dfuse +:avocado: tags=IoConsistency,test_ioconsistency +:avocado: tags=DAOS_5610 + + """ # test params apis_flags = self.params.get("api_flag", "/run/ior/io_consistency/*") diff --git a/src/tests/ftest/ior/small.py b/src/tests/ftest/ior/small.py index 920d1749844..8bec896cafb 100644 --- a/src/tests/ftest/ior/small.py +++ b/src/tests/ftest/ior/small.py @@ -16,7 +16,9 @@ class IorSmall(IorTestBase): """ def test_ior_small(self): - """Jira ID: DAOS-2715, DAOS-3657, DAOS-4909, DAOS-9947. + """ + +Jira ID: DAOS-2715, DAOS-3657, DAOS-4909, DAOS-9947. Test Description: Verify basic IOR functionality with various APIs. @@ -26,10 +28,12 @@ def test_ior_small(self): Repeat for various IOR APIs and configurations. Run ior with Read, Write, CheckWrite, CheckRead in FPP mode. - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=daosio,mpiio,checksum,mpich,dfuse,ior,dfs,hdf5 - :avocado: tags=IorSmall,test_ior_small +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium +:avocado: tags=daosio,mpiio,checksum,mpich,dfuse,ior,dfs,hdf5 +:avocado: tags=IorSmall,test_ior_small + + """ cncl_tickets = [] flags = self.params.get("ior_flags", '/run/ior/iorflags/*') diff --git a/src/tests/ftest/mdtest/small.py b/src/tests/ftest/mdtest/small.py index b58202a245c..c275fc634c2 100644 --- a/src/tests/ftest/mdtest/small.py +++ b/src/tests/ftest/mdtest/small.py @@ -15,7 +15,9 @@ class MdtestSmall(MdtestBase): """ def test_mdtest_small(self): - """Jira ID: DAOS-2493, DAOS-10054. + """ + +Jira ID: DAOS-2493, DAOS-10054. Test Description: Verify MDTest functionality with various configurations. @@ -23,10 +25,12 @@ def test_mdtest_small(self): Use Cases: Run MDTest with various APIs and configurations. - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=mdtest,checksum,dfs,dfuse - :avocado: tags=MdtestSmall,test_mdtest_small +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium +:avocado: tags=mdtest,checksum,dfs,dfuse +:avocado: tags=MdtestSmall,test_mdtest_small + + """ mdtest_params = self.params.get("mdtest_params", "/run/mdtest/*") self.run_mdtest_multiple_variants(mdtest_params) diff --git a/src/tests/ftest/mpiio/romio.py b/src/tests/ftest/mpiio/romio.py index a5a205c4df1..6a704b4e86b 100644 --- a/src/tests/ftest/mpiio/romio.py +++ b/src/tests/ftest/mpiio/romio.py @@ -14,15 +14,19 @@ class Romio(MpiioTests): """ def test_romio(self): - """Test ID: DAOS-1994. + """ + +Test ID: DAOS-1994. Run Romio test provided in mpich package Testing various I/O functions provided in romio test suite - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=mpiio,mpich,romio - :avocado: tags=Romio,test_romio +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium +:avocado: tags=mpiio,mpich,romio +:avocado: tags=Romio,test_romio + + """ # setting romio parameters test_repo = self.params.get("romio_repo", '/run/romio/') diff --git a/src/tests/ftest/osa/offline_drain.py b/src/tests/ftest/osa/offline_drain.py index b7443e31144..b651a83b9d0 100644 --- a/src/tests/ftest/osa/offline_drain.py +++ b/src/tests/ftest/osa/offline_drain.py @@ -145,14 +145,18 @@ def run_offline_drain_test(self, num_pool, ranks, data=False, oclass=None, pool_ self.container.check() def test_osa_offline_drain(self): - """JIRA ID: DAOS-4750. + """ + +JIRA ID: DAOS-4750. Test Description: Validate Offline Drain - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=osa,osa_drain,offline_drain,checksum,ior - :avocado: tags=OSAOfflineDrain,test_osa_offline_drain +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium +:avocado: tags=osa,osa_drain,offline_drain,checksum,ior +:avocado: tags=OSAOfflineDrain,test_osa_offline_drain + + """ self.log.info("Offline Drain : Basic Drain") ranks = self.get_random_test_ranks() diff --git a/src/tests/ftest/osa/offline_reintegration.py b/src/tests/ftest/osa/offline_reintegration.py index d72e61002ac..f3de38c5949 100644 --- a/src/tests/ftest/osa/offline_reintegration.py +++ b/src/tests/ftest/osa/offline_reintegration.py @@ -184,15 +184,19 @@ def run_offline_reintegration_test(self, num_pool, ranks, data=False, server_boo self.container.check() def test_osa_offline_reintegration_without_checksum(self): - """Test ID: DAOS-6923. + """ + +Test ID: DAOS-6923. Test Description: Validate Offline Reintegration without enabling checksum in container properties. - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=osa,offline_reintegration,ior - :avocado: tags=OSAOfflineReintegration,test_osa_offline_reintegration_without_checksum +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium +:avocado: tags=osa,offline_reintegration,ior +:avocado: tags=OSAOfflineReintegration,test_osa_offline_reintegration_without_checksum + + """ self.test_with_checksum = self.params.get("test_with_checksum", '/run/checksum/*') self.log.info("Offline Reintegration : Without Checksum") @@ -214,14 +218,18 @@ def test_osa_offline_reintegration_multiple_pools(self): self.run_offline_reintegration_test(num_pool=5, data=True, ranks=ranks) def test_osa_offline_reintegration_server_stop(self): - """Test ID: DAOS-6748. + """ + +Test ID: DAOS-6748. Test Description: Validate Offline Reintegration with server stop - :avocado: tags=all,pr,full_regression - :avocado: tags=hw,medium - :avocado: tags=osa,checksum,offline_reintegration,ior - :avocado: tags=OSAOfflineReintegration,test_osa_offline_reintegration_server_stop +:avocado: tags=all,pr,full_regression +:avocado: tags=hw,medium +:avocado: tags=osa,checksum,offline_reintegration,ior +:avocado: tags=OSAOfflineReintegration,test_osa_offline_reintegration_server_stop + + """ self.log.info("Offline Reintegration : System Start/Stop") ranks = self.get_random_test_ranks() diff --git a/src/tests/ftest/osa/online_drain.py b/src/tests/ftest/osa/online_drain.py index f044ad38af5..44c5707212d 100644 --- a/src/tests/ftest/osa/online_drain.py +++ b/src/tests/ftest/osa/online_drain.py @@ -177,15 +177,19 @@ def test_osa_online_drain_with_aggregation(self): self.run_online_drain_test(num_pool=1, ranks=ranks) def test_osa_online_drain_mdtest(self): - """Test ID: DAOS-4750 + """ + +Test ID: DAOS-4750 Test Description: Validate Online drain with mdtest running during the testing. - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=osa,checksum - :avocado: tags=osa_drain,online_drain,online_drain_mdtest - :avocado: tags=OSAOnlineDrain,test_osa_online_drain_mdtest +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium +:avocado: tags=osa,checksum +:avocado: tags=osa_drain,online_drain,online_drain_mdtest +:avocado: tags=OSAOnlineDrain,test_osa_online_drain_mdtest + + """ self.log.info("Online Drain : With Mdtest") ranks = self.get_random_test_ranks() diff --git a/src/tests/ftest/osa/online_extend.py b/src/tests/ftest/osa/online_extend.py index d8c8b18e607..6471de068ef 100644 --- a/src/tests/ftest/osa/online_extend.py +++ b/src/tests/ftest/osa/online_extend.py @@ -161,27 +161,35 @@ def run_online_extend_test(self, num_pool, racer=False, oclass=None, app_name="i self.container.check() def test_osa_online_extend(self): - """Test ID: DAOS-4751. + """ + +Test ID: DAOS-4751. Test Description: Validate Online extend with checksum enabled. - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=osa,checksum,osa_extend,online_extend - :avocado: tags=OSAOnlineExtend,test_osa_online_extend +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium +:avocado: tags=osa,checksum,osa_extend,online_extend +:avocado: tags=OSAOnlineExtend,test_osa_online_extend + + """ self.log.info("Online Extend : With Checksum") self.run_online_extend_test(1) def test_osa_online_extend_without_checksum(self): - """Test ID: DAOS-6645. + """ + +Test ID: DAOS-6645. Test Description: Validate Online extend without checksum enabled. - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=osa,checksum,osa_extend,online_extend - :avocado: tags=OSAOnlineExtend,test_osa_online_extend_without_checksum +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium +:avocado: tags=osa,checksum,osa_extend,online_extend +:avocado: tags=OSAOnlineExtend,test_osa_online_extend_without_checksum + + """ self.log.info("Online Extend : Without Checksum") self.test_with_checksum = self.params.get("test_with_checksum", @@ -189,40 +197,52 @@ def test_osa_online_extend_without_checksum(self): self.run_online_extend_test(1) def test_osa_online_extend_oclass(self): - """Test ID: DAOS-6645. + """ + +Test ID: DAOS-6645. Test Description: Validate Online extend with different object class. - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=osa,checksum,osa_extend,online_extend - :avocado: tags=OSAOnlineExtend,test_osa_online_extend_oclass +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium +:avocado: tags=osa,checksum,osa_extend,online_extend +:avocado: tags=OSAOnlineExtend,test_osa_online_extend_oclass + + """ self.log.info("Online Extend : Oclass") self.run_online_extend_test(1, oclass=self.test_oclass[0]) def test_osa_online_extend_mdtest(self): - """Test ID: DAOS-6645. + """ + +Test ID: DAOS-6645. Test Description: Validate Online extend with mdtest application. - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=osa,checksum,osa_extend,online_extend - :avocado: tags=OSAOnlineExtend,test_osa_online_extend_mdtest +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium +:avocado: tags=osa,checksum,osa_extend,online_extend +:avocado: tags=OSAOnlineExtend,test_osa_online_extend_mdtest + + """ self.log.info("Online Extend : Mdtest") self.run_online_extend_test(1, app_name="mdtest") def test_osa_online_extend_with_aggregation(self): - """Test ID: DAOS-6645. + """ + +Test ID: DAOS-6645. Test Description: Validate Online extend with aggregation on. - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=osa,checksum,osa_extend,online_extend - :avocado: tags=OSAOnlineExtend,test_osa_online_extend_with_aggregation +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium +:avocado: tags=osa,checksum,osa_extend,online_extend +:avocado: tags=OSAOnlineExtend,test_osa_online_extend_with_aggregation + + """ self.log.info("Online Extend : Aggregation") self.test_during_aggregation = self.params.get("test_with_aggregation", diff --git a/src/tests/ftest/osa/online_parallel_test.py b/src/tests/ftest/osa/online_parallel_test.py index cf473038f55..e9094eafb55 100644 --- a/src/tests/ftest/osa/online_parallel_test.py +++ b/src/tests/ftest/osa/online_parallel_test.py @@ -188,6 +188,8 @@ def run_online_parallel_test(self, num_pool, racer=False): @skipForTicket("DAOS-6664") def test_osa_online_parallel_test(self): """ + + JIRA ID: DAOS-4752 Test Description: Runs multiple OSA commands/IO in parallel @@ -196,5 +198,7 @@ def test_osa_online_parallel_test(self): :avocado: tags=hw,medium :avocado: tags=osa,checksum,osa_parallel :avocado: tags=OSAOnlineParallelTest,test_osa_online_parallel_test + + """ self.run_online_parallel_test(1) diff --git a/src/tests/ftest/pool/create.py b/src/tests/ftest/pool/create.py index c40ff35d9ac..51181a380be 100644 --- a/src/tests/ftest/pool/create.py +++ b/src/tests/ftest/pool/create.py @@ -60,7 +60,8 @@ def test_create_max_pool(self): check_pool_creation(self, [pool], 120) def test_create_no_space_loop(self): - """JIRA ID: DAOS-3728. + """ +JIRA ID: DAOS-3728. Test Description: Create a pool using most of the capacity of one server on only one @@ -75,6 +76,7 @@ def test_create_no_space_loop(self): :avocado: tags=hw,medium :avocado: tags=pool :avocado: tags=PoolCreateTests,test_create_no_space_loop + """ # Define three pools to create: # - one pool using almost all of the available capacity of one server diff --git a/src/tests/ftest/pool/create_query.py b/src/tests/ftest/pool/create_query.py index 84593d7a547..b30214cac7a 100644 --- a/src/tests/ftest/pool/create_query.py +++ b/src/tests/ftest/pool/create_query.py @@ -24,7 +24,8 @@ def setUp(self): super().setUp() def test_create_and_query(self): - """JIRA ID: DAOS-10339 + """ +JIRA ID: DAOS-10339 Test Description: Create a pool and check that the size of the response is close enough to the requested @@ -35,6 +36,7 @@ def test_create_and_query(self): :avocado: tags=hw,medium :avocado: tags=pool :avocado: tags=PoolCreateQueryTests,test_create_and_query + """ # Create pool pool = add_pool(self) diff --git a/src/tests/ftest/rebuild/pool_destroy_race.py b/src/tests/ftest/rebuild/pool_destroy_race.py index f225f526f4a..b74cb02dd31 100644 --- a/src/tests/ftest/rebuild/pool_destroy_race.py +++ b/src/tests/ftest/rebuild/pool_destroy_race.py @@ -21,7 +21,9 @@ class RbldPoolDestroyWithIO(TestWithServers): """ def test_pool_destroy_with_io(self): - """Jira ID: DAOS-3794. + """ + +Jira ID: DAOS-3794. Test Description: Destroy pool when rebuild is ongoing. I/O performed using IOR. @@ -34,10 +36,12 @@ def test_pool_destroy_with_io(self): Destroy Pool during rebuild. Re-create pool on remaining ranks. - :avocado: tags=all,pr - :avocado: tags=hw,medium - :avocado: tags=pool,rebuild,ior - :avocado: tags=RbldPoolDestroyWithIO,test_pool_destroy_with_io +:avocado: tags=all,pr +:avocado: tags=hw,medium +:avocado: tags=pool,rebuild,ior +:avocado: tags=RbldPoolDestroyWithIO,test_pool_destroy_with_io + + """ containers = [] diff --git a/src/tests/ftest/scrubber/basic.py b/src/tests/ftest/scrubber/basic.py index e4f6b85ef06..a02601e4734 100644 --- a/src/tests/ftest/scrubber/basic.py +++ b/src/tests/ftest/scrubber/basic.py @@ -35,7 +35,9 @@ def run_scrubber_basic(self): self.log.info("------Test passed------") def test_scrubber_disabled_during_pool_creation(self): - """JIRA ID: DAOS-7371 + """ + +JIRA ID: DAOS-7371 1. Create a test pool without scrubber properties 2. Enable scrubber on a test pool and gather @@ -44,11 +46,13 @@ def test_scrubber_disabled_during_pool_creation(self): scrubber statistics 3. Disable checksum on a container and run IOR. Gather scrubber statistics. - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=scrubber - :avocado: tags=TestWithScrubberBasic,test_scrubber_disabled_during_pool_creation +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium +:avocado: tags=scrubber +:avocado: tags=TestWithScrubberBasic,test_scrubber_disabled_during_pool_creation + + """ other_properties = self.params.get("other_properties", '/run/pool/*') @@ -62,7 +66,9 @@ def test_scrubber_disabled_during_pool_creation(self): self.run_scrubber_basic() def test_scrubber_enabled_during_pool_creation(self): - """JIRA ID: DAOS-7371 + """ + +JIRA ID: DAOS-7371 1. Create a test pool with scrubber properties 2. Enable scrubber on a test pool creation. @@ -70,11 +76,13 @@ def test_scrubber_enabled_during_pool_creation(self): scrubber statistics 3. Disable checksum on a container and run IOR. Gather scrubber statistics. - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=scrubber - :avocado: tags=TestWithScrubberBasic,test_scrubber_enabled_during_pool_creation +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium +:avocado: tags=scrubber +:avocado: tags=TestWithScrubberBasic,test_scrubber_enabled_during_pool_creation + + """ pool_properties = self.params.get("properties", '/run/pool/*') other_properties = self.params.get("other_properties", '/run/pool/*') diff --git a/src/tests/ftest/scrubber/csum_fault.py b/src/tests/ftest/scrubber/csum_fault.py index 431e7170327..aef93df80ad 100644 --- a/src/tests/ftest/scrubber/csum_fault.py +++ b/src/tests/ftest/scrubber/csum_fault.py @@ -16,15 +16,19 @@ class TestWithScrubberFault(TestWithScrubber): :avocado: recursive """ def test_scrubber_csum_fault(self): - """JIRA ID: DAOS-7333 + """ + +JIRA ID: DAOS-7333 1. Create checksum faults and see whether scrubber finds them. - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=scrubber,faults - :avocado: tags=TestWithScrubberFault,test_scrubber_csum_fault +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium +:avocado: tags=scrubber,faults +:avocado: tags=TestWithScrubberFault,test_scrubber_csum_fault + + """ flags = self.params.get("ior_flags", '/run/ior/iorflags/*') apis = self.params.get("ior_api", '/run/ior/iorflags/*') diff --git a/src/tests/ftest/scrubber/target_auto_eviction.py b/src/tests/ftest/scrubber/target_auto_eviction.py index d602b0405c3..77087af60bb 100644 --- a/src/tests/ftest/scrubber/target_auto_eviction.py +++ b/src/tests/ftest/scrubber/target_auto_eviction.py @@ -17,14 +17,18 @@ class TestWithScrubberTargetEviction(TestWithScrubber): :avocado: recursive """ def test_scrubber_ssd_auto_eviction(self): - """JIRA ID: DAOS-7300 + """ + +JIRA ID: DAOS-7300 1. Create checksum faults above scrubber threshold and see whether SSD auto eviction works as expected. - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium - :avocado: tags=scrubber,faults - :avocado: tags=TestWithScrubberTargetEviction,test_scrubber_ssd_auto_eviction +:avocado: tags=all,pr,daily_regression +:avocado: tags=hw,medium +:avocado: tags=scrubber,faults +:avocado: tags=TestWithScrubberTargetEviction,test_scrubber_ssd_auto_eviction + + """ pool_prop = self.params.get("properties", '/run/pool/*') cont_prop = self.params.get("properties", '/run/container/*') diff --git a/src/tests/ftest/server/replay.py b/src/tests/ftest/server/replay.py index fb4fd23685f..40c183dbd25 100644 --- a/src/tests/ftest/server/replay.py +++ b/src/tests/ftest/server/replay.py @@ -77,7 +77,9 @@ def verify_snapshots(self, container, expected): sorted(expected), sorted(detected), 'Detected snapshots does not match expected') def test_restart(self): - """Verify data access after engine restart w/ WAL replay + w/ check pointing (DAOS-13009). + """ + +Verify data access after engine restart w/ WAL replay + w/ check pointing (DAOS-13009). Tests un-synchronized WAL & VOS @@ -90,10 +92,12 @@ def test_restart(self): 5) Restart each engine (dmg system start) 6) Verify the previously written data matches with an ior read - :avocado: tags=all,pr - :avocado: tags=hw,medium - :avocado: tags=server,replay - :avocado: tags=ReplayTests,test_restart +:avocado: tags=all,pr +:avocado: tags=hw,medium +:avocado: tags=server,replay +:avocado: tags=ReplayTests,test_restart + + """ container = self.create_container() @@ -108,7 +112,8 @@ def test_restart(self): self.log_step('Test passed') def test_replay_posix(self): - """Verify POSIX data access after engine restart (DAOS-13010). + """ +Verify POSIX data access after engine restart (DAOS-13010). Steps: 0) Start 2 DAOS servers with 1 engines on each server (setup) @@ -126,6 +131,7 @@ def test_replay_posix(self): :avocado: tags=hw,medium :avocado: tags=server,replay :avocado: tags=ReplayTests,test_replay_posix + """ container = self.create_container() diff --git a/src/tests/ftest/server/storage_tiers.py b/src/tests/ftest/server/storage_tiers.py index fad085cd0db..9fb067ec160 100644 --- a/src/tests/ftest/server/storage_tiers.py +++ b/src/tests/ftest/server/storage_tiers.py @@ -22,7 +22,8 @@ class StorageTiers(TestWithServers): """ def test_tiers(self): - """JIRA ID: DAOS-1525. + """ +JIRA ID: DAOS-1525. Test Description: Verify storage tiers are correctly obtained from the test yaml file. @@ -32,6 +33,7 @@ def test_tiers(self): :avocado: tags=hw,medium :avocado: tags=server,storage,storage_tiers :avocado: tags=StorageTiers,test_tiers + """ expected = [] for engine in range(2): diff --git a/src/tests/ftest/util/collection_utils.py b/src/tests/ftest/util/collection_utils.py index 7c0d3ccf08d..fc05621ea6e 100644 --- a/src/tests/ftest/util/collection_utils.py +++ b/src/tests/ftest/util/collection_utils.py @@ -750,6 +750,7 @@ def update_jenkins_xml(logger, test, logs_dir, test_result): bool: True if all the xml updates were successful; False if there was error """ logger.info("Updating the xml test result files for use in Jenkins") + stage_name = get_junit_stage_name() # Read the test xml file xml_file = os.path.join(logs_dir, 'results.xml') @@ -759,7 +760,8 @@ def update_jenkins_xml(logger, test, logs_dir, test_result): # Include the functional test directory in the class name of the avocado test xml file launchable_xml = os.path.join(logs_dir, 'xunit1_results.xml') - if not update_test_xml(logger, test, xml_file, xml_data, launchable_xml, test_result): + if not update_test_xml( + logger, test, xml_file, xml_data, launchable_xml, test_result, stage_name): return False # Determine if this test produced any cmocka xml files @@ -782,12 +784,48 @@ def update_jenkins_xml(logger, test, logs_dir, test_result): # Include the functional test directory in the class name of the cmocka xml file if not update_cmocka_xml( - logger, test, cmocka_xml, cmocka_data, test_class, test_result): + logger, test, cmocka_xml, cmocka_data, test_class, test_result, + stage_name): return False return True -def update_test_xml(logger, test, xml_file, xml_data, launchable_xml, test_result): +def get_junit_stage_name(): + """Get a Jenkins stage name that is safe to use in JUnit class names. + + Returns: + str | None: sanitized stage name or None if no stage name is defined + """ + stage_name = os.environ.get("STAGE_NAME", "") + if not stage_name: + return None + stage_name = stage_name.strip() + if not stage_name: + return None + return re.sub(r"[^A-Za-z0-9_.-]+", "_", stage_name) + + +def get_junit_class_prefix(test, stage_name=None, test_class=None): + """Build the JUnit classname prefix for functional tests. + + Args: + test (TestInfo): the test information + stage_name (str, optional): sanitized Jenkins stage name + test_class (str, optional): avocado test class name + + Returns: + str: classname prefix to use when updating test xml + """ + class_prefix = "FTEST_" + if stage_name: + class_prefix = f"{stage_name}/{class_prefix}." + class_prefix = f"{class_prefix}{test.directory}" + if test_class: + class_prefix = f"{class_prefix}.{test_class}" + return class_prefix + + +def update_test_xml(logger, test, xml_file, xml_data, launchable_xml, test_result, stage_name=None): """Update the class name the avocado test results xml file. Also create a launchable xml file from the original avocado test results.xml file data where @@ -801,6 +839,7 @@ def update_test_xml(logger, test, xml_file, xml_data, launchable_xml, test_resul xml_data (str): the data to modify and write to the xml file launchable_xml (str) the launchable test results xml file test_result (TestResult): the test result used to update the status of the test + stage_name (str, optional): sanitized Jenkins stage name Returns: bool: False if there problems updating the test results xml file; True otherwise @@ -809,8 +848,9 @@ def update_test_xml(logger, test, xml_file, xml_data, launchable_xml, test_resul # Update the class name to include the functional test directory pattern = 'classname="' - replacement = f'classname="FTEST_{test.directory}.' - if not update_xml(logger, xml_file, pattern, replacement, xml_data, test_result): + replacement = f'classname="{get_junit_class_prefix(test, stage_name)}.' + xml_data = replace_xml(logger, xml_file, pattern, replacement, xml_data, test_result) + if not xml_data: return False # Create an copy of the test xml for Launchable processing @@ -820,7 +860,8 @@ def update_test_xml(logger, test, xml_file, xml_data, launchable_xml, test_resul return update_xml(logger, launchable_xml, pattern, replacement, xml_data, test_result) -def update_cmocka_xml(logger, test, cmocka_xml, cmocka_data, test_class, test_result): +def update_cmocka_xml(logger, test, cmocka_xml, cmocka_data, test_class, test_result, + stage_name=None): """Update the class name in the cmocka test result xml file. Args: @@ -830,6 +871,7 @@ def update_cmocka_xml(logger, test, cmocka_xml, cmocka_data, test_class, test_re cmocka_data (str): the data to modify and write to the cmocka xml file test_class (str): avocado test class name test_result (TestResult): the test result used to update the status of the test + stage_name (str, optional): sanitized Jenkins stage name Returns: bool: False if there problems updating the cmocka results xml file; True otherwise @@ -855,12 +897,14 @@ def update_cmocka_xml(logger, test, cmocka_xml, cmocka_data, test_class, test_re test_result.fail_test(logger, "Process", message, sys.exc_info()) return False pattern = ' Date: Mon, 4 May 2026 13:02:20 -0600 Subject: [PATCH 2/9] Experimenting with Cluster in a box - just test_daos_rebuild_ec Signed-off-by: Ryon Jensen --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index d94701bd7d6..5532d31499f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -698,7 +698,7 @@ pipeline { pragma_suffix: '-cb-medium-md-on-ssd', label: 'cluster_box', next_version: next_version(), - stage_tags: 'hw,medium', + stage_tags: 'hw,medium,test_daos_rebuild_ec', default_tags: 'pr', nvme: 'auto_md_on_ssd', run_if_pr: true, From cb8ff83d7c2d1cf2843aa2c95586dd2faf88ad31 Mon Sep 17 00:00:00 2001 From: Ryon Jensen Date: Tue, 5 May 2026 19:03:41 -0600 Subject: [PATCH 3/9] Reduced system_ram_reserved for daos_test suite.yaml 64 -> 16 Signed-off-by: Ryon Jensen --- src/tests/ftest/daos_test/suite.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/ftest/daos_test/suite.yaml b/src/tests/ftest/daos_test/suite.yaml index dac9e11dfef..4f50c0170a6 100644 --- a/src/tests/ftest/daos_test/suite.yaml +++ b/src/tests/ftest/daos_test/suite.yaml @@ -68,7 +68,7 @@ server_config: storage: auto transport_config: allow_insecure: true - system_ram_reserved: 64 + system_ram_reserved: 16 agent_config: transport_config: From c92603e227761cbad07bcdf317a88b2ad7d9d726 Mon Sep 17 00:00:00 2001 From: Ryon Jensen Date: Wed, 6 May 2026 06:10:50 -0600 Subject: [PATCH 4/9] Testing all DaosCoreTest with new system_ram_reserved value. Signed-off-by: Ryon Jensen --- Jenkinsfile | 2 +- src/tests/ftest/daos_test/suite.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 5532d31499f..8d0c2467867 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -698,7 +698,7 @@ pipeline { pragma_suffix: '-cb-medium-md-on-ssd', label: 'cluster_box', next_version: next_version(), - stage_tags: 'hw,medium,test_daos_rebuild_ec', + stage_tags: 'hw,medium,DaosCoreTest', default_tags: 'pr', nvme: 'auto_md_on_ssd', run_if_pr: true, diff --git a/src/tests/ftest/daos_test/suite.py b/src/tests/ftest/daos_test/suite.py index 8e5e85cb253..1647fbd8847 100644 --- a/src/tests/ftest/daos_test/suite.py +++ b/src/tests/ftest/daos_test/suite.py @@ -463,7 +463,7 @@ def test_daos_rebuild_ec(self): Core tests for daos_test :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider + :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test,rebuild :avocado: tags=DaosCoreTest,test_daos_rebuild_ec From 6b27e577268f0ebf839b9bf810753edc7be746ff Mon Sep 17 00:00:00 2001 From: Ryon Jensen Date: Wed, 6 May 2026 10:37:07 -0600 Subject: [PATCH 5/9] Testing all DaosCoreTestRebuild Signed-off-by: Ryon Jensen --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 8d0c2467867..b4b1bbcdf5d 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -698,7 +698,7 @@ pipeline { pragma_suffix: '-cb-medium-md-on-ssd', label: 'cluster_box', next_version: next_version(), - stage_tags: 'hw,medium,DaosCoreTest', + stage_tags: 'hw,medium,DaosCoreTestRebuild', default_tags: 'pr', nvme: 'auto_md_on_ssd', run_if_pr: true, From a01701862598ba68449711ef1171163e6724406f Mon Sep 17 00:00:00 2001 From: Ryon Jensen Date: Wed, 6 May 2026 12:26:45 -0600 Subject: [PATCH 6/9] Changes suite.py to cb Signed-off-by: Ryon Jensen --- src/tests/ftest/daos_test/suite.py | 236 +++++++++++++++++++++-------- 1 file changed, 173 insertions(+), 63 deletions(-) diff --git a/src/tests/ftest/daos_test/suite.py b/src/tests/ftest/daos_test/suite.py index 1647fbd8847..b363ede0db9 100644 --- a/src/tests/ftest/daos_test/suite.py +++ b/src/tests/ftest/daos_test/suite.py @@ -15,7 +15,9 @@ class DaosCoreTest(DaosCoreBase): """ def test_daos_degraded_mode(self): - """Jira ID: DAOS-1568 + """ + +Jira ID: DAOS-1568 Test Description: Run daos_test -d @@ -23,10 +25,12 @@ def test_daos_degraded_mode(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_degraded_mode +:avocado: tags=all,pr,daily_regression +:avocado: tags=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_degraded_mode + + """ self.run_subtest() @@ -44,12 +48,14 @@ def test_daos_management(self): :avocado: tags=hw,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_management - + """ self.run_subtest() def test_daos_pool(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -58,16 +64,20 @@ def test_daos_pool(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_pool +:avocado: tags=all,pr,daily_regression +:avocado: tags=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_pool + + """ self.run_subtest() def test_daos_container(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -76,10 +86,12 @@ def test_daos_container(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_container +:avocado: tags=all,pr,daily_regression +:avocado: tags=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_container + + """ self.run_subtest() @@ -87,6 +99,8 @@ def test_daos_container(self): def test_daos_epoch(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -96,17 +110,21 @@ def test_daos_epoch(self): Core tests for daos_test :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium,provider +:avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_epoch + + """ self.run_subtest() def test_daos_single_rdg_tx(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -116,17 +134,21 @@ def test_daos_single_rdg_tx(self): Core tests for daos_test :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium,provider +:avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_single_rdg_tx + + """ self.run_subtest() def test_daos_distributed_tx(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -136,16 +158,20 @@ def test_daos_distributed_tx(self): Core tests for daos_test :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium,provider +:avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_distributed_tx + + """ self.run_subtest() def test_daos_verify_consistency(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -154,16 +180,20 @@ def test_daos_verify_consistency(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_verify_consistency +:avocado: tags=all,pr,daily_regression +:avocado: tags=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_verify_consistency + + """ self.run_subtest() def test_daos_io(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -172,16 +202,20 @@ def test_daos_io(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_io +:avocado: tags=all,pr,daily_regression +:avocado: tags=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_io + + """ self.run_subtest() def test_daos_ec_io(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -190,16 +224,20 @@ def test_daos_ec_io(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_ec_io +:avocado: tags=all,pr,daily_regression +:avocado: tags=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_ec_io + + """ self.run_subtest() def test_daos_ec_obj(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -208,10 +246,12 @@ def test_daos_ec_obj(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_ec_obj +:avocado: tags=all,pr,daily_regression +:avocado: tags=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_ec_obj + + """ self.run_subtest() @@ -219,6 +259,8 @@ def test_daos_ec_obj(self): def test_daos_object_array(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -228,17 +270,21 @@ def test_daos_object_array(self): Core tests for daos_test :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium,provider +:avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_object_array + + """ self.run_subtest() def test_daos_array(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -248,17 +294,21 @@ def test_daos_array(self): Core tests for daos_test :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium,provider +:avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_array + + """ self.run_subtest() def test_daos_kv(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -268,17 +318,21 @@ def test_daos_kv(self): Core tests for daos_test :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium,provider +:avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_kv + + """ self.run_subtest() def test_daos_capability(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -288,17 +342,21 @@ def test_daos_capability(self): Core tests for daos_test :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium,provider +:avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_capability + + """ self.run_subtest() def test_daos_epoch_recovery(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -308,17 +366,21 @@ def test_daos_epoch_recovery(self): Core tests for daos_test :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium,provider +:avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_epoch_recovery + + """ self.run_subtest() def test_daos_md_replication(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -328,16 +390,20 @@ def test_daos_md_replication(self): Core tests for daos_test :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium,provider +:avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_md_replication + + """ self.run_subtest() def test_daos_rebuild_simple(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -346,10 +412,12 @@ def test_daos_rebuild_simple(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test,rebuild - :avocado: tags=DaosCoreTest,test_daos_rebuild_simple +:avocado: tags=all,pr,daily_regression +:avocado: tags=cb,medium,provider +:avocado: tags=daos_test,daos_core_test,rebuild +:avocado: tags=DaosCoreTest,test_daos_rebuild_simple + + """ self.run_subtest() @@ -357,6 +425,8 @@ def test_daos_rebuild_simple(self): def test_daos_drain_simple(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -366,17 +436,21 @@ def test_daos_drain_simple(self): Core tests for daos_test :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium,provider +:avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test,rebuild :avocado: tags=DaosCoreTest,test_daos_drain_simple + + """ self.run_subtest() def test_daos_extend_simple(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -386,17 +460,21 @@ def test_daos_extend_simple(self): Core tests for daos_test :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium,provider +:avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test,rebuild :avocado: tags=DaosCoreTest,test_daos_extend_simple + + """ self.run_subtest() def test_daos_rebuild_interactive(self): """ + + Jira ID: DAOS-17358 Test Description: @@ -406,17 +484,21 @@ def test_daos_rebuild_interactive(self): Core tests for daos_test :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium,provider +:avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test,rebuild :avocado: tags=DaosCoreTest,test_daos_rebuild_interactive + + """ self.run_subtest() def test_daos_oid_allocator(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -426,16 +508,20 @@ def test_daos_oid_allocator(self): Core tests for daos_test :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium,provider +:avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_oid_allocator + + """ self.run_subtest() def test_daos_checksum(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -444,16 +530,19 @@ def test_daos_checksum(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test - :avocado: tags=DaosCoreTest,test_daos_checksum +:avocado: tags=all,pr,daily_regression +:avocado: tags=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_checksum + + """ self.run_subtest() def test_daos_rebuild_ec(self): """ + Jira ID: DAOS-1568 Test Description: @@ -462,10 +551,11 @@ def test_daos_rebuild_ec(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=cb,medium,provider - :avocado: tags=daos_test,daos_core_test,rebuild - :avocado: tags=DaosCoreTest,test_daos_rebuild_ec +:avocado: tags=all,pr,daily_regression +:avocado: tags=cb,medium,provider +:avocado: tags=daos_test,daos_core_test,rebuild +:avocado: tags=DaosCoreTest,test_daos_rebuild_ec + """ self.run_subtest() @@ -473,6 +563,8 @@ def test_daos_rebuild_ec(self): def test_daos_aggregate_ec(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -482,17 +574,21 @@ def test_daos_aggregate_ec(self): Core tests for daos_test :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium,provider +:avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_aggregate_ec + + """ self.run_subtest() def test_daos_degraded_ec(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -502,17 +598,21 @@ def test_daos_degraded_ec(self): Core tests for daos_test :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium,provider +:avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_degraded_ec + + """ self.run_subtest() def test_daos_dedup(self): """ + + Jira ID: DAOS-1568 Test Description: @@ -522,17 +622,21 @@ def test_daos_dedup(self): Core tests for daos_test :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium,provider +:avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_dedup + + """ self.run_subtest() def test_daos_upgrade(self): """ + + Jira ID: DAOS-10681 Test Description: @@ -542,16 +646,20 @@ def test_daos_upgrade(self): Core tests for daos_test :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium,provider +:avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test :avocado: tags=DaosCoreTest,test_daos_upgrade + + """ self.run_subtest() def test_daos_pipeline(self): """ + + Jira ID: DAOS-13160 Test Description: @@ -560,10 +668,12 @@ def test_daos_pipeline(self): Use cases: Core tests for daos_test - :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium,provider - :avocado: tags=daos_test,daos_core_test,faults - :avocado: tags=DaosCoreTest,test_daos_pipeline +:avocado: tags=all,pr,daily_regression +:avocado: tags=cb,medium,provider +:avocado: tags=daos_test,daos_core_test,faults +:avocado: tags=DaosCoreTest,test_daos_pipeline + + """ self.run_subtest() From 1f6a589b068e313001d10bc0bc37b4361cd82317 Mon Sep 17 00:00:00 2001 From: Ryon Jensen Date: Wed, 6 May 2026 14:30:28 -0600 Subject: [PATCH 7/9] Testing OSAOfflineReintegration with ... system_ram_reserved: 16 Signed-off-by: Ryon Jensen --- Jenkinsfile | 2 +- src/tests/ftest/osa/offline_reintegration.yaml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index b4b1bbcdf5d..b7b716762b9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -698,7 +698,7 @@ pipeline { pragma_suffix: '-cb-medium-md-on-ssd', label: 'cluster_box', next_version: next_version(), - stage_tags: 'hw,medium,DaosCoreTestRebuild', + stage_tags: 'hw,medium,OSAOfflineReintegration', default_tags: 'pr', nvme: 'auto_md_on_ssd', run_if_pr: true, diff --git a/src/tests/ftest/osa/offline_reintegration.yaml b/src/tests/ftest/osa/offline_reintegration.yaml index eb72bab82e4..5625e156908 100644 --- a/src/tests/ftest/osa/offline_reintegration.yaml +++ b/src/tests/ftest/osa/offline_reintegration.yaml @@ -13,6 +13,7 @@ setup: skip_add_log_msg: true server_config: + system_ram_reserved: 16 name: daos_server engines_per_host: 2 engines: From aef80288a94168c91df25e4b1f618910deb01bad Mon Sep 17 00:00:00 2001 From: Ryon Jensen Date: Wed, 6 May 2026 17:59:30 -0600 Subject: [PATCH 8/9] Possible solution Signed-off-by: Ryon Jensen --- Jenkinsfile | 97 ++++++++----------- src/tests/ftest/aggregation/basic.yaml | 1 + src/tests/ftest/daos_test/rebuild.py | 68 ++++++------- src/tests/ftest/daos_test/suite.py | 56 +++++------ src/tests/ftest/daos_vol/h5_suite.py | 4 +- src/tests/ftest/dfuse/daos_build.py | 4 +- src/tests/ftest/io/io_consistency.py | 4 +- src/tests/ftest/mpiio/romio.py | 4 +- src/tests/ftest/mpiio/romio.yaml | 1 + src/tests/ftest/osa/offline_reintegration.py | 8 +- src/tests/ftest/osa/online_drain.py | 20 ++-- src/tests/ftest/osa/online_drain.yaml | 1 + src/tests/ftest/osa/online_extend.py | 20 ++-- src/tests/ftest/osa/online_extend.yaml | 1 + src/tests/ftest/osa/online_parallel_test.py | 4 +- src/tests/ftest/pool/create_query.py | 4 +- src/tests/ftest/rebuild/pool_destroy_race.py | 4 +- src/tests/ftest/scrubber/basic.py | 8 +- src/tests/ftest/scrubber/basic.yaml | 1 + src/tests/ftest/scrubber/csum_fault.py | 4 +- src/tests/ftest/scrubber/csum_fault.yaml | 1 + .../ftest/scrubber/target_auto_eviction.py | 4 +- .../ftest/scrubber/target_auto_eviction.yaml | 1 + src/tests/ftest/server/replay.py | 8 +- src/tests/ftest/server/storage_tiers.py | 4 +- 25 files changed, 161 insertions(+), 171 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index b7b716762b9..f2479d35604 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -692,65 +692,48 @@ pipeline { } steps { script { - Map hwStages = [ - 'Functional Cluster Box Medium MD on SSD': getFunctionalTestStage( - name: 'Functional Cluster Box Medium MD on SSD', - pragma_suffix: '-cb-medium-md-on-ssd', - label: 'cluster_box', - next_version: next_version(), - stage_tags: 'hw,medium,OSAOfflineReintegration', - default_tags: 'pr', - nvme: 'auto_md_on_ssd', - run_if_pr: true, - run_if_landing: false, - job_status: job_status_internal, - image_version: 'el9.7', - node_count: 5 - ) + Map hwStages = [:] + + hwStages['Functional Hardware Medium MD on SSD'] = getFunctionalTestStage( + name: 'Functional Hardware Medium MD on SSD', + pragma_suffix: '-cb-medium-md-on-ssd', + label: params.FUNCTIONAL_HARDWARE_MEDIUM_LABEL, + next_version: next_version(), + stage_tags: 'hw,medium', + default_tags: 'pr', + nvme: 'auto_md_on_ssd', + run_if_pr: true, + run_if_landing: false, + job_status: job_status_internal, + image_version: 'el9.7', + node_count: 5 + ) + + List clusterBoxStageTags = [ + 'stage_daos_test_ec', + 'stage_daos_test_rebuild', + 'stage_daos_test', + 'stage_ftest' ] - List clusterBoxStageConfigs = [ - [stage_tag: 'AggregationChecksum', label: 'cluster_box'], - [stage_tag: 'test_daos_rebuild_ec', label: 'cluster_box'], - [stage_tag: 'test_daos_drain_simple', label: 'cluster_box'], - [stage_tag: 'test_daos_rebuild_simple', label: 'cluster_box'], - ] - -// clusterBoxStageConfigs.each { cfg -> -// String stageTag = cfg.stage_tag -// String stageKey = "Functional Cluster Box Medium MD on SSD ${stageTag}" -// echo "BANG echo: stageTag: ${stageTag}, stageKey: ${stageKey}, label: ${cfg.label}" -// println("BANG println: stageTag: ${stageTag}, stageKey: ${stageKey}, label: ${cfg.label}") -// hwStages[stageKey] = getFunctionalTestStage( -// name: stageKey, -// pragma_suffix: '-cb-medium-md-on-ssd', -// label: cfg.label, -// next_version: next_version(), -// stage_tags: "cb,medium,${stageTag}", -// default_tags: startedByTimer() ? 'pr daily_regression' : 'pr', -// nvme: 'auto_md_on_ssd', -// node_count: 5, -// run_if_pr: true, -// run_if_landing: false, -// job_status: job_status_internal -// ) -// } - -// String excludedStageTags = clusterBoxStageConfigs.collect { cfg -> "-${cfg.stage_tag}" }.join(',') -// String restStageTags = excludedStageTags ? "cb,medium,${excludedStageTags}" : 'cb,medium' -// hwStages['Functional Cluster Box Medium MD on SSD rest'] = getFunctionalTestStage( -// name: 'Functional Cluster Box Medium MD on SSD rest', -// pragma_suffix: '-cb-medium-md-on-ssd', -// label: 'cluster_box', -// next_version: next_version(), -// stage_tags: restStageTags, -// default_tags: startedByTimer() ? 'pr daily_regression' : 'pr', -// nvme: 'auto_md_on_ssd', -// node_count: 5, -// run_if_pr: true, -// run_if_landing: false, -// job_status: job_status_internal -// ) + clusterBoxStageTags.each { cfg -> + String stageTag = cfg + String stageKey = "[CB][MDonSSD] <${stageTag}>" + hwStages[stageKey] = getFunctionalTestStage( + name: stageKey, + pragma_suffix: '-cb-medium-md-on-ssd', + label: 'cluster_box', + next_version: next_version(), + stage_tags: "cb,medium,${stageTag}", + default_tags: startedByTimer() ? 'pr daily_regression' : 'pr', + nvme: 'auto_md_on_ssd', + image_version: 'el9.7', + node_count: 5, + run_if_pr: true, + run_if_landing: false, + job_status: job_status_internal + ) + } parallel(hwStages) } diff --git a/src/tests/ftest/aggregation/basic.yaml b/src/tests/ftest/aggregation/basic.yaml index 385eadea7e0..0a27a8bb5fd 100644 --- a/src/tests/ftest/aggregation/basic.yaml +++ b/src/tests/ftest/aggregation/basic.yaml @@ -3,6 +3,7 @@ hosts: test_clients: 2 timeout: 540 server_config: + system_ram_reserved: 16 name: daos_server engines_per_host: 1 engines: diff --git a/src/tests/ftest/daos_test/rebuild.py b/src/tests/ftest/daos_test/rebuild.py index 8adc455256a..6704721f987 100644 --- a/src/tests/ftest/daos_test/rebuild.py +++ b/src/tests/ftest/daos_test/rebuild.py @@ -26,9 +26,9 @@ def test_rebuild_0to10(self): Core tests for daos_test rebuild :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild - :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_0to10 + :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_0to10,stage_daos_test_rebuild """ self.run_subtest() @@ -44,9 +44,9 @@ def test_rebuild_12to15(self): Core tests for daos_test rebuild :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,2,medium + :avocado: tags=cb,2,medium :avocado: tags=unittest,rebuild - :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_12to15 + :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_12to15,stage_daos_test_rebuild """ self.run_subtest() @@ -62,9 +62,9 @@ def test_rebuild_16(self): Core tests for daos_test rebuild :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild - :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_16 + :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_16,stage_daos_test_rebuild """ self.run_subtest() @@ -80,9 +80,9 @@ def test_rebuild_17(self): Core tests for daos_test rebuild :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild - :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_17 + :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_17,stage_daos_test_rebuild """ self.run_subtest() @@ -99,9 +99,9 @@ def test_rebuild_18(self): Core tests for daos_test rebuild :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium +:avocado: tags=cb,medium :avocado: tags=unittest,rebuild -:avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_18 +:avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_18,stage_daos_test_rebuild """ @@ -118,9 +118,9 @@ def test_rebuild_19(self): Core tests for daos_test rebuild :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild - :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_19 + :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_19,stage_daos_test_rebuild """ self.run_subtest() @@ -136,9 +136,9 @@ def test_rebuild_20(self): Core tests for daos_test rebuild :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild - :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_20 + :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_20,stage_daos_test_rebuild """ self.run_subtest() @@ -154,9 +154,9 @@ def test_rebuild_21(self): Core tests for daos_test rebuild :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild - :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_21 + :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_21,stage_daos_test_rebuild """ self.run_subtest() @@ -172,9 +172,9 @@ def test_rebuild_22(self): Core tests for daos_test rebuild :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild - :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_22 + :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_22,stage_daos_test_rebuild """ self.run_subtest() @@ -190,9 +190,9 @@ def test_rebuild_23(self): Core tests for daos_test rebuild :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild - :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_23 + :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_23,stage_daos_test_rebuild """ self.run_subtest() @@ -208,9 +208,9 @@ def test_rebuild_24(self): Core tests for daos_test rebuild :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild - :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_24 + :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_24,stage_daos_test_rebuild """ self.run_subtest() @@ -226,9 +226,9 @@ def test_rebuild_25(self): Core tests for daos_test rebuild :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild - :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_25 + :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_25,stage_daos_test_rebuild """ self.run_subtest() @@ -244,9 +244,9 @@ def test_rebuild_26(self): Core tests for daos_test rebuild :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild - :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_26 + :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_26,stage_daos_test_rebuild """ self.run_subtest() @@ -262,9 +262,9 @@ def test_rebuild_27(self): Core tests for daos_test rebuild :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild - :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_27 + :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_27,stage_daos_test_rebuild """ self.run_subtest() @@ -280,9 +280,9 @@ def test_rebuild_28(self): Core tests for daos_test rebuild :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild - :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_28 + :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_28,stage_daos_test_rebuild """ self.run_subtest() @@ -298,9 +298,9 @@ def test_rebuild_29(self): Core tests for daos_test rebuild :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild - :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_29 + :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_29,stage_daos_test_rebuild """ self.run_subtest() @@ -316,9 +316,9 @@ def test_rebuild_30(self): Core tests for daos_test rebuild :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=unittest,rebuild - :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_30 + :avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_30,stage_daos_test_rebuild """ self.run_subtest() diff --git a/src/tests/ftest/daos_test/suite.py b/src/tests/ftest/daos_test/suite.py index b363ede0db9..8e7926ccd2a 100644 --- a/src/tests/ftest/daos_test/suite.py +++ b/src/tests/ftest/daos_test/suite.py @@ -28,7 +28,7 @@ def test_daos_degraded_mode(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_degraded_mode +:avocado: tags=DaosCoreTest,test_daos_degraded_mode,stage_daos_test """ @@ -67,7 +67,7 @@ def test_daos_pool(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_pool +:avocado: tags=DaosCoreTest,test_daos_pool,stage_daos_test @@ -89,7 +89,7 @@ def test_daos_container(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_container +:avocado: tags=DaosCoreTest,test_daos_container,stage_daos_test @@ -112,7 +112,7 @@ def test_daos_epoch(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_epoch +:avocado: tags=DaosCoreTest,test_daos_epoch,stage_daos_test @@ -136,7 +136,7 @@ def test_daos_single_rdg_tx(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_single_rdg_tx +:avocado: tags=DaosCoreTest,test_daos_single_rdg_tx,stage_daos_test @@ -160,7 +160,7 @@ def test_daos_distributed_tx(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_distributed_tx +:avocado: tags=DaosCoreTest,test_daos_distributed_tx,stage_daos_test @@ -183,7 +183,7 @@ def test_daos_verify_consistency(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_verify_consistency +:avocado: tags=DaosCoreTest,test_daos_verify_consistency,stage_daos_test @@ -205,7 +205,7 @@ def test_daos_io(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_io +:avocado: tags=DaosCoreTest,test_daos_io,stage_daos_test @@ -227,7 +227,7 @@ def test_daos_ec_io(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_ec_io +:avocado: tags=DaosCoreTest,test_daos_ec_io,stage_daos_test @@ -249,7 +249,7 @@ def test_daos_ec_obj(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_ec_obj +:avocado: tags=DaosCoreTest,test_daos_ec_obj,stage_daos_test @@ -272,7 +272,7 @@ def test_daos_object_array(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_object_array +:avocado: tags=DaosCoreTest,test_daos_object_array,stage_daos_test @@ -296,7 +296,7 @@ def test_daos_array(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_array +:avocado: tags=DaosCoreTest,test_daos_array,stage_daos_test @@ -320,7 +320,7 @@ def test_daos_kv(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_kv +:avocado: tags=DaosCoreTest,test_daos_kv,stage_daos_test @@ -344,7 +344,7 @@ def test_daos_capability(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_capability +:avocado: tags=DaosCoreTest,test_daos_capability,stage_daos_test @@ -368,7 +368,7 @@ def test_daos_epoch_recovery(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_epoch_recovery +:avocado: tags=DaosCoreTest,test_daos_epoch_recovery,stage_daos_test @@ -392,7 +392,7 @@ def test_daos_md_replication(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_md_replication +:avocado: tags=DaosCoreTest,test_daos_md_replication,stage_daos_test @@ -415,7 +415,7 @@ def test_daos_rebuild_simple(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test,rebuild -:avocado: tags=DaosCoreTest,test_daos_rebuild_simple +:avocado: tags=DaosCoreTest,test_daos_rebuild_simple,stage_daos_test_rebuild @@ -438,7 +438,7 @@ def test_daos_drain_simple(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test,rebuild -:avocado: tags=DaosCoreTest,test_daos_drain_simple +:avocado: tags=DaosCoreTest,test_daos_drain_simple,stage_daos_test @@ -462,7 +462,7 @@ def test_daos_extend_simple(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test,rebuild -:avocado: tags=DaosCoreTest,test_daos_extend_simple +:avocado: tags=DaosCoreTest,test_daos_extend_simple,stage_daos_test @@ -486,7 +486,7 @@ def test_daos_rebuild_interactive(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test,rebuild -:avocado: tags=DaosCoreTest,test_daos_rebuild_interactive +:avocado: tags=DaosCoreTest,test_daos_rebuild_interactive,stage_daos_test_rebuild @@ -510,7 +510,7 @@ def test_daos_oid_allocator(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_oid_allocator +:avocado: tags=DaosCoreTest,test_daos_oid_allocator,stage_daos_test @@ -533,7 +533,7 @@ def test_daos_checksum(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_checksum +:avocado: tags=DaosCoreTest,test_daos_checksum,stage_daos_test @@ -554,7 +554,7 @@ def test_daos_rebuild_ec(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test,rebuild -:avocado: tags=DaosCoreTest,test_daos_rebuild_ec +:avocado: tags=DaosCoreTest,test_daos_rebuild_ec,stage_daos_test_ec """ @@ -576,7 +576,7 @@ def test_daos_aggregate_ec(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_aggregate_ec +:avocado: tags=DaosCoreTest,test_daos_aggregate_ec,stage_daos_test @@ -600,7 +600,7 @@ def test_daos_degraded_ec(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_degraded_ec +:avocado: tags=DaosCoreTest,test_daos_degraded_ec,stage_daos_test @@ -624,7 +624,7 @@ def test_daos_dedup(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_dedup +:avocado: tags=DaosCoreTest,test_daos_dedup,stage_daos_test @@ -648,7 +648,7 @@ def test_daos_upgrade(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test -:avocado: tags=DaosCoreTest,test_daos_upgrade +:avocado: tags=DaosCoreTest,test_daos_upgrade,stage_daos_test @@ -671,7 +671,7 @@ def test_daos_pipeline(self): :avocado: tags=all,pr,daily_regression :avocado: tags=cb,medium,provider :avocado: tags=daos_test,daos_core_test,faults -:avocado: tags=DaosCoreTest,test_daos_pipeline +:avocado: tags=DaosCoreTest,test_daos_pipeline,stage_daos_test diff --git a/src/tests/ftest/daos_vol/h5_suite.py b/src/tests/ftest/daos_vol/h5_suite.py index fd4d339fb86..11faea14a45 100644 --- a/src/tests/ftest/daos_vol/h5_suite.py +++ b/src/tests/ftest/daos_vol/h5_suite.py @@ -33,9 +33,9 @@ def test_daos_vol_mpich(self): h5daos_test_metadata_parallel :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=hdf5,daos_vol,vol,volunit - :avocado: tags=DaosVol,test_daos_vol_mpich + :avocado: tags=DaosVol,test_daos_vol_mpich,stage_ftest """ manager = get_job_manager(self, mpi_type="mpich") self.run_test(manager, "/usr/lib64/mpich/lib", "/usr/lib64/hdf5_vol_daos/mpich/tests") diff --git a/src/tests/ftest/dfuse/daos_build.py b/src/tests/ftest/dfuse/daos_build.py index 725b67250cd..c74f9c5810d 100644 --- a/src/tests/ftest/dfuse/daos_build.py +++ b/src/tests/ftest/dfuse/daos_build.py @@ -238,9 +238,9 @@ def test_dfuse_daos_build_wb(self): Checkout and build DAOS sources. :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=daosio,dfs,dfuse,daos_cmd - :avocado: tags=DaosBuild,test_dfuse_daos_build_wb + :avocado: tags=DaosBuild,test_dfuse_daos_build_wb,stage_ftest """ run_build_test(self, "writeback") diff --git a/src/tests/ftest/io/io_consistency.py b/src/tests/ftest/io/io_consistency.py index ef6dc1ce781..f6f7b3f706e 100644 --- a/src/tests/ftest/io/io_consistency.py +++ b/src/tests/ftest/io/io_consistency.py @@ -34,10 +34,10 @@ def test_ioconsistency(self): Repeat the same steps as above for SSF this time. :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium +:avocado: tags=cb,medium :avocado: tags=io,daosio,ior,dfuse :avocado: tags=IoConsistency,test_ioconsistency -:avocado: tags=DAOS_5610 +:avocado: tags=DAOS_5610,stage_ftest """ diff --git a/src/tests/ftest/mpiio/romio.py b/src/tests/ftest/mpiio/romio.py index 6a704b4e86b..596792c08fa 100644 --- a/src/tests/ftest/mpiio/romio.py +++ b/src/tests/ftest/mpiio/romio.py @@ -22,9 +22,9 @@ def test_romio(self): Testing various I/O functions provided in romio test suite :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium +:avocado: tags=cb,medium :avocado: tags=mpiio,mpich,romio -:avocado: tags=Romio,test_romio +:avocado: tags=Romio,test_romio,stage_ftest """ diff --git a/src/tests/ftest/mpiio/romio.yaml b/src/tests/ftest/mpiio/romio.yaml index c73387764d1..70981c60fb5 100644 --- a/src/tests/ftest/mpiio/romio.yaml +++ b/src/tests/ftest/mpiio/romio.yaml @@ -5,6 +5,7 @@ timeout: 150 # below mentioned path should be replaced by path of # romio test suite directory in CI nodes when available. server_config: + system_ram_reserved: 16 name: daos_server engines_per_host: 1 engines: diff --git a/src/tests/ftest/osa/offline_reintegration.py b/src/tests/ftest/osa/offline_reintegration.py index f3de38c5949..e80dc2e5776 100644 --- a/src/tests/ftest/osa/offline_reintegration.py +++ b/src/tests/ftest/osa/offline_reintegration.py @@ -192,9 +192,9 @@ def test_osa_offline_reintegration_without_checksum(self): properties. :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium +:avocado: tags=cb,medium :avocado: tags=osa,offline_reintegration,ior -:avocado: tags=OSAOfflineReintegration,test_osa_offline_reintegration_without_checksum +:avocado: tags=OSAOfflineReintegration,test_osa_offline_reintegration_without_checksum,stage_ftest """ @@ -225,9 +225,9 @@ def test_osa_offline_reintegration_server_stop(self): Test Description: Validate Offline Reintegration with server stop :avocado: tags=all,pr,full_regression -:avocado: tags=hw,medium +:avocado: tags=cb,medium :avocado: tags=osa,checksum,offline_reintegration,ior -:avocado: tags=OSAOfflineReintegration,test_osa_offline_reintegration_server_stop +:avocado: tags=OSAOfflineReintegration,test_osa_offline_reintegration_server_stop,stage_ftest """ diff --git a/src/tests/ftest/osa/online_drain.py b/src/tests/ftest/osa/online_drain.py index 44c5707212d..00f567e0f1b 100644 --- a/src/tests/ftest/osa/online_drain.py +++ b/src/tests/ftest/osa/online_drain.py @@ -117,10 +117,10 @@ def test_osa_online_drain(self): enabled. :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=osa,checksum :avocado: tags=osa_drain,online_drain,online_drain_with_csum - :avocado: tags=OSAOnlineDrain,test_osa_online_drain + :avocado: tags=OSAOnlineDrain,test_osa_online_drain,stage_ftest """ self.log.info("Online Drain : With Checksum") ranks = self.get_random_test_ranks() @@ -132,10 +132,10 @@ def test_osa_online_drain_no_csum(self): checksum. :avocado: tags=all,pr,full_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=osa :avocado: tags=osa_drain,online_drain,online_drain_without_csum - :avocado: tags=OSAOnlineDrain,test_osa_online_drain_no_csum + :avocado: tags=OSAOnlineDrain,test_osa_online_drain_no_csum,stage_ftest """ self.log.info("Online Drain : No Checksum") self.test_with_checksum = self.params.get("test_with_checksum", @@ -149,10 +149,10 @@ def test_osa_online_drain_oclass(self): object class. :avocado: tags=all,pr,full_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=osa,checksum :avocado: tags=osa_drain,online_drain,online_drain_oclass - :avocado: tags=OSAOnlineDrain,test_osa_online_drain_oclass + :avocado: tags=OSAOnlineDrain,test_osa_online_drain_oclass,stage_ftest """ self.log.info("Online Drain : Oclass") ranks = self.get_random_test_ranks() @@ -165,10 +165,10 @@ def test_osa_online_drain_with_aggregation(self): object class. :avocado: tags=all,pr,full_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=osa,checksum :avocado: tags=osa_drain,online_drain,online_drain_with_aggregation - :avocado: tags=OSAOnlineDrain,test_osa_online_drain_with_aggregation + :avocado: tags=OSAOnlineDrain,test_osa_online_drain_with_aggregation,stage_ftest """ self.log.info("Online Drain : Aggregation") self.test_during_aggregation = self.params.get("test_with_aggregation", @@ -184,10 +184,10 @@ def test_osa_online_drain_mdtest(self): running during the testing. :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium +:avocado: tags=cb,medium :avocado: tags=osa,checksum :avocado: tags=osa_drain,online_drain,online_drain_mdtest -:avocado: tags=OSAOnlineDrain,test_osa_online_drain_mdtest +:avocado: tags=OSAOnlineDrain,test_osa_online_drain_mdtest,stage_ftest """ diff --git a/src/tests/ftest/osa/online_drain.yaml b/src/tests/ftest/osa/online_drain.yaml index 7a584a5efc0..d251a990c94 100644 --- a/src/tests/ftest/osa/online_drain.yaml +++ b/src/tests/ftest/osa/online_drain.yaml @@ -10,6 +10,7 @@ job_manager: skip_add_log_msg: true server_config: + system_ram_reserved: 16 name: daos_server engines_per_host: 2 engines: diff --git a/src/tests/ftest/osa/online_extend.py b/src/tests/ftest/osa/online_extend.py index 6471de068ef..4ce2be8cc7a 100644 --- a/src/tests/ftest/osa/online_extend.py +++ b/src/tests/ftest/osa/online_extend.py @@ -168,9 +168,9 @@ def test_osa_online_extend(self): Test Description: Validate Online extend with checksum enabled. :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium +:avocado: tags=cb,medium :avocado: tags=osa,checksum,osa_extend,online_extend -:avocado: tags=OSAOnlineExtend,test_osa_online_extend +:avocado: tags=OSAOnlineExtend,test_osa_online_extend,stage_ftest """ @@ -185,9 +185,9 @@ def test_osa_online_extend_without_checksum(self): Test Description: Validate Online extend without checksum enabled. :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium +:avocado: tags=cb,medium :avocado: tags=osa,checksum,osa_extend,online_extend -:avocado: tags=OSAOnlineExtend,test_osa_online_extend_without_checksum +:avocado: tags=OSAOnlineExtend,test_osa_online_extend_without_checksum,stage_ftest """ @@ -204,9 +204,9 @@ def test_osa_online_extend_oclass(self): Test Description: Validate Online extend with different object class. :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium +:avocado: tags=cb,medium :avocado: tags=osa,checksum,osa_extend,online_extend -:avocado: tags=OSAOnlineExtend,test_osa_online_extend_oclass +:avocado: tags=OSAOnlineExtend,test_osa_online_extend_oclass,stage_ftest """ @@ -221,9 +221,9 @@ def test_osa_online_extend_mdtest(self): Test Description: Validate Online extend with mdtest application. :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium +:avocado: tags=cb,medium :avocado: tags=osa,checksum,osa_extend,online_extend -:avocado: tags=OSAOnlineExtend,test_osa_online_extend_mdtest +:avocado: tags=OSAOnlineExtend,test_osa_online_extend_mdtest,stage_ftest """ @@ -238,9 +238,9 @@ def test_osa_online_extend_with_aggregation(self): Test Description: Validate Online extend with aggregation on. :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium +:avocado: tags=cb,medium :avocado: tags=osa,checksum,osa_extend,online_extend -:avocado: tags=OSAOnlineExtend,test_osa_online_extend_with_aggregation +:avocado: tags=OSAOnlineExtend,test_osa_online_extend_with_aggregation,stage_ftest """ diff --git a/src/tests/ftest/osa/online_extend.yaml b/src/tests/ftest/osa/online_extend.yaml index 2e789c59724..76b7a21365b 100644 --- a/src/tests/ftest/osa/online_extend.yaml +++ b/src/tests/ftest/osa/online_extend.yaml @@ -20,6 +20,7 @@ setup: skip_add_log_msg: true server_config: + system_ram_reserved: 16 name: daos_server engines_per_host: 2 engines: diff --git a/src/tests/ftest/osa/online_parallel_test.py b/src/tests/ftest/osa/online_parallel_test.py index e9094eafb55..9c8aee0e6d6 100644 --- a/src/tests/ftest/osa/online_parallel_test.py +++ b/src/tests/ftest/osa/online_parallel_test.py @@ -195,9 +195,9 @@ def test_osa_online_parallel_test(self): Test Description: Runs multiple OSA commands/IO in parallel :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=osa,checksum,osa_parallel - :avocado: tags=OSAOnlineParallelTest,test_osa_online_parallel_test + :avocado: tags=OSAOnlineParallelTest,test_osa_online_parallel_test,stage_ftest """ diff --git a/src/tests/ftest/pool/create_query.py b/src/tests/ftest/pool/create_query.py index b30214cac7a..147ea6b1dea 100644 --- a/src/tests/ftest/pool/create_query.py +++ b/src/tests/ftest/pool/create_query.py @@ -33,9 +33,9 @@ def test_create_and_query(self): pool create. :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=pool - :avocado: tags=PoolCreateQueryTests,test_create_and_query + :avocado: tags=PoolCreateQueryTests,test_create_and_query,stage_ftest """ # Create pool diff --git a/src/tests/ftest/rebuild/pool_destroy_race.py b/src/tests/ftest/rebuild/pool_destroy_race.py index b74cb02dd31..702109ede76 100644 --- a/src/tests/ftest/rebuild/pool_destroy_race.py +++ b/src/tests/ftest/rebuild/pool_destroy_race.py @@ -37,9 +37,9 @@ def test_pool_destroy_with_io(self): Re-create pool on remaining ranks. :avocado: tags=all,pr -:avocado: tags=hw,medium +:avocado: tags=cb,medium :avocado: tags=pool,rebuild,ior -:avocado: tags=RbldPoolDestroyWithIO,test_pool_destroy_with_io +:avocado: tags=RbldPoolDestroyWithIO,test_pool_destroy_with_io,stage_ftest """ diff --git a/src/tests/ftest/scrubber/basic.py b/src/tests/ftest/scrubber/basic.py index a02601e4734..2e28d9685ca 100644 --- a/src/tests/ftest/scrubber/basic.py +++ b/src/tests/ftest/scrubber/basic.py @@ -47,9 +47,9 @@ def test_scrubber_disabled_during_pool_creation(self): 3. Disable checksum on a container and run IOR. Gather scrubber statistics. :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium +:avocado: tags=cb,medium :avocado: tags=scrubber -:avocado: tags=TestWithScrubberBasic,test_scrubber_disabled_during_pool_creation +:avocado: tags=TestWithScrubberBasic,test_scrubber_disabled_during_pool_creation,stage_ftest @@ -77,9 +77,9 @@ def test_scrubber_enabled_during_pool_creation(self): 3. Disable checksum on a container and run IOR. Gather scrubber statistics. :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium +:avocado: tags=cb,medium :avocado: tags=scrubber -:avocado: tags=TestWithScrubberBasic,test_scrubber_enabled_during_pool_creation +:avocado: tags=TestWithScrubberBasic,test_scrubber_enabled_during_pool_creation,stage_ftest diff --git a/src/tests/ftest/scrubber/basic.yaml b/src/tests/ftest/scrubber/basic.yaml index 60a98eb3142..784997a351c 100644 --- a/src/tests/ftest/scrubber/basic.yaml +++ b/src/tests/ftest/scrubber/basic.yaml @@ -8,6 +8,7 @@ setup: start_servers_once: false server_config: + system_ram_reserved: 16 name: daos_server engines_per_host: 2 engines: diff --git a/src/tests/ftest/scrubber/csum_fault.py b/src/tests/ftest/scrubber/csum_fault.py index aef93df80ad..8b68c137df1 100644 --- a/src/tests/ftest/scrubber/csum_fault.py +++ b/src/tests/ftest/scrubber/csum_fault.py @@ -23,9 +23,9 @@ def test_scrubber_csum_fault(self): 1. Create checksum faults and see whether scrubber finds them. :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium +:avocado: tags=cb,medium :avocado: tags=scrubber,faults -:avocado: tags=TestWithScrubberFault,test_scrubber_csum_fault +:avocado: tags=TestWithScrubberFault,test_scrubber_csum_fault,stage_ftest diff --git a/src/tests/ftest/scrubber/csum_fault.yaml b/src/tests/ftest/scrubber/csum_fault.yaml index 407d8b7b414..b42265d8750 100644 --- a/src/tests/ftest/scrubber/csum_fault.yaml +++ b/src/tests/ftest/scrubber/csum_fault.yaml @@ -8,6 +8,7 @@ setup: start_servers_once: false server_config: + system_ram_reserved: 16 name: daos_server engines_per_host: 2 engines: diff --git a/src/tests/ftest/scrubber/target_auto_eviction.py b/src/tests/ftest/scrubber/target_auto_eviction.py index 77087af60bb..f9cc8c44485 100644 --- a/src/tests/ftest/scrubber/target_auto_eviction.py +++ b/src/tests/ftest/scrubber/target_auto_eviction.py @@ -24,9 +24,9 @@ def test_scrubber_ssd_auto_eviction(self): 1. Create checksum faults above scrubber threshold and see whether SSD auto eviction works as expected. :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium +:avocado: tags=cb,medium :avocado: tags=scrubber,faults -:avocado: tags=TestWithScrubberTargetEviction,test_scrubber_ssd_auto_eviction +:avocado: tags=TestWithScrubberTargetEviction,test_scrubber_ssd_auto_eviction,stage_ftest """ diff --git a/src/tests/ftest/scrubber/target_auto_eviction.yaml b/src/tests/ftest/scrubber/target_auto_eviction.yaml index dc1e80d4429..c0b5a1fd626 100644 --- a/src/tests/ftest/scrubber/target_auto_eviction.yaml +++ b/src/tests/ftest/scrubber/target_auto_eviction.yaml @@ -8,6 +8,7 @@ setup: start_servers_once: false server_config: + system_ram_reserved: 16 name: daos_server engines_per_host: 2 engines: diff --git a/src/tests/ftest/server/replay.py b/src/tests/ftest/server/replay.py index 40c183dbd25..a04f623f051 100644 --- a/src/tests/ftest/server/replay.py +++ b/src/tests/ftest/server/replay.py @@ -93,9 +93,9 @@ def test_restart(self): 6) Verify the previously written data matches with an ior read :avocado: tags=all,pr -:avocado: tags=hw,medium +:avocado: tags=cb,medium :avocado: tags=server,replay -:avocado: tags=ReplayTests,test_restart +:avocado: tags=ReplayTests,test_restart,stage_ftest """ @@ -128,9 +128,9 @@ def test_replay_posix(self): 9) Verify more data can be written :avocado: tags=all,pr - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=server,replay - :avocado: tags=ReplayTests,test_replay_posix + :avocado: tags=ReplayTests,test_replay_posix,stage_ftest """ container = self.create_container() diff --git a/src/tests/ftest/server/storage_tiers.py b/src/tests/ftest/server/storage_tiers.py index 9fb067ec160..f780f510503 100644 --- a/src/tests/ftest/server/storage_tiers.py +++ b/src/tests/ftest/server/storage_tiers.py @@ -30,9 +30,9 @@ def test_tiers(self): Does not test or rely on actual hardware being present. :avocado: tags=all,pr - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=server,storage,storage_tiers - :avocado: tags=StorageTiers,test_tiers + :avocado: tags=StorageTiers,test_tiers,stage_ftest """ expected = [] From 7b6949efd94ff13f0b83aecf9eeb03672bc285d8 Mon Sep 17 00:00:00 2001 From: Ryon Jensen Date: Wed, 6 May 2026 19:49:20 -0600 Subject: [PATCH 9/9] Some fixes for Possible solution Signed-off-by: Ryon Jensen --- Jenkinsfile | 2 +- src/tests/ftest/aggregation/basic.py | 4 ++-- src/tests/ftest/aggregation/checksum.py | 4 ++-- src/tests/ftest/aggregation/punching.py | 4 ++-- src/tests/ftest/container/snapshot_aggregation.py | 4 ++-- src/tests/ftest/control/daos_server_helper.py | 4 ++-- src/tests/ftest/control/dmg_telemetry_io_basic.py | 4 ++-- src/tests/ftest/control/dmg_telemetry_nvme.py | 8 ++++---- src/tests/ftest/daos_racer/simple.py | 4 ++-- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index f2479d35604..32e72fd4af3 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -718,7 +718,7 @@ pipeline { clusterBoxStageTags.each { cfg -> String stageTag = cfg - String stageKey = "[CB][MDonSSD] <${stageTag}>" + String stageKey = "${stageTag} CB MDonSSD" hwStages[stageKey] = getFunctionalTestStage( name: stageKey, pragma_suffix: '-cb-medium-md-on-ssd', diff --git a/src/tests/ftest/aggregation/basic.py b/src/tests/ftest/aggregation/basic.py index 61b389faaad..82b89ed7699 100644 --- a/src/tests/ftest/aggregation/basic.py +++ b/src/tests/ftest/aggregation/basic.py @@ -53,9 +53,9 @@ def test_basic_aggregation(self): reclaimed the overwritten capacity. :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=aggregation,daosio,ior - :avocado: tags=DaosAggregationBasic,test_basic_aggregation + :avocado: tags=DaosAggregationBasic,test_basic_aggregation,stage_ftest """ # Create pool and container self.update_ior_cmd_with_pool() diff --git a/src/tests/ftest/aggregation/checksum.py b/src/tests/ftest/aggregation/checksum.py index ff3892331bd..74b81c1567b 100644 --- a/src/tests/ftest/aggregation/checksum.py +++ b/src/tests/ftest/aggregation/checksum.py @@ -38,9 +38,9 @@ def test_aggregationchecksum(self): Run IOR again this time to read back the data with read verify option enabled. :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium +:avocado: tags=cb,medium :avocado: tags=daosio,checksum,ior -:avocado: tags=AggregationChecksum,test_aggregationchecksum +:avocado: tags=AggregationChecksum,test_aggregationchecksum,stage_ftest """ diff --git a/src/tests/ftest/aggregation/punching.py b/src/tests/ftest/aggregation/punching.py index ee083e2aec9..db825d9f4f2 100644 --- a/src/tests/ftest/aggregation/punching.py +++ b/src/tests/ftest/aggregation/punching.py @@ -30,9 +30,9 @@ def test_aggregation_punching(self): Enable the aggregation run and verify the space is reclaimed. :avocado: tags=all,pr,daily_regression -:avocado: tags=hw,medium +:avocado: tags=cb,medium :avocado: tags=aggregation,mdtest -:avocado: tags=AggregationPunching,aggregatepunching,test_aggregation_punching +:avocado: tags=AggregationPunching,aggregatepunching,test_aggregation_punching,stage_ftest """ diff --git a/src/tests/ftest/container/snapshot_aggregation.py b/src/tests/ftest/container/snapshot_aggregation.py index 9fa9b7e6cfe..fc93eb33686 100644 --- a/src/tests/ftest/container/snapshot_aggregation.py +++ b/src/tests/ftest/container/snapshot_aggregation.py @@ -45,9 +45,9 @@ def test_snapshot_aggregation(self): capacity by half. :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=container,snap - :avocado: tags=SnapshotAggregation,test_snapshot_aggregation + :avocado: tags=SnapshotAggregation,test_snapshot_aggregation,stage_ftest """ # Create a pool and a container that spans the 2 servers. diff --git a/src/tests/ftest/control/daos_server_helper.py b/src/tests/ftest/control/daos_server_helper.py index 8749dea0353..9c35d3e32ed 100644 --- a/src/tests/ftest/control/daos_server_helper.py +++ b/src/tests/ftest/control/daos_server_helper.py @@ -31,9 +31,9 @@ def test_daos_server_helper_format(self): operations while daos_server is run as normal user. :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=control,basic,daos_server_helper - :avocado: tags=DaosPrivHelperTest,test_daos_server_helper_format + :avocado: tags=DaosPrivHelperTest,test_daos_server_helper_format,stage_ftest """ # Verify that daos_server_helper has the correct permissions diff --git a/src/tests/ftest/control/dmg_telemetry_io_basic.py b/src/tests/ftest/control/dmg_telemetry_io_basic.py index b315ec44269..c98c77cf3fa 100644 --- a/src/tests/ftest/control/dmg_telemetry_io_basic.py +++ b/src/tests/ftest/control/dmg_telemetry_io_basic.py @@ -83,9 +83,9 @@ def test_io_telemetry_metrics_basic(self): DAOS engine IO telemetry basic metrics infrastructure. :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=control,telemetry,basic - :avocado: tags=TestWithTelemetryIOBasic,test_io_telemetry_metrics_basic + :avocado: tags=TestWithTelemetryIOBasic,test_io_telemetry_metrics_basic,stage_ftest """ block_sizes = self.params.get("block_sizes", "/run/*") diff --git a/src/tests/ftest/control/dmg_telemetry_nvme.py b/src/tests/ftest/control/dmg_telemetry_nvme.py index 4a21b8299a9..898534a0f31 100644 --- a/src/tests/ftest/control/dmg_telemetry_nvme.py +++ b/src/tests/ftest/control/dmg_telemetry_nvme.py @@ -33,9 +33,9 @@ def test_nvme_telemetry_metrics(self): Verify the telemetry engine NVMe metrics. :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=control,telemetry,nvme - :avocado: tags=TestWithTelemetryNvme,test_nvme_telemetry_metrics + :avocado: tags=TestWithTelemetryNvme,test_nvme_telemetry_metrics,stage_ftest """ metrics_data = self.telemetry.get_nvme_metrics() @@ -71,9 +71,9 @@ def test_telemetry_list_nvme(self): Verify the dmg telemetry list command. :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=control,telemetry,nvme - :avocado: tags=TestWithTelemetryNvme,test_telemetry_list_nvme + :avocado: tags=TestWithTelemetryNvme,test_telemetry_list_nvme,stage_ftest """ self.verify_telemetry_list() diff --git a/src/tests/ftest/daos_racer/simple.py b/src/tests/ftest/daos_racer/simple.py index 88f0fb11092..d2bb459e759 100644 --- a/src/tests/ftest/daos_racer/simple.py +++ b/src/tests/ftest/daos_racer/simple.py @@ -30,9 +30,9 @@ def test_daos_racer_simple(self): Running simultaneous, conflicting I/O requests. :avocado: tags=all,pr,daily_regression - :avocado: tags=hw,medium + :avocado: tags=cb,medium :avocado: tags=io,daos_racer - :avocado: tags=DaosRacerSimpleTest,test_daos_racer_simple + :avocado: tags=DaosRacerSimpleTest,test_daos_racer_simple,stage_ftest """ dmg = self.get_dmg_command()