Install both ramdisks in the ipa downloader #84
Reference in New Issue
Block a user
Delete Branch "nbelouin/Factory:multi-arch-ipa"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Signed-off-by: Nicolas Belouin nicolas.belouin@suse.com
@@ -12,0 +24,4 @@elseif [ "${CERT_CHANGED:-0}" = "1" ]; then# Image has changed we need to refresh certs anywayCERT_CHANGED=0IMO it would be easier to understand if we had two variables e.g
CERT_CHANGEDandIMAGE_CHANGEDthen rebuild if either one is non-zero below?@@ -64,2 +64,4 @@databaseServiceName: metal3-mariadb# Architecture for IPA (either x86_64 or arm64)ipaArchitecture: x86_64I think there are some arch specific things also in ironic-image:
https://build.opensuse.org/projects/isv:SUSE:Edge:Metal3:Ironic:2024.2/packages/ironic-image/files/prepare-efi.sh?expand=1
So we may need to give this a different name perhaps - I guess the most intuitive behavior would be by default we deploy downstream clusters with the same arch as the management cluster, with the ability to override it with some
architectureOverridevariable or similar?Note that in future we expect to wire this is via the BaremetalHost resource which does contain an Architecture field, but that will need some adjustments upstream e.g see here - we'd have to enable some additional variables e.g
DEPLOY_RAMDISK_URL_AARCH64etc, and adjust so when available these are used depending on the BMHspec.architectureWell I missed the
prepare-efistuff, and I got bad news here, with our current (provided by SLES)shim, we cannot have an ESP file that works for both x86 and arm (as it blindly loadsgrub.efithat is not an arch specific name), I think I may be able to come with a workaround for this iteration, but for the future it will be near impossible without a change here (the other way would be a change in Ironic itself to introduce abootloader_by_archparameter).About the name, I'll go for
deployArchitecture, since there is more than just the IPA things.Regarding the explicit arch rather than arch override, well the chart has no knowledge of what is the current arch, hence I went for this, we can go for an override if we get some additional symlinks/files without a suffix for "current architecture", but it feels a bit wrong to me.
For the future, I guess the Architecture field gets forwarded to Ironic by the BMO, thus we should just change it from using the
deploy_ramdiskparameter to thedeploy_ramdisk_by_archone.This looks like a great start, thanks for working on it! :)
730aaf84ecto780d38b356780d38b356to19ca65967019ca659670toe6067ffda3e6067ffda3to087a1773ca087a1773catoa5d297f8d0a5d297f8d0to3179a9ddd23179a9ddd2to6b35d42d976b35d42d97toe50206725ee50206725eto4c97292e624c97292e62to8543583e4dTested in VM with the following scenario:
@@ -63,6 +63,9 @@ global:# Name for the MariaDB servicedatabaseServiceName: metal3-mariadb# Architecture for deployed nodes (either x86_64 or arm64)I'd say to rename arm64 to aarch64 to be more specific
8543583e4dto4974b00e4fLGTM we can merge it. It has been tested in Lab with VMs and Baremetal (both using mgt-cluster x86_64 and deploying arm64 downstream clusters)
4974b00e4ftodfcba60da1dfcba60da1to80779f6f6c80779f6f6cto329cfd4999WIP: Install both ramdisks in the ipa downloaderto Install both ramdisks in the ipa downloaderLGTM
329cfd4999to98fa8835f7