On Thu, May 23, 2024, at 2:15 AM, Junya Noguchi (Fujitsu) wrote:
Dear Mr. Boylan To whom it may concern
Thank you for your answer. I have the following additional questions:
1. Is it possible to build aarch64 images of RHEL and SLES using DIB? RHEL and SLES are not in the list you provided. https://nb04.opendev.org/images/ Because these operating systems are paid for, they are probably not documented. I checked github and it seems that RHEL has a script that can build with Diskimage-builder. Can I build RHEL with Diskimage-builder? https://github.com/openstack/diskimage-builder/tree/e544379010ddfb2e5892bc70... SLES is only mentioned in the zypper entry, and I could not find any mention of SLES in other entries or scripts. Can I build SLES with Diskimage-builder? https://github.com/openstack/diskimage-builder/tree/e544379010ddfb2e5892bc70...
You should be able to build RHEL images for both amd64 and arm64 using the rhel element. It doesn't look like there is an element for SLES. You may need to write one to make this work. That should theoretically be doable given that it seems building RHEL images was sorted out. We don't build either of these images for our CI system which is where that original list I provided came from so I can't say for sure that the RHEL element is currently working. But I believe people did use it successfully in the past and we would be open to making it work again if it doesn't currently.
2. Does zuul test if building images with DIB is successful for all distributions, and all archs, which the DIB community assumes it should be?
No. Changes to DIB do run tests to ensure quite a number of builds function. For example if you look at the comments from Zuul against https://review.opendev.org/c/openstack/diskimage-builder/+/920215 you can see which images were built for that change. All of those tests would run on amd64 and not on arm. We also don't run tests for things like RHEL due to licensing issues. Again, rather than try and test everything and keep an up to date list of what works and doesn't we assume that things generally do work and can help you fix what doesn't. The way DIB is designed it should be possible to build images for arbitrary distros as long as we can bootstrap a chroot environment for the distro (existing VM images, docker images, debootstrap, yum/dnf, etc have all been used for this purpose). I would encourage you to try to use DIB, and if you find something doesn't work see if it is fixable. The tool is intentionally quite flexible.
-----Original Message----- From: Clark Boylan <cboylan@sapwetik.org> Sent: Tuesday, May 14, 2024 1:14 AM To: Noguchi, Junya/野口 惇矢 <noguchi.junya@fujitsu.com>; 'openstack-discuss@lists.openstack.org' <openstack-discuss@lists.openstack.org> Subject: Re: [Diskimage-builder]Supported architectures for creating OS images in Diskimage-builder
On Mon, May 13, 2024, at 2:15 AM, Junya Noguchi (Fujitsu) wrote:
To whom it may concern
I am investigating which Linux distributions and versions for aarch64 are supported by Diskimage-builder. I found that many newer versions of Linux distributions are supported*, but there is no information about supported architectures in the commit messages.
* References: Ubuntu: https://review.opendev.org/c/openstack/project-config/+/916050 RHEL: https://review.opendev.org/c/openstack/diskimage-builder/+/877347 SLES: https://review.opendev.org/c/openstack/diskimage-builder/+/619186 SUSE: https://review.opendev.org/c/openstack/diskimage-builder/+/908421 CentOS: https://review.opendev.org/c/openstack/tripleo-quickstart/+/843102
Does Diskimage-builder support building aarch64 images for those distributions? If not, a list of supported distros for aarch64, would be helpful.
Generally the answer is yes, but not via cross building. Instead you run diskimage-builder on the architecture you want to build and it builds new images for that architecture. I don't think we've bothered with an explicit list because of this. The OpenDev team currently builds a number of ARM images [0] with DIB.
Rather than expecting a list I would say that we expect ARM builds to work for distros with upstream ARM support. Any explicit list we write will simply become out of date then people will assume anything not listed isn't supported which is a different problem I'd like to avoid.
[0] https://nb04.opendev.org/images/
Best regards, Junya Noguchi.