Commit 1e90170
CLOUDP-311484 - add support for arm and ibm machines (#330)
# Summary
Related TD:
[Link](https://docs.google.com/document/d/1wzwtRTaivKCnCpOobeZRMccC2u8ygO2DNE3DQghTvuU/edit?tab=t.0#bookmark=id.5jh2f6g25k1x)
This pull request adds support for running end-to-end (E2E) tests and
building images on IBM Power (ppc64le), IBM Z (s390x), and ARM (arm64)
architectures. It introduces new Evergreen build variants, tasks, and
setup logic to enable cross-platform testing and image creation.
Additionally, it removes the legacy agent image build dependencies and
updates scripts to use more generic container authentication. There are
also improvements to how multi-architecture images are defined in the
build info.
**Multi-architecture E2E test and build support:**
* Added new Evergreen build variants, task groups, and setup logic for
IBM Power (`ppc64le`), IBM Z (`s390x`), and ARM (`arm64`) to enable E2E
smoke tests and image builds on these platforms. This includes new setup
groups, test image build tasks, and test group definitions for each
architecture.
[[1]](diffhunk://#diff-9a7744843f307953832ec106e8d49be546037475db24ec6873e5fec6249c236dR74-R80)
[[2]](diffhunk://#diff-9a7744843f307953832ec106e8d49be546037475db24ec6873e5fec6249c236dR1183-R1198)
[[3]](diffhunk://#diff-9a7744843f307953832ec106e8d49be546037475db24ec6873e5fec6249c236dR1462-R1573)
[[4]](diffhunk://#diff-9a7744843f307953832ec106e8d49be546037475db24ec6873e5fec6249c236dR1787-R1804)
[[5]](diffhunk://#diff-9a7744843f307953832ec106e8d49be546037475db24ec6873e5fec6249c236dR409-R423)
[[6]](diffhunk://#diff-ad8722e626fc7bc08be6765b8268550446b1fb934c1a7eb6a5766d6446f92ad1R532-R543)
* Updated `build_info.json` to specify that images for
`mongodb-kubernetes` and `mongodb-kubernetes-init-database` are built
for `linux/amd64`, `linux/arm64`, `linux/s390x`, and `linux/ppc64le`
across all release channels.
[[1]](diffhunk://#diff-ac3b10589f332066db566cb08c01afea746d5f16e704beef946107a0c5de5225L8-R31)
[[2]](diffhunk://#diff-ac3b10589f332066db566cb08c01afea746d5f16e704beef946107a0c5de5225L50-R80)
**Evergreen pipeline and function improvements:**
* Added new setup functions for installing required tools (`jq`,
minikube, etc.) and improved host setup logic for IBM architectures,
including conditional logic for Docker/Podman and AWS CLI installation.
[[1]](diffhunk://#diff-ad8722e626fc7bc08be6765b8268550446b1fb934c1a7eb6a5766d6446f92ad1R54-R69)
[[2]](diffhunk://#diff-ad8722e626fc7bc08be6765b8268550446b1fb934c1a7eb6a5766d6446f92ad1R118)
[[3]](diffhunk://#diff-ad8722e626fc7bc08be6765b8268550446b1fb934c1a7eb6a5766d6446f92ad1L115-L121)
[[4]](diffhunk://#diff-ad8722e626fc7bc08be6765b8268550446b1fb934c1a7eb6a5766d6446f92ad1R265-R293)
* Refactored E2E setup and teardown calls to use a wrapper script
(`run_python.sh`) for better environment handling.
[[1]](diffhunk://#diff-ad8722e626fc7bc08be6765b8268550446b1fb934c1a7eb6a5766d6446f92ad1L330-R355)
[[2]](diffhunk://#diff-ad8722e626fc7bc08be6765b8268550446b1fb934c1a7eb6a5766d6446f92ad1L343-R367)
* Added a manual Evergreen task and build variant to allow manual ECR
agent image releases for testing.
[[1]](diffhunk://#diff-9a7744843f307953832ec106e8d49be546037475db24ec6873e5fec6249c236dR388-R399)
[[2]](diffhunk://#diff-9a7744843f307953832ec106e8d49be546037475db24ec6873e5fec6249c236dR1977-R1986)
**Cleanup and modernization:**
* Updated references from `configure_docker_auth.sh` to a more generic
`configure_container_auth.sh` in both Evergreen and Makefile to support
Podman as well as Docker.
[[1]](diffhunk://#diff-ad8722e626fc7bc08be6765b8268550446b1fb934c1a7eb6a5766d6446f92ad1L228-R234)
[[2]](diffhunk://#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L150-R150)
These changes collectively enable robust multi-architecture support in
both CI and release pipelines, modernize setup scripts, and remove
obsolete dependencies.
## Proof of Work
- green ci (no changes to currently running e2e patches)
- green ci on master merges (simulated
[here](https://spruce.mongodb.com/version/68a4bd9f74629000078b930e/tasks?sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC)
which runs multi arch tests on master merges)
- manually released the agents to ecr as multi-arch
```
❯ docker buildx imagetools inspect 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-agent-ubi:108.0.4.8770-1
Name: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-agent-ubi:108.0.4.8770-1
MediaType: application/vnd.docker.distribution.manifest.list.v2+json
Digest: sha256:6c30ad0325aeac074538976094e0a5b8a69bdb819fc95496c6f52acefd028188
Manifests:
Name: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-agent-ubi:108.0.4.8770-1@sha256:38494a7b753ce8b9965332e12c195d56f143aa2b4505352237c6cdf757916475
MediaType: application/vnd.docker.distribution.manifest.v2+json
Platform: linux/arm64
Name: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-agent-ubi:108.0.4.8770-1@sha256:bb28cdbd9b9cc97cb2a8168c7c00897a93b96c02e51a8611361829a1349da2f5
MediaType: application/vnd.docker.distribution.manifest.v2+json
Platform: linux/amd64
Name: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-agent-ubi:108.0.4.8770-1@sha256:0ca9e958a6ac0a86541861bdfb39ae930f5b4dd588f9a8df1c9289579b020aa8
MediaType: application/vnd.docker.distribution.manifest.v2+json
Platform: linux/s390x
Name: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-agent-ubi:108.0.4.8770-1@sha256:bdeb9b00a666500b336a4dc33a34f40992ee5ff1d57fbff62a6511bcd4cacad3
MediaType: application/vnd.docker.distribution.manifest.v2+json
Platform: linux/ppc64le
```
## Checklist
- [x] Have you linked a jira ticket and/or is the ticket in the title?
- [x] Have you checked whether your jira ticket required DOCSP changes?
- [x] Have you added changelog file?
- use `skip-changelog` label if not needed
- refer to [Changelog files and Release
Notes](https://github.com/mongodb/mongodb-kubernetes/blob/master/CONTRIBUTING.md#changelog-files-and-release-notes)
section in CONTRIBUTING.md for more details
---------
Co-authored-by: Lucian Tosa <[email protected]>
Co-authored-by: Julien Benhaim <[email protected]>
Co-authored-by: Maciej Karaś <[email protected]>
Co-authored-by: Maciej Karaś <[email protected]>
Co-authored-by: mms-build-account <[email protected]>
Co-authored-by: Evergreen <[email protected]>
Co-authored-by: Vivek Singh <[email protected]>1 parent 637923f commit 1e90170
File tree
72 files changed
+2294
-473
lines changed- changelog
- docker
- mongodb-agent
- mongodb-kubernetes-database
- mongodb-kubernetes-init-appdb
- mongodb-kubernetes-init-database
- content
- mongodb-kubernetes-init-ops-manager
- mongodb-kubernetes-operator
- mongodb-kubernetes-readinessprobe
- mongodb-kubernetes-tests
- mongodb-kubernetes-upgrade-hook
- mongodb-community-operator/pkg/kube/client
- pkg/telemetry
- scripts
- dev
- contexts
- variables
- evergreen
- deployments/test-app/templates
- e2e
- funcs
- minikube
- release
- agent
- build
- tests
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
72 files changed
+2294
-473
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
54 | 64 | | |
55 | 65 | | |
56 | 66 | | |
57 | 67 | | |
| 68 | + | |
| 69 | + | |
58 | 70 | | |
59 | 71 | | |
60 | 72 | | |
| |||
103 | 115 | | |
104 | 116 | | |
105 | 117 | | |
| 118 | + | |
106 | 119 | | |
107 | 120 | | |
108 | 121 | | |
| |||
112 | 125 | | |
113 | 126 | | |
114 | 127 | | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | 128 | | |
123 | 129 | | |
124 | 130 | | |
| |||
225 | 231 | | |
226 | 232 | | |
227 | 233 | | |
228 | | - | |
| 234 | + | |
229 | 235 | | |
230 | 236 | | |
231 | 237 | | |
| |||
256 | 262 | | |
257 | 263 | | |
258 | 264 | | |
| 265 | + | |
259 | 266 | | |
260 | | - | |
261 | 267 | | |
262 | | - | |
| 268 | + | |
263 | 269 | | |
264 | | - | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
265 | 274 | | |
266 | 275 | | |
267 | 276 | | |
268 | | - | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
269 | 294 | | |
270 | 295 | | |
271 | 296 | | |
| |||
327 | 352 | | |
328 | 353 | | |
329 | 354 | | |
330 | | - | |
331 | | - | |
| 355 | + | |
332 | 356 | | |
333 | 357 | | |
334 | 358 | | |
| |||
340 | 364 | | |
341 | 365 | | |
342 | 366 | | |
343 | | - | |
344 | | - | |
| 367 | + | |
345 | 368 | | |
346 | 369 | | |
347 | 370 | | |
| |||
506 | 529 | | |
507 | 530 | | |
508 | 531 | | |
509 | | - | |
| 532 | + | |
510 | 533 | | |
511 | | - | |
512 | | - | |
| 534 | + | |
513 | 535 | | |
514 | 536 | | |
515 | | - | |
516 | | - | |
517 | | - | |
518 | | - | |
519 | | - | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
520 | 546 | | |
521 | 547 | | |
522 | 548 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
74 | 81 | | |
75 | 82 | | |
76 | 83 | | |
| |||
379 | 386 | | |
380 | 387 | | |
381 | 388 | | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
382 | 401 | | |
383 | 402 | | |
384 | 403 | | |
| |||
388 | 407 | | |
389 | 408 | | |
390 | 409 | | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
391 | 425 | | |
392 | 426 | | |
393 | 427 | | |
| |||
1147 | 1181 | | |
1148 | 1182 | | |
1149 | 1183 | | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
| 1188 | + | |
| 1189 | + | |
| 1190 | + | |
| 1191 | + | |
| 1192 | + | |
| 1193 | + | |
| 1194 | + | |
| 1195 | + | |
| 1196 | + | |
| 1197 | + | |
| 1198 | + | |
| 1199 | + | |
1150 | 1200 | | |
1151 | 1201 | | |
1152 | 1202 | | |
| |||
1410 | 1460 | | |
1411 | 1461 | | |
1412 | 1462 | | |
| 1463 | + | |
| 1464 | + | |
| 1465 | + | |
| 1466 | + | |
| 1467 | + | |
| 1468 | + | |
| 1469 | + | |
| 1470 | + | |
| 1471 | + | |
| 1472 | + | |
| 1473 | + | |
| 1474 | + | |
| 1475 | + | |
| 1476 | + | |
| 1477 | + | |
| 1478 | + | |
| 1479 | + | |
| 1480 | + | |
| 1481 | + | |
| 1482 | + | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
| 1491 | + | |
| 1492 | + | |
| 1493 | + | |
| 1494 | + | |
| 1495 | + | |
| 1496 | + | |
| 1497 | + | |
| 1498 | + | |
| 1499 | + | |
| 1500 | + | |
| 1501 | + | |
| 1502 | + | |
| 1503 | + | |
| 1504 | + | |
| 1505 | + | |
| 1506 | + | |
| 1507 | + | |
| 1508 | + | |
| 1509 | + | |
| 1510 | + | |
| 1511 | + | |
| 1512 | + | |
| 1513 | + | |
| 1514 | + | |
| 1515 | + | |
| 1516 | + | |
| 1517 | + | |
| 1518 | + | |
| 1519 | + | |
| 1520 | + | |
| 1521 | + | |
| 1522 | + | |
| 1523 | + | |
| 1524 | + | |
| 1525 | + | |
| 1526 | + | |
| 1527 | + | |
| 1528 | + | |
| 1529 | + | |
| 1530 | + | |
| 1531 | + | |
| 1532 | + | |
| 1533 | + | |
| 1534 | + | |
| 1535 | + | |
| 1536 | + | |
| 1537 | + | |
| 1538 | + | |
| 1539 | + | |
| 1540 | + | |
| 1541 | + | |
| 1542 | + | |
| 1543 | + | |
| 1544 | + | |
| 1545 | + | |
| 1546 | + | |
| 1547 | + | |
| 1548 | + | |
| 1549 | + | |
| 1550 | + | |
| 1551 | + | |
| 1552 | + | |
| 1553 | + | |
| 1554 | + | |
| 1555 | + | |
| 1556 | + | |
| 1557 | + | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
| 1562 | + | |
| 1563 | + | |
| 1564 | + | |
| 1565 | + | |
| 1566 | + | |
| 1567 | + | |
| 1568 | + | |
| 1569 | + | |
| 1570 | + | |
| 1571 | + | |
| 1572 | + | |
| 1573 | + | |
| 1574 | + | |
1413 | 1575 | | |
1414 | 1576 | | |
1415 | 1577 | | |
| |||
1623 | 1785 | | |
1624 | 1786 | | |
1625 | 1787 | | |
| 1788 | + | |
| 1789 | + | |
| 1790 | + | |
| 1791 | + | |
| 1792 | + | |
| 1793 | + | |
| 1794 | + | |
| 1795 | + | |
| 1796 | + | |
| 1797 | + | |
| 1798 | + | |
| 1799 | + | |
| 1800 | + | |
| 1801 | + | |
| 1802 | + | |
| 1803 | + | |
| 1804 | + | |
| 1805 | + | |
1626 | 1806 | | |
1627 | 1807 | | |
1628 | 1808 | | |
| |||
1795 | 1975 | | |
1796 | 1976 | | |
1797 | 1977 | | |
| 1978 | + | |
| 1979 | + | |
| 1980 | + | |
| 1981 | + | |
| 1982 | + | |
| 1983 | + | |
| 1984 | + | |
| 1985 | + | |
| 1986 | + | |
| 1987 | + | |
1798 | 1988 | | |
1799 | 1989 | | |
1800 | 1990 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
147 | 147 | | |
148 | 148 | | |
149 | 149 | | |
150 | | - | |
| 150 | + | |
151 | 151 | | |
152 | 152 | | |
153 | 153 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
60 | | - | |
0 commit comments