Skip to content

Commit d20b8ae

Browse files
committed
Merge remote-tracking branch 'origin/master' into hendersp/DAOS-17203
2 parents a00d2b0 + ce829ac commit d20b8ae

19 files changed

+191
-92
lines changed

Jenkinsfile

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
#!/usr/bin/env groovy
22
/* groovylint-disable DuplicateListLiteral, DuplicateMapLiteral, DuplicateNumberLiteral */
33
// groovylint-disable DuplicateStringLiteral, NestedBlockDepth, VariableName
4-
/* Copyright (C) 2019-2023 Intel Corporation
4+
/* Copyright 2019-2024 Intel Corporation
5+
* Copyright 2025 Hewlett Packard Enterprise Development LP
56
* All rights reserved.
67
*
78
* This file is part of the DAOS Project. It is subject to the license terms
@@ -223,12 +224,15 @@ pipeline {
223224
stage('publishToRepository RPM tests') {
224225
when {
225226
beforeAgent true
226-
expression { env.NO_CI_TESTING != 'true' }
227+
/* disabled until https://daosio.atlassian.net/browse/SRE-3161 is fixed
228+
expression { env.NO_CI_TESTING != 'true' } */
229+
expression { false }
227230
}
228231
agent {
229232
dockerfile {
230233
filename 'docker/Dockerfile.el.8'
231234
label 'docker_runner'
235+
additionalBuildArgs dockerBuildArgs()
232236
}
233237
}
234238
steps {
@@ -262,13 +266,15 @@ pipeline {
262266
stage('publishToRepository DEB tests') {
263267
when {
264268
beforeAgent true
265-
expression { env.NO_CI_TESTING != 'true' }
269+
/* disabled until https://daosio.atlassian.net/browse/SRE-3161 is fixed
270+
expression { env.NO_CI_TESTING != 'true' } */
271+
expression { false }
266272
}
267273
agent {
268274
dockerfile {
269275
filename 'docker/Dockerfile.el.8'
270276
label 'docker_runner'
271-
additionalBuildArgs dockerBuildArgs(cachebust: false, add_repos: false)
277+
additionalBuildArgs dockerBuildArgs(cachebust: false)
272278
}
273279
}
274280
steps {
@@ -302,11 +308,14 @@ pipeline {
302308
stage('provisionNodes on EL 9 with master Repo') {
303309
when {
304310
beforeAgent true
311+
/* disabled until https://daosio.atlassian.net/browse/SRE-3162 is fixed
305312
expression {
306313
env.NO_CI_TESTING != 'true' &&
307314
cachedCommitPragma('Skip-el9-provisioning-test') != 'true' &&
308315
daosLatestVersion('master') != ''
309316
}
317+
*/
318+
expression { false }
310319
}
311320
agent {
312321
label 'ci_vm1'
@@ -345,10 +354,13 @@ pipeline {
345354
stage('provisionNodes on EL 8 with slurm') {
346355
when {
347356
beforeAgent true
357+
/* disabled until https://daosio.atlassian.net/browse/SRE-3162 is fixed
348358
expression {
349359
env.NO_CI_TESTING != 'true' &&
350360
daosLatestVersion('master') != ''
351361
}
362+
*/
363+
expression { false }
352364
}
353365
agent {
354366
label 'ci_vm1'
@@ -377,10 +389,13 @@ pipeline {
377389
stage('provisionNodes on Leap 15 with slurm') {
378390
when {
379391
beforeAgent true
392+
/* disabled until https://daosio.atlassian.net/browse/SRE-3162 is fixed
380393
expression {
381394
env.NO_CI_TESTING != 'true' &&
382395
daosLatestVersion('master') != ''
383396
}
397+
*/
398+
expression { false }
384399
}
385400
agent {
386401
label 'ci_vm1'

vars/buildRpm.groovy

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
/* groovylint-disable DuplicateStringLiteral, VariableName */
22
// vars/buildRpm.groovy
3+
/*
4+
* Copyright 2020-2024 Intel Corporation
5+
* Copyright 2025 Hewlett Packard Enterprise Development LP
6+
*/
37

48
/**
59
* buildRpm step method
@@ -60,6 +64,16 @@ Map call(Map config = [:]) {
6064
env_vars = ' CHROOT_NAME=' + config['chroot_name']
6165
}
6266

67+
String https_proxy = ''
68+
if (env.DAOS_HTTPS_PROXY) {
69+
https_proxy = "${env.DAOS_HTTPS_PROXY}"
70+
} else if (env.HTTPS_PROXY) {
71+
https_proxy = "${env.HTTPS_PROXY}"
72+
}
73+
if (https_proxy) {
74+
env_vars += ' HTTPS_PROXY=' + https_proxy
75+
}
76+
6377
String error_stage_result = 'FAILURE'
6478
String error_build_result = 'FAILURE'
6579
if (config['unstable']) {

vars/distroVersion.groovy

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ String call(String distro, String branch) {
3333
return ['el8': ['master': '8.8',
3434
'2.4': '8.8',
3535
'2.6': '8.8'],
36-
'el9': ['master': '9.2',
37-
'2.6': '9.2'],
36+
'el9': ['master': '9.4',
37+
'2.6': '9.4'],
3838
'leap15': ['master': '15.6',
3939
'2.4': '15.6',
4040
'2.6': '15.6'],
@@ -48,8 +48,8 @@ assert(call('leap15', 'master') == '15.6')
4848
assert(call('el8', '2.4') == '8.8')
4949
assert(call('el8', '2.6') == '8.8')
5050
assert(call('el8', 'master') == '8.8')
51-
assert(call('el9', 'master') == '9.2')
52-
assert(call('el9', '2.6') == '9.2')
51+
assert(call('el9', 'master') == '9.4')
52+
assert(call('el9', '2.6') == '9.4')
5353

5454
/* Uncomment to do further testing
5555
env = [:]

vars/docOnlyChange.groovy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ boolean call(String target_branch) {
1717
if (cachedCommitPragma('Doc-only').toLowerCase() == 'false') {
1818
return false
1919
}
20+
String script
2021
if (fileExists('ci/doc_only_change.sh')) {
2122
script = 'CHANGE_ID=' + env.CHANGE_ID +
2223
' TARGET_BRANCH=' + target_branch +

vars/dockerBuildArgs.groovy

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
/* groovylint-disable DuplicateStringLiteral, VariableName */
22
// vars/dockerBuildArgs.groovy
3+
/*
4+
* Copyright 2020-2024 Intel Corporation
5+
* Copyright 2025 Hewlett Packard Enterprise Development LP
6+
*/
37

48
Integer num_proc() {
59
return sh(label: 'Get number of processors online',
@@ -31,7 +35,6 @@ Integer num_proc() {
3135

3236
String call(Map config = [:]) {
3337
Boolean cachebust = config.get('cachebust', true)
34-
Boolean add_repos = config.get('add_repos', true)
3538
Boolean deps_build = config.get('deps_build', false)
3639
Boolean parallel_build = config.get('parallel_build', false)
3740

@@ -55,12 +58,27 @@ String call(Map config = [:]) {
5558
}
5659

5760
// pass through env. var.s
58-
['DAOS_LAB_CA_FILE_URL', 'REPO_FILE_URL', 'HTTP_PROXY', 'HTTPS_PROXY'].each { var ->
61+
['DAOS_LAB_CA_FILE_URL', 'REPO_FILE_URL', 'HTTP_PROXY'].each { var ->
5962
if (env."$var") {
6063
ret_str += ' --build-arg ' + var + '="' + env."$var" + '"'
6164
}
6265
}
6366

67+
if (env.DAOS_NO_PROXY) {
68+
println "DAOS_NO_PROXY: $DAOS_NO_PROXY"
69+
ret_str += ' --build-arg DAOS_NO_PROXY' + '="' + env.DAOS_NO_PROXY + '"'
70+
}
71+
72+
String https_proxy = ''
73+
if (env.DAOS_HTTPS_PROXY) {
74+
https_proxy = env.DAOS_HTTPS_PROXY
75+
} else if (env.HTTPS_PROXY) {
76+
https_proxy = env.HTTPS_PROXY
77+
}
78+
if (https_proxy) {
79+
ret_str += ' --build-arg HTTPS_PROXY' + '="' + https_proxy + '"'
80+
}
81+
6482
if (config['qb']) {
6583
ret_str += ' --build-arg QUICKBUILD=true --build-arg DAOS_DEPS_BUILD=no'
6684
} else {

vars/functionalTest.groovy

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
/* groovylint-disable VariableName */
22
// vars/functionalTest.groovy
3+
/*
4+
* Copyright 2020-2024 Intel Corporation
5+
* Copyright 2025 Hewlett Packard Enterprise Development LP
6+
*/
37

48
/**
59
* functionalTest step method
@@ -110,8 +114,8 @@ Map call(Map config = [:]) {
110114
run_test_config['context'] = context
111115
run_test_config['description'] = description
112116

113-
sh label: 'Install Launchable',
114-
script: '''if ! pip3 install --upgrade --upgrade-strategy only-if-needed launchable; then
117+
String script = 'if ! pip3 install'
118+
script += ''' --upgrade --upgrade-strategy only-if-needed launchable; then
115119
set +e
116120
echo "Failed to install launchable"
117121
id
@@ -125,6 +129,8 @@ Map call(Map config = [:]) {
125129
fi
126130
pip3 list --user || true
127131
'''
132+
sh label: 'Install Launchable',
133+
script: script
128134

129135
try {
130136
withCredentials([string(credentialsId: 'launchable-test', variable: 'LAUNCHABLE_TOKEN')]) {

vars/functionalTestPostV2.groovy

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,11 @@ void call(Map config = [:]) {
9898
script: 'ci/functional/launchable_analysis "' + fileName + '"')
9999
}
100100

101+
String script = 'pip3 install'
102+
script += ' --user --upgrade launchable~=1.0'
103+
101104
sh(label: 'Install Launchable',
102-
script: 'pip3 install --user --upgrade launchable~=1.0')
105+
script: script)
103106

104107
try {
105108
withCredentials([string(credentialsId: 'launchable-test', variable: 'LAUNCHABLE_TOKEN')]) {

vars/getFunctionalTestStage.groovy

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Map call(Map kwargs = [:]) {
4545

4646
return {
4747
stage("${name}") {
48-
// Get the tags for thge stage. Use either the build parameter, commit pragma, or
48+
// Get the tags for the stage. Use either the build parameter, commit pragma, or
4949
// default tags. All tags are combined with the stage tags to ensure only tests that
5050
// 'fit' the cluster will be run.
5151
String tags = getFunctionalTags(
@@ -58,12 +58,12 @@ Map call(Map kwargs = [:]) {
5858
'run_if_pr': run_if_pr,
5959
'run_if_landing': run_if_landing]
6060
if (skipFunctionalTestStage(skip_kwargs)) {
61-
echo "[${name}] Stage skipped by skipFunctionalTestStage()"
61+
println("[${name}] Stage skipped by skipFunctionalTestStage()")
6262
Utils.markStageSkippedForConditional("${name}")
6363
} else {
6464
node(cachedCommitPragma("Test-label${pragma_suffix}", label)) {
6565
// Ensure access to any branch provisioning scripts exist
66-
echo "[${name}] Check out '${base_branch}' from version control"
66+
println("[${name}] Check out '${base_branch}' from version control")
6767
if (base_branch) {
6868
checkoutScm(
6969
url: 'https://github.com/daos-stack/daos.git',
@@ -75,7 +75,7 @@ Map call(Map kwargs = [:]) {
7575
}
7676

7777
try {
78-
echo "[${name}] Running functionalTest() on ${label} with tags=${tags}"
78+
println("[${name}] Running functionalTest() on ${label} with tags=${tags}")
7979
jobStatusUpdate(
8080
job_status,
8181
name,
@@ -91,13 +91,13 @@ Map call(Map kwargs = [:]) {
9191
provider: provider)['ftest_arg'],
9292
test_function: 'runTestFunctionalV2'))
9393
} finally {
94-
echo "[${name}] Running functionalTestPostV2()"
94+
println("[${name}] Running functionalTestPostV2()")
9595
functionalTestPostV2()
9696
jobStatusUpdate(job_status, name)
9797
}
9898
}
9999
}
100-
echo "[${name}] Finished with ${job_status}"
100+
println("[${name}] Finished with ${job_status}")
101101
}
102102
}
103103
}

vars/notifyBrokenBranch.groovy

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// vars/notifyBrokenBranch.groovy
2+
/* groovylint-disable VariableName */
23

34
/**
45
* notifyBrokenBranch.groovy
@@ -12,37 +13,47 @@
1213

1314
def call(Map config = [:]) {
1415

16+
String branches
1517
if (config['branches']) {
1618
branches = config['branches'].split()
1719
} else {
1820
branches = ["master"]
1921
}
2022

21-
if (!branches.contains(env.GIT_BRANCH)) {
23+
// Needed this as a work around that env['GIT_BRANCH'] is blacklisted
24+
// inside of pipeline-lib
25+
String git_branch = env.GIT_BRANCH
26+
27+
if (!branches.contains(git_branch)) {
2228
return
2329
}
2430

25-
emailextDaos body: env.GIT_BRANCH + ' is broken and you are one of the people\n' +
31+
emailextDaos body: git_branch + ' is broken and you are one of the people\n' +
2632
'who have committed to it since it was last successful. Please\n' +
27-
'investigate if your recent patch(es) to ' + env.GIT_BRANCH + '\n' +
33+
'investigate if your recent patch(es) to ' + git_branch + '\n' +
2834
'are responsible for breaking it.\n\n' +
2935
'See ' + env.BUILD_URL + ' for more details.',
3036
recipientProviders: [
3137
[$class: 'DevelopersRecipientProvider'],
3238
[$class: 'RequesterRecipientProvider']
3339
],
34-
subject: 'Build broken on ' + env.GIT_BRANCH,
40+
subject: 'Build broken on ' + git_branch,
3541
onPR: config['onPR']
3642

37-
def branch = env['GIT_BRANCH'].toUpperCase().replaceAll("-", "_")
38-
def watchers = env["DAOS_STACK_${branch}_WATCHER"]
39-
40-
if (watchers != "null") {
41-
emailextDaos body: env.GIT_BRANCH + ' is broken.\n\n' +
42-
'See ' + env.BUILD_URL + ' for more details.',
43-
to: watchers,
44-
subject: 'Build broken on ' + env.GIT_BRANCH,
45-
onPR: config['onPR']
43+
String branch = git_branch.toUpperCase().replaceAll("-", "_")
44+
// This will need to be implemented in trusted-pipe-line lib eventually
45+
// as checking if environment variables exist is blacklisted in the
46+
// groovy sandbox.
47+
// for now we only have DAOS_STACK_MASTER_WATCHER
48+
// def watchers = env["DAOS_STACK_${branch}_WATCHER"]
49+
if (branch == 'MASTER') {
50+
String watchers = env.DAOS_STACK_MASTER_WATCHER
51+
if (watchers != "null") {
52+
emailextDaos body: git_branch + ' is broken.\n\n' +
53+
'See ' + env.BUILD_URL + ' for more details.',
54+
to: watchers,
55+
subject: 'Build broken on ' + git_branch,
56+
onPR: config['onPR']
57+
}
4658
}
47-
4859
}

vars/packageBuildingPipeline.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/groovy
22
/* groovylint-disable DuplicateMapLiteral, DuplicateStringLiteral, NestedBlockDepth */
3-
/* Copyright (C) 2019-2023 Intel Corporation
3+
/* Copyright 2019-2023 Intel Corporation
44
* All rights reserved.
55
*
66
* Redistribution and use in source and binary forms, with or without

0 commit comments

Comments
 (0)