Skip to content

Commit f5de26d

Browse files
authored
evg: set patchable and batchtime for Power8 and zSeries tasks (#1761)
1 parent d934cd5 commit f5de26d

File tree

7 files changed

+76
-10
lines changed

7 files changed

+76
-10
lines changed

.evergreen/config_generator/components/cse/openssl.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,15 @@ def tasks():
7373

7474
MORE_TAGS = ['cse']
7575

76-
res += generate_compile_tasks(
77-
SSL, TAG, SASL_TO_FUNC, COMPILE_MATRIX, MORE_TAGS
78-
)
79-
76+
res += generate_compile_tasks(SSL, TAG, SASL_TO_FUNC, COMPILE_MATRIX, MORE_TAGS)
8077
res += generate_test_tasks(SSL, TAG, TEST_MATRIX)
8178

79+
# PowerPC and zSeries are limited resources.
80+
for task in res:
81+
if any(pattern in task.run_on for pattern in ["power8", "zseries"]):
82+
task.patchable = False
83+
task.batchtime = 1440 # 1 day
84+
8285
return res
8386

8487

.evergreen/config_generator/components/sasl/openssl.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,12 @@ def tasks():
7777
res += generate_compile_tasks(SSL, TAG, SASL_TO_FUNC, COMPILE_MATRIX)
7878
res += generate_test_tasks(SSL, TAG, TEST_MATRIX)
7979

80+
# PowerPC and zSeries are limited resources.
81+
for task in res:
82+
if any(pattern in task.run_on for pattern in ["power8", "zseries"]):
83+
task.patchable = False
84+
task.batchtime = 1440 # 1 day
85+
8086
return res
8187

8288

.evergreen/config_generator/etc/utils.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ class Task(EvgTask):
2525

2626
disable: bool = False
2727
run_on: str | Sequence[str] | None = None
28+
batchtime: int | None = None
2829

2930

3031
# Automatically formats the provided script and invokes it in Bash.

.evergreen/generated_configs/legacy-config.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16670,6 +16670,7 @@ buildvariants:
1667016670
- debug-compile-sasl-openssl
1667116671
- .latest .nossl
1667216672
- test-dns-openssl
16673+
patchable: false
1667316674
batchtime: 1440
1667416675
- name: arm-ubuntu1804
1667516676
display_name: '*ARM (aarch64) (Ubuntu 18.04)'
@@ -16710,6 +16711,7 @@ buildvariants:
1671016711
- debug-compile-sasl-openssl
1671116712
- .authentication-tests .openssl
1671216713
- .latest .nossl
16714+
patchable: false
1671316715
batchtime: 1440
1671416716
- name: clang60ubuntu
1671516717
display_name: clang 6.0 (Ubuntu 18.04)

.evergreen/generated_configs/tasks.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1605,6 +1605,8 @@ tasks:
16051605
- name: cse-sasl-cyrus-openssl-rhel83-zseries-gcc-compile
16061606
run_on: rhel83-zseries-large
16071607
tags: [cse-matrix-openssl, compile, rhel83-zseries, gcc, cse, sasl-cyrus]
1608+
batchtime: 1440
1609+
patchable: false
16081610
commands:
16091611
- func: find-cmake-latest
16101612
- func: cse-sasl-cyrus-openssl-compile
@@ -1615,6 +1617,8 @@ tasks:
16151617
run_on: rhel83-zseries-small
16161618
tags: [cse-matrix-openssl, test, rhel83-zseries, gcc, sasl-cyrus, cse, auth, server, "5.0", openssl]
16171619
depends_on: [{ name: cse-sasl-cyrus-openssl-rhel83-zseries-gcc-compile }]
1620+
batchtime: 1440
1621+
patchable: false
16181622
commands:
16191623
- func: fetch-build
16201624
vars:
@@ -1635,6 +1639,8 @@ tasks:
16351639
run_on: rhel83-zseries-small
16361640
tags: [cse-matrix-openssl, test, rhel83-zseries, gcc, sasl-cyrus, cse, auth, replica, "7.0", openssl]
16371641
depends_on: [{ name: cse-sasl-cyrus-openssl-rhel83-zseries-gcc-compile }]
1642+
batchtime: 1440
1643+
patchable: false
16381644
commands:
16391645
- func: fetch-build
16401646
vars:
@@ -1655,6 +1661,8 @@ tasks:
16551661
run_on: rhel83-zseries-small
16561662
tags: [cse-matrix-openssl, test, rhel83-zseries, gcc, sasl-cyrus, cse, auth, server, "7.0", openssl]
16571663
depends_on: [{ name: cse-sasl-cyrus-openssl-rhel83-zseries-gcc-compile }]
1664+
batchtime: 1440
1665+
patchable: false
16581666
commands:
16591667
- func: fetch-build
16601668
vars:
@@ -1675,6 +1683,8 @@ tasks:
16751683
run_on: rhel83-zseries-small
16761684
tags: [cse-matrix-openssl, test, rhel83-zseries, gcc, sasl-cyrus, cse, auth, replica, "8.0", openssl]
16771685
depends_on: [{ name: cse-sasl-cyrus-openssl-rhel83-zseries-gcc-compile }]
1686+
batchtime: 1440
1687+
patchable: false
16781688
commands:
16791689
- func: fetch-build
16801690
vars:
@@ -1695,6 +1705,8 @@ tasks:
16951705
run_on: rhel83-zseries-small
16961706
tags: [cse-matrix-openssl, test, rhel83-zseries, gcc, sasl-cyrus, cse, auth, server, "8.0", openssl]
16971707
depends_on: [{ name: cse-sasl-cyrus-openssl-rhel83-zseries-gcc-compile }]
1708+
batchtime: 1440
1709+
patchable: false
16981710
commands:
16991711
- func: fetch-build
17001712
vars:
@@ -1715,6 +1727,8 @@ tasks:
17151727
run_on: rhel83-zseries-small
17161728
tags: [cse-matrix-openssl, test, rhel83-zseries, gcc, sasl-cyrus, cse, auth, replica, latest, openssl]
17171729
depends_on: [{ name: cse-sasl-cyrus-openssl-rhel83-zseries-gcc-compile }]
1730+
batchtime: 1440
1731+
patchable: false
17181732
commands:
17191733
- func: fetch-build
17201734
vars:
@@ -1735,6 +1749,8 @@ tasks:
17351749
run_on: rhel83-zseries-small
17361750
tags: [cse-matrix-openssl, test, rhel83-zseries, gcc, sasl-cyrus, cse, auth, server, latest, openssl]
17371751
depends_on: [{ name: cse-sasl-cyrus-openssl-rhel83-zseries-gcc-compile }]
1752+
batchtime: 1440
1753+
patchable: false
17381754
commands:
17391755
- func: fetch-build
17401756
vars:
@@ -3201,6 +3217,8 @@ tasks:
32013217
- name: sasl-cyrus-openssl-rhel81-power8-gcc-compile
32023218
run_on: rhel81-power8-large
32033219
tags: [sasl-matrix-openssl, compile, rhel81-power8, gcc, sasl-cyrus]
3220+
batchtime: 1440
3221+
patchable: false
32043222
commands:
32053223
- func: find-cmake-latest
32063224
- func: sasl-cyrus-openssl-compile
@@ -3211,6 +3229,8 @@ tasks:
32113229
run_on: rhel81-power8-small
32123230
tags: [sasl-matrix-openssl, test, rhel81-power8, gcc, sasl-cyrus, auth, server, "4.2", openssl]
32133231
depends_on: [{ name: sasl-cyrus-openssl-rhel81-power8-gcc-compile }]
3232+
batchtime: 1440
3233+
patchable: false
32143234
commands:
32153235
- func: fetch-build
32163236
vars:
@@ -3231,6 +3251,8 @@ tasks:
32313251
run_on: rhel81-power8-small
32323252
tags: [sasl-matrix-openssl, test, rhel81-power8, gcc, sasl-cyrus, auth, server, "4.4", openssl]
32333253
depends_on: [{ name: sasl-cyrus-openssl-rhel81-power8-gcc-compile }]
3254+
batchtime: 1440
3255+
patchable: false
32343256
commands:
32353257
- func: fetch-build
32363258
vars:
@@ -3251,6 +3273,8 @@ tasks:
32513273
run_on: rhel81-power8-small
32523274
tags: [sasl-matrix-openssl, test, rhel81-power8, gcc, sasl-cyrus, auth, server, "5.0", openssl]
32533275
depends_on: [{ name: sasl-cyrus-openssl-rhel81-power8-gcc-compile }]
3276+
batchtime: 1440
3277+
patchable: false
32543278
commands:
32553279
- func: fetch-build
32563280
vars:
@@ -3271,6 +3295,8 @@ tasks:
32713295
run_on: rhel81-power8-small
32723296
tags: [sasl-matrix-openssl, test, rhel81-power8, gcc, sasl-cyrus, auth, server, "6.0", openssl]
32733297
depends_on: [{ name: sasl-cyrus-openssl-rhel81-power8-gcc-compile }]
3298+
batchtime: 1440
3299+
patchable: false
32743300
commands:
32753301
- func: fetch-build
32763302
vars:
@@ -3291,6 +3317,8 @@ tasks:
32913317
run_on: rhel81-power8-small
32923318
tags: [sasl-matrix-openssl, test, rhel81-power8, gcc, sasl-cyrus, auth, server, "7.0", openssl]
32933319
depends_on: [{ name: sasl-cyrus-openssl-rhel81-power8-gcc-compile }]
3320+
batchtime: 1440
3321+
patchable: false
32943322
commands:
32953323
- func: fetch-build
32963324
vars:
@@ -3311,6 +3339,8 @@ tasks:
33113339
run_on: rhel81-power8-small
33123340
tags: [sasl-matrix-openssl, test, rhel81-power8, gcc, sasl-cyrus, auth, server, "8.0", openssl]
33133341
depends_on: [{ name: sasl-cyrus-openssl-rhel81-power8-gcc-compile }]
3342+
batchtime: 1440
3343+
patchable: false
33143344
commands:
33153345
- func: fetch-build
33163346
vars:
@@ -3331,6 +3361,8 @@ tasks:
33313361
run_on: rhel81-power8-small
33323362
tags: [sasl-matrix-openssl, test, rhel81-power8, gcc, sasl-cyrus, auth, server, latest, openssl]
33333363
depends_on: [{ name: sasl-cyrus-openssl-rhel81-power8-gcc-compile }]
3364+
batchtime: 1440
3365+
patchable: false
33343366
commands:
33353367
- func: fetch-build
33363368
vars:
@@ -3350,6 +3382,8 @@ tasks:
33503382
- name: sasl-cyrus-openssl-rhel83-zseries-gcc-compile
33513383
run_on: rhel83-zseries-large
33523384
tags: [sasl-matrix-openssl, compile, rhel83-zseries, gcc, sasl-cyrus]
3385+
batchtime: 1440
3386+
patchable: false
33533387
commands:
33543388
- func: find-cmake-latest
33553389
- func: sasl-cyrus-openssl-compile
@@ -3360,6 +3394,8 @@ tasks:
33603394
run_on: rhel83-zseries-small
33613395
tags: [sasl-matrix-openssl, test, rhel83-zseries, gcc, sasl-cyrus, auth, server, "5.0", openssl]
33623396
depends_on: [{ name: sasl-cyrus-openssl-rhel83-zseries-gcc-compile }]
3397+
batchtime: 1440
3398+
patchable: false
33633399
commands:
33643400
- func: fetch-build
33653401
vars:
@@ -3380,6 +3416,8 @@ tasks:
33803416
run_on: rhel83-zseries-small
33813417
tags: [sasl-matrix-openssl, test, rhel83-zseries, gcc, sasl-cyrus, auth, server, "6.0", openssl]
33823418
depends_on: [{ name: sasl-cyrus-openssl-rhel83-zseries-gcc-compile }]
3419+
batchtime: 1440
3420+
patchable: false
33833421
commands:
33843422
- func: fetch-build
33853423
vars:
@@ -3400,6 +3438,8 @@ tasks:
34003438
run_on: rhel83-zseries-small
34013439
tags: [sasl-matrix-openssl, test, rhel83-zseries, gcc, sasl-cyrus, auth, server, "7.0", openssl]
34023440
depends_on: [{ name: sasl-cyrus-openssl-rhel83-zseries-gcc-compile }]
3441+
batchtime: 1440
3442+
patchable: false
34033443
commands:
34043444
- func: fetch-build
34053445
vars:
@@ -3420,6 +3460,8 @@ tasks:
34203460
run_on: rhel83-zseries-small
34213461
tags: [sasl-matrix-openssl, test, rhel83-zseries, gcc, sasl-cyrus, auth, server, "8.0", openssl]
34223462
depends_on: [{ name: sasl-cyrus-openssl-rhel83-zseries-gcc-compile }]
3463+
batchtime: 1440
3464+
patchable: false
34233465
commands:
34243466
- func: fetch-build
34253467
vars:
@@ -3440,6 +3482,8 @@ tasks:
34403482
run_on: rhel83-zseries-small
34413483
tags: [sasl-matrix-openssl, test, rhel83-zseries, gcc, sasl-cyrus, auth, server, latest, openssl]
34423484
depends_on: [{ name: sasl-cyrus-openssl-rhel83-zseries-gcc-compile }]
3485+
batchtime: 1440
3486+
patchable: false
34433487
commands:
34443488
- func: fetch-build
34453489
vars:

.evergreen/legacy_config_generator/evergreen_config_generator/variants.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ def __init__(
2626
run_on: list[str] | str,
2727
tasks: Iterable[str | ValueMapping],
2828
expansions: Mapping[str, str] | None = None,
29-
tags: Iterable[str] = (),
29+
tags: Iterable[str] | None = None,
30+
patchable: bool | None = None,
3031
batchtime: int | None = None,
3132
display_tasks: Iterable[ValueMapping] = None,
3233
):
@@ -36,7 +37,8 @@ def __init__(
3637
self.run_on = run_on
3738
self.tasks = tasks
3839
self.expansions = expansions
39-
self.tags = list(tags)
40+
self.tags = tags
41+
self.patchable = patchable
4042
self.batchtime = batchtime
4143
self.display_tasks = display_tasks
4244

@@ -46,7 +48,12 @@ def name(self):
4648

4749
def to_dict(self):
4850
v = super(Variant, self).to_dict()
49-
for i in "display_name", "expansions", "run_on", "tasks", "batchtime", "tags", "display_tasks":
50-
if getattr(self, i):
51-
v[i] = getattr(self, i)
51+
for i in "display_name", "expansions", "run_on", "tasks", "patchable", "batchtime", "tags", "display_tasks":
52+
attr = getattr(self, i)
53+
54+
# Allow `False`, but ignore empty lists and dicts.
55+
if isinstance(attr, None | list | dict) and not attr:
56+
continue
57+
58+
v[i] = attr
5259
return v

.evergreen/legacy_config_generator/evergreen_config_lib/variants.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,7 @@ def days(n: int) -> int:
348348
"test-dns-openssl",
349349
],
350350
{"CC": "gcc"},
351+
patchable=False,
351352
batchtime=days(1),
352353
),
353354
Variant(
@@ -391,6 +392,7 @@ def days(n: int) -> int:
391392
".latest .nossl",
392393
],
393394
{"CC": "gcc"},
395+
patchable=False,
394396
batchtime=days(1),
395397
),
396398
Variant(
@@ -403,7 +405,8 @@ def days(n: int) -> int:
403405
],
404406
{"CC": "clang"},
405407
),
406-
# Run AWS tests for MongoDB 4.4 and 5.0 on Ubuntu 20.04. AWS setup scripts expect Ubuntu 20.04+. MongoDB 4.4 and 5.0 are not available on 22.04.
408+
# Run AWS tests for MongoDB 4.4 and 5.0 on Ubuntu 20.04. AWS setup scripts
409+
# expect Ubuntu 20.04+. MongoDB 4.4 and 5.0 are not available on 22.04.
407410
Variant(
408411
"aws-ubuntu2004",
409412
"AWS Tests (Ubuntu 20.04)",

0 commit comments

Comments
 (0)