Skip to content

Commit a6a7482

Browse files
grom72JohnMalmbergphenderryon-jensen
authored
SRE-2832 FC fixes to enable Functional Tests (#16224)
Enable CI running in Fort Collins with: - passing HTTPS_PROXY to functional tests - fixing repository paths, E-MAIL domain, and hardware check - fixing expectations for InfiniBand adapters and IBoIP device detection - added build parameter to skip all functional or functional HW tests - limiting number of NVMe devices used to 4 - creating local host file to prevent DNS glitches - added minimum required python3-mpi4py-tests, mpich, and Lmod/lua-lmod versions - removed mpi/mlnx_openmpi-x86_64 module file - installing updated lua-lmod package for Leap 15.6 testing - commented out jenkins curl test in gha_functions.sh - default FUNCTIONAL_HARDWARE_MEDIUM_VERBS_PROVIDER_LABEL -> ci_ofed5 - fixed debuginfo RPM installs for stack trace generation Signed-off-by: Tomasz Gromadzki <[email protected]> Co-authored-by: John E. Malmberg <[email protected]> Co-authored-by: Phil Henderson <[email protected]> Co-authored-by: Ryon Jensen <[email protected]>
1 parent dacee45 commit a6a7482

22 files changed

+417
-152
lines changed

Jenkinsfile

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -213,12 +213,15 @@ pipeline {
213213
'stages. Specifies the default provider to use the daos_server ' +
214214
'config file when running functional tests (the launch.py ' +
215215
'--provider argument; i.e. "ucx+dc_x", "ofi+verbs", "ofi+tcp")')
216-
booleanParam(name: 'CI_SKIP_CANCEL_PREV_BUILD',
216+
booleanParam(name: 'CI_CANCEL_PREV_BUILD_SKIP',
217217
defaultValue: false,
218218
description: 'Do not cancel previous build.')
219219
booleanParam(name: 'CI_BUILD_PACKAGES_ONLY',
220220
defaultValue: false,
221221
description: 'Only build RPM and DEB packages, Skip unit tests.')
222+
string(name: 'CI_SCONS_ARGS',
223+
defaultValue: '',
224+
description: 'Arguments for scons when building DAOS')
222225
string(name: 'CI_RPM_TEST_VERSION',
223226
defaultValue: '',
224227
description: 'Package version to use instead of building. example: 1.3.103-1, 1.2-2')
@@ -281,6 +284,9 @@ pipeline {
281284
booleanParam(name: 'CI_TEST_LEAP15_RPMs',
282285
defaultValue: true,
283286
description: 'Run the Test RPMs on Leap 15 test stage')
287+
booleanParam(name: 'CI_FUNCTIONAL_TEST_SKIP',
288+
defaultValue: false,
289+
description: 'Skip all functional test stages (Test)')
284290
booleanParam(name: 'CI_MORE_FUNCTIONAL_PR_TESTS',
285291
defaultValue: false,
286292
description: 'Enable more distros for functional CI tests')
@@ -301,6 +307,9 @@ pipeline {
301307
defaultValue: false,
302308
description: 'Run the Functional on Ubuntu 20.04 test stage' +
303309
' Requires CI_MORE_FUNCTIONAL_PR_TESTS')
310+
booleanParam(name: 'CI_FUNCTIONAL_HARDWARE_TEST_SKIP',
311+
defaultValue: false,
312+
description: 'Skip Functional Hardware (Test Hardware) stage')
304313
booleanParam(name: 'CI_medium_TEST',
305314
defaultValue: true,
306315
description: 'Run the Functional Hardware Medium test stage')
@@ -341,7 +350,7 @@ pipeline {
341350
defaultValue: 'ci_nvme5',
342351
description: 'Label to use for the Functional Hardware Medium (MD on SSD) stages')
343352
string(name: 'FUNCTIONAL_HARDWARE_MEDIUM_VERBS_PROVIDER_LABEL',
344-
defaultValue: 'ci_nvme5',
353+
defaultValue: 'ci_ofed5',
345354
description: 'Label to use for 5 node Functional Hardware Medium Verbs Provider (MD on SSD) stages')
346355
string(name: 'FUNCTIONAL_HARDWARE_MEDIUM_VMD_LABEL',
347356
defaultValue: 'ci_vmd5',
@@ -361,9 +370,6 @@ pipeline {
361370
string(name: 'CI_BUILD_DESCRIPTION',
362371
defaultValue: '',
363372
description: 'A description of the build')
364-
string(name: 'CI_SCONS_ARGS',
365-
defaultValue: '',
366-
description: 'Arguments for scons when building DAOS')
367373
}
368374

369375
stages {
@@ -418,7 +424,7 @@ pipeline {
418424
stage('Cancel Previous Builds') {
419425
when {
420426
beforeAgent true
421-
expression { !paramsValue('CI_SKIP_CANCEL_PREV_BUILD', false) && !skipStage() }
427+
expression { !paramsValue('CI_CANCEL_PREV_BUILD_SKIP', false) && !skipStage() }
422428
}
423429
steps {
424430
cancelPreviousBuilds()
@@ -624,7 +630,7 @@ pipeline {
624630
}
625631
}
626632
}
627-
stage('Build on EL 8') {
633+
stage('Build on EL 8.8') {
628634
when {
629635
beforeAgent true
630636
expression { !params.CI_el8_NOBUILD && !skipStage() }
@@ -844,7 +850,9 @@ pipeline {
844850
stage('Test') {
845851
when {
846852
beforeAgent true
847-
expression { !skipStage() }
853+
//expression { !paramsValue('CI_FUNCTIONAL_TEST_SKIP', false) && !skipStage() }
854+
// Above not working, always skipping functional VM tests.
855+
expression { !paramsValue('CI_FUNCTIONAL_TEST_SKIP', false) }
848856
}
849857
parallel {
850858
stage('Functional on EL 8.8 with Valgrind') {
@@ -1108,7 +1116,7 @@ pipeline {
11081116
stage('Test Hardware') {
11091117
when {
11101118
beforeAgent true
1111-
expression { !skipStage() }
1119+
expression { !paramsValue('CI_FUNCTIONAL_HARDWARE_TEST_SKIP', false) && !skipStage() }
11121120
}
11131121
steps {
11141122
script {

ci/functional/test_main.sh

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
#!/bin/bash
22
#
3-
# Copyright 2020-2023 Intel Corporation.
3+
# Copyright 2020-2024 Intel Corporation.
4+
# Copyright 2025 Hewlett Packard Enterprise Development LP
45
#
56
# SPDX-License-Identifier: BSD-2-Clause-Patent
6-
7+
#
78
set -eux
89

910
if [ -z "$TEST_TAG" ]; then
@@ -47,6 +48,8 @@ test_cluster() {
4748
NODELIST=${tnodes} \
4849
BUILD_URL=\"${BUILD_URL:-Unknown in GHA}\" \
4950
STAGE_NAME=\"$STAGE_NAME\" \
51+
JENKINS_URL=\"${JENKINS_URL:-}\" \
52+
DAOS_DEVOPS_EMAIL=\"${DAOS_DEVOPS_EMAIL:-}\" \
5053
$(cat ci/functional/test_main_prep_node.sh)"
5154
}
5255

@@ -58,7 +61,11 @@ if ! test_cluster; then
5861
if cluster_reboot; then
5962
if test_cluster; then
6063
hardware_ok=true
64+
else
65+
echo "Hardware test failed again after reboot"
6166
fi
67+
else
68+
echo "Cluster reboot failed"
6269
fi
6370
else
6471
hardware_ok=true
@@ -99,6 +106,7 @@ if "$hardware_ok"; then
99106
FTEST_ARG=\"${FTEST_ARG:-}\" \
100107
WITH_VALGRIND=\"${WITH_VALGRIND:-}\" \
101108
STAGE_NAME=\"$STAGE_NAME\" \
109+
HTTPS_PROXY=\"${HTTPS_PROXY:-}\" \
102110
$(cat ci/functional/test_main_node.sh)"
103111
else
104112
./ftest.sh "$test_tag" "$tnodes" "$FTEST_ARG"

ci/functional/test_main_node.sh

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
#!/bin/bash
2-
2+
#
3+
# Copyright 2020-2022 Intel Corporation.
4+
# Copyright 2025 Hewlett Packard Enterprise Development LP
5+
#
6+
# SPDX-License-Identifier: BSD-2-Clause-Patent
7+
#
38
set -eux
49

510
DAOS_TEST_SHARED_DIR=$(mktemp -d -p /mnt/share/)
@@ -11,4 +16,5 @@ export REMOTE_ACCT=jenkins
1116
export WITH_VALGRIND="$WITH_VALGRIND"
1217
export STAGE_NAME="$STAGE_NAME"
1318

14-
/usr/lib/daos/TESTING/ftest/ftest.sh "$TEST_TAG" "$TNODES" "$FTEST_ARG"
19+
HTTPS_PROXY="${HTTPS_PROXY:-}" /usr/lib/daos/TESTING/ftest/ftest.sh \
20+
"$TEST_TAG" "$TNODES" "$FTEST_ARG"

0 commit comments

Comments
 (0)