feat(images): add 1p-vm-base-gen1 image - #18468
Conversation
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
| <package name="azurelinux-repos" /> | ||
|
|
||
| <!-- Azure marketplace guest configuration --> | ||
| <!-- TODO: Move these customizations and files into subpackages, then delete these file entries. --> |
There was a problem hiding this comment.
issue(blocking): Agreed with the TODO here -- we've worked hard to keep config files out of the image definitions, so placing them in packages/sub-packages is the right call.
| @@ -0,0 +1,159 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
There was a problem hiding this comment.
question(blocking): Did you look at whether we could avoid a completely separate definition and instead find a way for gen1 to be a profile / derivative of vm-base?
There was a problem hiding this comment.
It is definitely possible and defining a proper hierarchy is next on the cards. This definition is pushed prior to refactoring since that will become much easier after all image definitions are frozen. For now, vm-base is considered as independent same as the other two 1P images.
There was a problem hiding this comment.
issue(blocking):
in addition to reubeno's review about reusing/extending our current image definition and placing config files into packages instead of image definitions:
- I don't think we want to completely replace the cloud-init or chrony config files.
- The udev rule isn't needed, as it's already provided in current rules.
- For the systemd drop-in, that might be ok if moved into a package (though I'd like to think more about its potential impact)
Add the Azure Linux 4.0 1P VM Base Gen1 (BIOS) image. Package selection preserves the established core image, base image, container, tooling, Azure VM, and Hyper-V package groups while using their Azure Linux 4 equivalents. Legacy BIOS boot uses a GPT hybrid (eficsm) disk. The image relies on package-provided cloud-init, chrony/PTP, and Hyper-V configuration, with no KIWI file injection or config.sh post-install customization. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 727c4c35-afde-4eb0-82bf-b307f6550d58
afb0d85 to
9ed6521
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
Suppressed comments (3)
base/images/1p-vm-base-gen1/1p-vm-base-gen1.kiwi:41
- This is the only KIWI definition that builds directly from PMC beta. The registry contract in
base/images/images.toml:21-23and every existing KIWI image useazl4-devas the local build source so pending distro packages can be tested while the shippedazurelinux-repos*package independently controls runtime repositories. Point this source at the sharedazl4-devrepository.
<source path="https://packages.microsoft.com/azurelinux/4.0/beta/base/$basearch" />
base/images/1p-vm-base-gen1/1p-vm-base-gen1.kiwi:141
- Hard-coding the canonical runtime repository leaves this runtime-manageable image without the canonical/
-devpair required bybase/images/images.toml:5-27; all non-distroless image families provide both variants. Add canonical and-devKIWI profiles, scopeazurelinux-repos/azurelinux-repos-devto them, and register1p-vm-base-gen1-devwith matching tests and capabilities.
<package name="azurelinux-repos" />
base/images/images.toml:102
- This suite does not test the defining VM behavior. Since the image name is neither
vm-basenorvm-base-*, the family filter intests/utils/pytest_plugin.py:182-197skips all kernel and partition checks undercases/static/vm-base; the reported 9 passes/7 skips therefore contain no VM-specific validation and no BIOS boot attempt. Add Gen1 partition/MBR checks and a BIOS boot smoke test (or make shared VM checks capability-based).
{ name = "static-image-checks" },
| initrd_system="dracut" | ||
| filesystem="ext4" | ||
| fscreateoptions="-m 1" | ||
| kernelcmdline="console=ttyS0" |
Summary
Testing
azldev image build 1p-vm-base-gen1 --arch x86_64azldev image test 1p-vm-base-gen1(9 passed, 7 skipped)AB#18608