diff --git a/Jenkinsfile b/Jenkinsfile index be8dbad86e0..32e72fd4af3 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,51 @@ 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, + script { + 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' + ] + + clusterBoxStageTags.each { cfg -> + String stageTag = cfg + String stageKey = "${stageTag} CB MDonSSD" + hwStages[stageKey] = getFunctionalTestStage( + name: stageKey, + pragma_suffix: '-cb-medium-md-on-ssd', + label: 'cluster_box', next_version: next_version(), - stage_tags: 'hw,medium,-provider', + 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, - 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' - ), - ) + job_status: job_status_internal + ) + } + + parallel(hwStages) } } } // stage('Test Hardware') 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/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/aggregation/checksum.py b/src/tests/ftest/aggregation/checksum.py index b6320e19ebe..74b81c1567b 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=cb,medium +:avocado: tags=daosio,checksum,ior +:avocado: tags=AggregationChecksum,test_aggregationchecksum,stage_ftest + + """ # test params diff --git a/src/tests/ftest/aggregation/punching.py b/src/tests/ftest/aggregation/punching.py index b95484a778b..db825d9f4f2 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=cb,medium +:avocado: tags=aggregation,mdtest +:avocado: tags=AggregationPunching,aggregatepunching,test_aggregation_punching,stage_ftest + + """ 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..fc93eb33686 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). @@ -44,9 +45,10 @@ 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. 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..9c35d3e32ed 100644 --- a/src/tests/ftest/control/daos_server_helper.py +++ b/src/tests/ftest/control/daos_server_helper.py @@ -23,16 +23,18 @@ 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 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 # 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..c98c77cf3fa 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=cb,medium + :avocado: tags=control,telemetry,basic + :avocado: tags=TestWithTelemetryIOBasic,test_io_telemetry_metrics_basic,stage_ftest + """ 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..898534a0f31 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=cb,medium + :avocado: tags=control,telemetry,nvme + :avocado: tags=TestWithTelemetryNvme,test_nvme_telemetry_metrics,stage_ftest + """ metrics_data = self.telemetry.get_nvme_metrics() self.display_nvme_test_metrics(metrics_data) @@ -62,14 +64,16 @@ 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. :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 6227506c37d..d2bb459e759 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, @@ -29,9 +30,10 @@ 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() self.assertGreater( diff --git a/src/tests/ftest/daos_test/rebuild.py b/src/tests/ftest/daos_test/rebuild.py index e1d8de4052b..6704721f987 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 @@ -25,14 +26,16 @@ 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() def test_rebuild_12to15(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=12-15 @@ -41,14 +44,16 @@ 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() def test_rebuild_16(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=16 @@ -57,14 +62,16 @@ 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() def test_rebuild_17(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=17 @@ -73,14 +80,17 @@ 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() 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=cb,medium +:avocado: tags=unittest,rebuild +:avocado: tags=DaosCoreTestRebuild,daos_test,daos_core_test_rebuild,test_rebuild_18,stage_daos_test_rebuild + + """ 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 @@ -105,14 +118,16 @@ 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() def test_rebuild_20(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=20 @@ -121,14 +136,16 @@ 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() def test_rebuild_21(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=21 @@ -137,14 +154,16 @@ 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() def test_rebuild_22(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=22 @@ -153,14 +172,16 @@ 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() def test_rebuild_23(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=23 @@ -169,14 +190,16 @@ 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() def test_rebuild_24(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=24 @@ -185,14 +208,16 @@ 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() def test_rebuild_25(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=25 @@ -201,14 +226,16 @@ 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() def test_rebuild_26(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=26 @@ -217,14 +244,16 @@ 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() def test_rebuild_27(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=27 @@ -233,14 +262,16 @@ 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() def test_rebuild_28(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s3 -u subtests=28 @@ -249,14 +280,16 @@ 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() def test_rebuild_29(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s5 -u subtests=29 @@ -265,14 +298,16 @@ 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() def test_rebuild_30(self): - """Jira ID: DAOS-2770 + """ +Jira ID: DAOS-2770 Test Description: Run daos_test -r -s5 -u subtests=30 @@ -281,9 +316,10 @@ 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() @@ -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..8e7926ccd2a 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,15 +25,18 @@ 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,stage_daos_test + + """ self.run_subtest() def test_daos_management(self): - """Jira ID: DAOS-1568 + """ +Jira ID: DAOS-1568 Test Description: Run daos_test -m @@ -43,11 +48,15 @@ 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 @@ -55,15 +64,21 @@ 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,stage_daos_test + + + """ self.run_subtest() def test_daos_container(self): - """Jira ID: DAOS-1568 + """ + + +Jira ID: DAOS-1568 Test Description: Run daos_test -c @@ -71,15 +86,22 @@ 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,stage_daos_test + + + """ self.run_subtest() def test_daos_epoch(self): - """Jira ID: DAOS-1568 + """ + + + +Jira ID: DAOS-1568 Test Description: Run daos_test -e @@ -87,15 +109,23 @@ 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=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_epoch,stage_daos_test + + + + """ 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 +133,23 @@ 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=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_single_rdg_tx,stage_daos_test + + + + """ 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 +157,22 @@ 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=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_distributed_tx,stage_daos_test + + + + """ self.run_subtest() def test_daos_verify_consistency(self): - """Jira ID: DAOS-1568 + """ + + +Jira ID: DAOS-1568 Test Description: Run daos_test -V @@ -135,15 +180,21 @@ 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,stage_daos_test + + + """ self.run_subtest() def test_daos_io(self): - """Jira ID: DAOS-1568 + """ + + +Jira ID: DAOS-1568 Test Description: Run daos_test -i @@ -151,15 +202,21 @@ 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,stage_daos_test + + + """ 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" @@ -167,15 +224,21 @@ 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,stage_daos_test + + + """ self.run_subtest() def test_daos_ec_obj(self): - """Jira ID: DAOS-1568 + """ + + +Jira ID: DAOS-1568 Test Description: Run daos_test -I @@ -183,15 +246,22 @@ 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,stage_daos_test + + + """ 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 +269,23 @@ 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=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_object_array,stage_daos_test + + + + """ self.run_subtest() def test_daos_array(self): - """Jira ID: DAOS-1568 + """ + + + +Jira ID: DAOS-1568 Test Description: Run daos_test -D @@ -215,15 +293,23 @@ 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=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_array,stage_daos_test + + + + """ self.run_subtest() def test_daos_kv(self): - """Jira ID: DAOS-1568 + """ + + + +Jira ID: DAOS-1568 Test Description: Run daos_test -K @@ -231,15 +317,23 @@ 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=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_kv,stage_daos_test + + + + """ self.run_subtest() def test_daos_capability(self): - """Jira ID: DAOS-1568 + """ + + + +Jira ID: DAOS-1568 Test Description: Run daos_test -C @@ -247,15 +341,23 @@ 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=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_capability,stage_daos_test + + + + """ 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 +365,23 @@ 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=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_epoch_recovery,stage_daos_test + + + + """ 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 +389,22 @@ 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=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_md_replication,stage_daos_test + + + + """ self.run_subtest() def test_daos_rebuild_simple(self): - """Jira ID: DAOS-1568 + """ + + +Jira ID: DAOS-1568 Test Description: Run daos_test -v @@ -295,15 +412,22 @@ 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,stage_daos_test_rebuild + + + """ 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 +435,23 @@ 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=cb,medium,provider +:avocado: tags=daos_test,daos_core_test,rebuild +:avocado: tags=DaosCoreTest,test_daos_drain_simple,stage_daos_test + + + + """ 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 +459,23 @@ 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=cb,medium,provider +:avocado: tags=daos_test,daos_core_test,rebuild +:avocado: tags=DaosCoreTest,test_daos_extend_simple,stage_daos_test + + + + """ 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 +483,23 @@ 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=cb,medium,provider +:avocado: tags=daos_test,daos_core_test,rebuild +:avocado: tags=DaosCoreTest,test_daos_rebuild_interactive,stage_daos_test_rebuild + + + + """ 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 +507,22 @@ 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=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_oid_allocator,stage_daos_test + + + + """ self.run_subtest() def test_daos_checksum(self): - """Jira ID: DAOS-1568 + """ + + +Jira ID: DAOS-1568 Test Description: Run daos_test -z @@ -375,15 +530,20 @@ 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,stage_daos_test + + + """ self.run_subtest() def test_daos_rebuild_ec(self): - """Jira ID: DAOS-1568 + """ + +Jira ID: DAOS-1568 Test Description: Run daos_test -S @@ -391,15 +551,21 @@ def test_daos_rebuild_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,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,stage_daos_test_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 +573,23 @@ 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=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_aggregate_ec,stage_daos_test + + + + """ 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 +597,23 @@ 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=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_degraded_ec,stage_daos_test + + + + """ self.run_subtest() def test_daos_dedup(self): - """Jira ID: DAOS-1568 + """ + + + +Jira ID: DAOS-1568 Test Description: Run daos_test -U @@ -439,15 +621,23 @@ 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=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_dedup,stage_daos_test + + + + """ self.run_subtest() def test_daos_upgrade(self): - """Jira ID: DAOS-10681 + """ + + + +Jira ID: DAOS-10681 Test Description: Run daos_test -G @@ -455,15 +645,22 @@ 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=cb,medium,provider +:avocado: tags=daos_test,daos_core_test +:avocado: tags=DaosCoreTest,test_daos_upgrade,stage_daos_test + + + + """ self.run_subtest() def test_daos_pipeline(self): - """Jira ID: DAOS-13160 + """ + + +Jira ID: DAOS-13160 Test Description: Run daos_test -P @@ -471,9 +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,stage_daos_test + + + """ self.run_subtest() 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: 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 a7e76a32c82..f6f7b3f706e 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=cb,medium +:avocado: tags=io,daosio,ior,dfuse +:avocado: tags=IoConsistency,test_ioconsistency +:avocado: tags=DAOS_5610,stage_ftest + + """ # 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..596792c08fa 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=cb,medium +:avocado: tags=mpiio,mpich,romio +:avocado: tags=Romio,test_romio,stage_ftest + + """ # setting romio parameters test_repo = self.params.get("romio_repo", '/run/romio/') 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_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..e80dc2e5776 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=cb,medium +:avocado: tags=osa,offline_reintegration,ior +:avocado: tags=OSAOfflineReintegration,test_osa_offline_reintegration_without_checksum,stage_ftest + + """ 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=cb,medium +:avocado: tags=osa,checksum,offline_reintegration,ior +:avocado: tags=OSAOfflineReintegration,test_osa_offline_reintegration_server_stop,stage_ftest + + """ self.log.info("Offline Reintegration : System Start/Stop") ranks = self.get_random_test_ranks() 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: diff --git a/src/tests/ftest/osa/online_drain.py b/src/tests/ftest/osa/online_drain.py index f044ad38af5..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", @@ -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=cb,medium +:avocado: tags=osa,checksum +:avocado: tags=osa_drain,online_drain,online_drain_mdtest +:avocado: tags=OSAOnlineDrain,test_osa_online_drain_mdtest,stage_ftest + + """ self.log.info("Online Drain : With Mdtest") ranks = self.get_random_test_ranks() 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 d8c8b18e607..4ce2be8cc7a 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=cb,medium +:avocado: tags=osa,checksum,osa_extend,online_extend +:avocado: tags=OSAOnlineExtend,test_osa_online_extend,stage_ftest + + """ 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=cb,medium +:avocado: tags=osa,checksum,osa_extend,online_extend +:avocado: tags=OSAOnlineExtend,test_osa_online_extend_without_checksum,stage_ftest + + """ 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=cb,medium +:avocado: tags=osa,checksum,osa_extend,online_extend +:avocado: tags=OSAOnlineExtend,test_osa_online_extend_oclass,stage_ftest + + """ 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=cb,medium +:avocado: tags=osa,checksum,osa_extend,online_extend +:avocado: tags=OSAOnlineExtend,test_osa_online_extend_mdtest,stage_ftest + + """ 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=cb,medium +:avocado: tags=osa,checksum,osa_extend,online_extend +:avocado: tags=OSAOnlineExtend,test_osa_online_extend_with_aggregation,stage_ftest + + """ self.log.info("Online Extend : Aggregation") self.test_during_aggregation = self.params.get("test_with_aggregation", 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 cf473038f55..9c8aee0e6d6 100644 --- a/src/tests/ftest/osa/online_parallel_test.py +++ b/src/tests/ftest/osa/online_parallel_test.py @@ -188,13 +188,17 @@ 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 :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 + + """ 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..147ea6b1dea 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 @@ -32,9 +33,10 @@ 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 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..702109ede76 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=cb,medium +:avocado: tags=pool,rebuild,ior +:avocado: tags=RbldPoolDestroyWithIO,test_pool_destroy_with_io,stage_ftest + + """ containers = [] diff --git a/src/tests/ftest/scrubber/basic.py b/src/tests/ftest/scrubber/basic.py index e4f6b85ef06..2e28d9685ca 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=cb,medium +:avocado: tags=scrubber +:avocado: tags=TestWithScrubberBasic,test_scrubber_disabled_during_pool_creation,stage_ftest + + """ 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=cb,medium +:avocado: tags=scrubber +:avocado: tags=TestWithScrubberBasic,test_scrubber_enabled_during_pool_creation,stage_ftest + + """ pool_properties = self.params.get("properties", '/run/pool/*') other_properties = self.params.get("other_properties", '/run/pool/*') 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 431e7170327..8b68c137df1 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=cb,medium +:avocado: tags=scrubber,faults +:avocado: tags=TestWithScrubberFault,test_scrubber_csum_fault,stage_ftest + + """ 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/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 d602b0405c3..f9cc8c44485 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=cb,medium +:avocado: tags=scrubber,faults +:avocado: tags=TestWithScrubberTargetEviction,test_scrubber_ssd_auto_eviction,stage_ftest + + """ pool_prop = self.params.get("properties", '/run/pool/*') cont_prop = self.params.get("properties", '/run/container/*') 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 fb4fd23685f..a04f623f051 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=cb,medium +:avocado: tags=server,replay +:avocado: tags=ReplayTests,test_restart,stage_ftest + + """ 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) @@ -123,9 +128,10 @@ 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 fad085cd0db..f780f510503 100644 --- a/src/tests/ftest/server/storage_tiers.py +++ b/src/tests/ftest/server/storage_tiers.py @@ -22,16 +22,18 @@ 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. 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 = [] 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 = '