Conversation
e5850e9 to
aa6de29
Compare
aa6de29 to
154b46c
Compare
154b46c to
3fcc733
Compare
3fcc733 to
6b656a9
Compare
6b656a9 to
34e6f00
Compare
34e6f00 to
4ef58f9
Compare
4ef58f9 to
b142fe7
Compare
b142fe7 to
12be550
Compare
12be550 to
6bdcf78
Compare
|
It took a long time, but I was finally able to test this under RP. I couldn't see any details, but after removing Flatcar's exclusion of the ArtifactStreaming test, I saw that it passed along with the other E2Ev3 tests. |
6bdcf78 to
8f1d9c4
Compare
|
To be extra sure, I also ran E2Ev3 without this change and saw that |
8f1d9c4 to
4f8be1a
Compare
4f8be1a to
f121791
Compare
f121791 to
0647170
Compare
0647170 to
c493e64
Compare
There was a problem hiding this comment.
Pull request overview
This pull request enables Artifact Streaming on Flatcar by refactoring the isARM64 function and implementing Flatcar-specific installation logic. Artifact Streaming is an important performance feature for container image management.
Changes:
- Refactored
isARM64()function to return an exit code directly instead of echoing 0/1, simplifying all usage patterns - Added Flatcar-specific Artifact Streaming installation using Flatcar's overlaybd system extension and Azure Linux's RPM package
- Updated Flatcar custom data to enable the overlaybd system extension and mask related services initially
Reviewed changes
Copilot reviewed 15 out of 75 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| parts/linux/cloud-init/artifacts/cse_helpers.sh | Refactored isARM64() to return exit code directly |
| parts/linux/cloud-init/artifacts/cse_install.sh | Updated 3 call sites to use new isARM64 pattern |
| parts/linux/cloud-init/artifacts/cse_config.sh | Updated 2 call sites and added unmask logic for Flatcar overlaybd services |
| parts/linux/cloud-init/artifacts/ubuntu/cse_install_ubuntu.sh | Updated 1 call site to use new isARM64 pattern |
| vhdbuilder/packer/install-dependencies.sh | Added Flatcar-specific artifact streaming installation logic and updated 4 call sites |
| vhdbuilder/scripts/linux/tool_installs.sh | Updated 1 call site to use new isARM64 pattern |
| vhdbuilder/scripts/linux/ubuntu/tool_installs_ubuntu.sh | Updated 1 call site to use new isARM64 pattern |
| vhdbuilder/packer/test/linux-vhd-content-test.sh | Updated 2 call sites to use new isARM64 pattern |
| vhdbuilder/packer/flatcar-customdata.yaml | Added overlaybd system extension configuration and service masking |
| vhdbuilder/packer/flatcar-customdata.json | Compiled JSON version of the YAML custom data |
| pkg/agent/testdata/MarinerV2+Kata/CustomData | Regenerated test data with updated code |
c493e64 to
6c2bfb5
Compare
Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
This uses Flatcar's own systemd system extension for overlaybd and Azure Linux's RPM for acr and the configuration scripts. It's not perfect, but we cannot improve on this until acr changes its build process or goes open source. Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
6c2bfb5 to
59750ef
Compare
| } | ||
|
|
||
| ensureArtifactStreaming() { | ||
| systemctl unmask overlaybd-{tcmu,snapshotter}.service # Flatcar masks these initially. |
There was a problem hiding this comment.
systemctl unmask is executed unconditionally, but the inline comment indicates this is Flatcar-specific. If this script runs with set -e (common in CSE), systemctl unmask can fail on non-Flatcar (or before the units exist) and abort provisioning. Make this conditional on Flatcar (e.g., if isFlatcar "$OS"; then ... fi) and/or make the unmask tolerant to missing units (e.g., append || true).
| systemctl unmask overlaybd-{tcmu,snapshotter}.service # Flatcar masks these initially. | |
| systemctl unmask overlaybd-{tcmu,snapshotter}.service || true # Flatcar masks these initially. |
What type of PR is this?
/kind cleanup
/kind feature
What this PR does / why we need it:
Artifact Streaming is an important feature for Flatcar.
This uses Flatcar's own systemd system extension for overlaybd and Azure Linux's RPM for acr and the configuration scripts. It's not perfect, but we cannot improve on this until acr changes its build process or goes open source.
Which issue(s) this PR fixes:
Fixes Flatcar for AKS work item #34435545
Requirements:
Release note: