Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into dbohning/daos-12859…
Browse files Browse the repository at this point in the history
…-pass3

Test-tag: ContainerQueryAttributeTest ManagementServiceResilience test_bashcmd ParallelIo NvmePoolCapacity DestroyTests ListPoolsTest RbldBasic RbldBasic RbldPoolDestroyWithIO RbldReadArrayTest RbldWithIO ObjectMetadata performance,-manual container,pr DaosVolBigIO DaosVol MacsioTest TestWithScrubberBasic TestWithScrubberFault TestWithScrubberTargetEviction dfuse datamover test_container_redundancy_factor_oclass_enforcement RbldContRfTest osa RbldCascadingFailures RbldDeleteObjects RbldReadArrayTest TestScrubberEvictWithAggregation TestScrubberEvictWithRebuild TestScrubberEvictWithSnapshot TestWithScrubberFreq
Skip-unit-tests: true
Skip-fault-injection-test: true

Required-githooks: true
  • Loading branch information
daltonbohning committed Jan 17, 2024
2 parents e256bbb + a0503a0 commit abd877e
Show file tree
Hide file tree
Showing 134 changed files with 4,992 additions and 4,274 deletions.
5 changes: 5 additions & 0 deletions .github/workflows/pylint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,16 @@ jobs:
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install core python packages
run: python3 -m pip install --requirement requirements.txt
- name: Install extra python packages
run: python3 -m pip install --requirement utils/cq/requirements.txt
- name: Install enchant
run: sudo apt-get update && sudo apt-get -y install python3-enchant
- name: Show versions
run: ./utils/cq/daos_pylint.py --version
- name: Run pylint check.
run: ./utils/cq/daos_pylint.py --git --output-format github
146 changes: 73 additions & 73 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -1040,78 +1040,78 @@ pipeline {
}
}
} // stage('Fault inection testing on EL 8.8')
// stage('Test RPMs on EL 8.6') {
// when {
// beforeAgent true
// expression { ! skipStage() }
// }
// agent {
// label params.CI_UNIT_VM1_LABEL
// }
// steps {
// job_step_update(
// testRpm(inst_repos: daosRepos(),
// daos_pkg_version: daosPackagesVersion(next_version))
// )
// }
// post {
// always {
// rpm_test_post(env.STAGE_NAME, env.NODELIST)
// }
// }
// } // stage('Test CentOS 7 RPMs')
// stage('Test RPMs on Leap 15.4') {
// when {
// beforeAgent true
// expression { ! 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.4': getFunctionalTestStage(
// name: 'Test RPMs on Leap 15.4',
// 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))
// )
// }
// post {
// always {
// rpm_test_post(env.STAGE_NAME, env.NODELIST)
// }
// }
// } // stage('Test Leap 15 RPMs')
stage('Test RPMs on EL 8.6') {
when {
beforeAgent true
expression { ! skipStage() }
}
agent {
label params.CI_UNIT_VM1_LABEL
}
steps {
job_step_update(
testRpm(inst_repos: daosRepos(),
daos_pkg_version: daosPackagesVersion(next_version))
)
}
post {
always {
rpm_test_post(env.STAGE_NAME, env.NODELIST)
}
}
} // stage('Test CentOS 7 RPMs')
stage('Test RPMs on Leap 15.4') {
when {
beforeAgent true
expression { ! 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.4': getFunctionalTestStage(
name: 'Test RPMs on Leap 15.4',
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))
)
}
post {
always {
rpm_test_post(env.STAGE_NAME, env.NODELIST)
}
}
} // stage('Test Leap 15 RPMs')
} // parallel
} // stage('Test')
stage('Test Storage Prep on EL 8.8') {
Expand Down Expand Up @@ -1202,7 +1202,7 @@ pipeline {
stage_tags: 'hw,medium,provider',
default_tags: startedByTimer() ? 'pr daily_regression' : 'pr',
default_nvme: 'auto',
provider: 'ucx+dc_x',
provider: cachedCommitPragma('Test-provider-ucx', 'ucx+ud_x'),
run_if_pr: false,
run_if_landing: false,
job_status: job_status_internal
Expand Down
4 changes: 4 additions & 0 deletions ci/provisioning/post_provision_config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ source ci/provisioning/post_provision_config_common_functions.sh
# shellcheck disable=SC1091
source ci/junit.sh


: "${MLNX_VER_NUM:=latest-5.8}"

: "${DISTRO:=EL_7}"
DSL_REPO_var="DAOS_STACK_${DISTRO}_LOCAL_REPO"
DSG_REPO_var="DAOS_STACK_${DISTRO}_GROUP_REPO"
Expand All @@ -44,6 +47,7 @@ if ! retry_cmd 2400 clush -B -S -l root -w "$NODESTRING" \
DISTRO=\"$DISTRO\"
DAOS_STACK_RETRY_DELAY_SECONDS=\"$DAOS_STACK_RETRY_DELAY_SECONDS\"
DAOS_STACK_RETRY_COUNT=\"$DAOS_STACK_RETRY_COUNT\"
MLNX_VER_NUM=\"$MLNX_VER_NUM\"
BUILD_URL=\"$BUILD_URL\"
STAGE_NAME=\"$STAGE_NAME\"
OPERATIONS_EMAIL=\"$OPERATIONS_EMAIL\"
Expand Down
3 changes: 0 additions & 3 deletions ci/provisioning/post_provision_config_common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,3 @@ case "$ID_LIKE" in
EXCLUDE_UPGRADE+=,fuse,fuse-libs,fuse-devel
;;
esac

# shellcheck disable=SC2034
MLNX_VER_NUM=5.8-3.0.7.0
12 changes: 7 additions & 5 deletions ci/provisioning/post_provision_config_nodes_EL_8.sh
Original file line number Diff line number Diff line change
Expand Up @@ -55,19 +55,21 @@ install_mofed() {
stream=false
gversion="$VERSION_ID"
if [ "$gversion" == "8" ]; then
gversion="8.6"
# Mellanox does not have a release for 8.9 yet.
gversion="8.8"
stream=true
elif [[ $gversion = *.*.* ]]; then
gversion="${gversion%.*}"
fi

# Add a repo to install MOFED RPMS
repo_url=https://artifactory.dc.hpdd.intel.com/artifactory/mlnx_ofed/"$MLNX_VER_NUM-rhel$gversion"-x86_64/
artifactory_base_url="https://artifactory.dc.hpdd.intel.com/artifactory/"
mellanox_proxy="${artifactory_base_url}mellanox-proxy/mlnx_ofed/"
mellanox_key_url="${artifactory_base_url}mlnx_ofed/RPM-GPG-KEY-Mellanox"
rpm --import "$mellanox_key_url"
repo_url="$mellanox_proxy$MLNX_VER_NUM/rhel$gversion/x86_64/"
dnf -y config-manager --add-repo="$repo_url"
curl -L -O "$repo_url"RPM-GPG-KEY-Mellanox
dnf -y config-manager --save --setopt="$(url_to_repo "$repo_url")".gpgcheck=1
rpm --import RPM-GPG-KEY-Mellanox
rm -f RPM-GPG-KEY-Mellanox
dnf repolist || true

time dnf -y install mlnx-ofed-basic ucx-cma ucx-ib ucx-knem ucx-rdmacm ucx-xpmem
Expand Down
12 changes: 6 additions & 6 deletions src/bio/bio_xstream.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* (C) Copyright 2018-2023 Intel Corporation.
* (C) Copyright 2018-2024 Intel Corporation.
*
* SPDX-License-Identifier: BSD-2-Clause-Patent
*/
Expand Down Expand Up @@ -196,8 +196,8 @@ set_faulty_criteria(void)
glb_criteria.fc_max_csum_errs = UINT32_MAX;

d_getenv_bool("DAOS_NVME_AUTO_FAULTY_ENABLED", &glb_criteria.fc_enabled);
d_getenv_int("DAOS_NVME_AUTO_FAULTY_IO", &glb_criteria.fc_max_io_errs);
d_getenv_int("DAOS_NVME_AUTO_FAULTY_CSUM", &glb_criteria.fc_max_csum_errs);
d_getenv_uint32_t("DAOS_NVME_AUTO_FAULTY_IO", &glb_criteria.fc_max_io_errs);
d_getenv_uint32_t("DAOS_NVME_AUTO_FAULTY_CSUM", &glb_criteria.fc_max_csum_errs);

D_INFO("NVMe auto faulty is %s. Criteria: max_io_errs:%u, max_csum_errs:%u\n",
glb_criteria.fc_enabled ? "enabled" : "disabled",
Expand Down Expand Up @@ -249,15 +249,15 @@ bio_nvme_init(const char *nvme_conf, int numa_node, unsigned int mem_size,
d_getenv_bool("DAOS_SCM_RDMA_ENABLED", &bio_scm_rdma);
D_INFO("RDMA to SCM is %s\n", bio_scm_rdma ? "enabled" : "disabled");

d_getenv_int("DAOS_SPDK_SUBSYS_TIMEOUT", &bio_spdk_subsys_timeout);
d_getenv_uint("DAOS_SPDK_SUBSYS_TIMEOUT", &bio_spdk_subsys_timeout);
D_INFO("SPDK subsystem fini timeout is %u ms\n", bio_spdk_subsys_timeout);

d_getenv_int("DAOS_SPDK_MAX_UNMAP_CNT", &bio_spdk_max_unmap_cnt);
d_getenv_uint("DAOS_SPDK_MAX_UNMAP_CNT", &bio_spdk_max_unmap_cnt);
if (bio_spdk_max_unmap_cnt == 0)
bio_spdk_max_unmap_cnt = UINT32_MAX;
D_INFO("SPDK batch blob unmap call count is %u\n", bio_spdk_max_unmap_cnt);

d_getenv_int("DAOS_MAX_ASYNC_SZ", &bio_max_async_sz);
d_getenv_uint("DAOS_MAX_ASYNC_SZ", &bio_max_async_sz);
D_INFO("Max async data size is set to %u bytes\n", bio_max_async_sz);

/* Hugepages disabled */
Expand Down
6 changes: 6 additions & 0 deletions src/cart/README.env
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,12 @@ This file lists the environment variables used in CaRT.
It its value exceed 256, then will use 256 for flow control.
Set it to zero means disable the flow control in cart.

. D_QUOTA_RPCS
Set it as the max number of per-context inflight RPCs that a sender will send
onto a wire. Quota on each context is independent of each other.
If it is not set the default value of 64 is used.
Setting it to 0 disables quota

. CRT_CTX_SHARE_ADDR
Set it to non-zero to make all the contexts share one network address, in
this case CaRT will create one SEP and each context maps to one tx/rx
Expand Down
Loading

0 comments on commit abd877e

Please sign in to comment.