Align config files and scripts with upstream (v29.0.0) #205

Merged
nbelouin merged 16 commits from mchiappero/Factory:alignment-v29.0.0 into main 2025-07-29 11:19:22 +02:00
Owner

Align with upstream v29.0.0

Align with upstream v29.0.0
mchiappero added 16 commits 2025-07-08 13:03:50 +02:00
Having a completely different image and build system the Dockerfile will
always differ quite significantly from the upstream one. Nonetheless,
it's still useful to make the commont parts to look alike as much as
possible to ease maintanance and update.

Note, this is just a small set of changes that are possible, more effort
into this direction may follow at later stage.
Two entries pointing to old and unesed files for non UEFI servers seem
to be unused both here and upstream, so this commit removes them.
Move the copy of Jinja templates to resemble upstream
All checks were successful
Check Release Manifest Local Charts Versions / Check Release Manifest Local Charts Versions (pull_request) Successful in 10s
Build PR in OBS / Build PR in OBS (pull_request_target) Successful in 12s
d00b6ece5f
Follow the same location for the COPY command moving the Jinja template
files in the image.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
Correct the path of the Apache modules for a SUSE image.

Also keep a couple of modules disabled.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
Correct path for grub.cfg on a SUSE system.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
Bypass the OpenStack network-data format validation, to allow for the
nmstate based one we instead use (which would otherwise fail).

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
Previously .j2 files used to be copied to either /tmp or /etc
directories before being instantiated. A new /templates directory is now
used by the startup scripts, so update the Dockerfile accordingly.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
SLE 15.6 the container is based on does not ship Python 3.12, the next
packaged release will be 3.13, so stick to 3.11 until then.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
The Prometheus exporter is effectively, not only unused, but
unusable, due to missing dependencies. Since currently we
don't have use case for it, opt for dropping the exporter
entirely from the image.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
Make the new scripts executable
All checks were successful
Check Release Manifest Local Charts Versions / Check Release Manifest Local Charts Versions (pull_request) Successful in -1m50s
Build PR in OBS / Build PR in OBS (pull_request_target) Successful in 32m36s
c79ae5a4cb
v29.0.0 add a couple of new scripts, such as ironic-probe.sh; make sure
they have the 'executable' flag.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
Author
Owner

TODO:

  • check paths
  • disable new scripts?
  • align or maintain prepare_efi.sh (@nbelouin do you think we can align closer?)
  • align or maintain configure_nonroot.sh
TODO: - check paths - disable new scripts? - align or maintain `prepare_efi.sh` (@nbelouin do you think we can align closer?) - align or maintain `configure_nonroot.sh`
Owner

I don't think we can align the prepare_efi.sh significantly closer for now (it is really centos centric upstream).
I think we can try to align configure_nonroot.sh though.

Another TODO here, is to check if any value we pass in the chart need some kind of update.

I don't think we can align the `prepare_efi.sh` significantly closer for now (it is really centos centric upstream). I think we can try to align `configure_nonroot.sh` though. Another TODO here, is to check if any value we pass in the chart need some kind of update.
Author
Owner

I don't think we can align the prepare_efi.sh significantly closer for now (it is really centos centric upstream).
I think we can try to align configure_nonroot.sh though.

I'll try to update configure_nonroot.sh, if time allows, and skip prepare_efi.sh.

Another TODO here, is to check if any value we pass in the chart need some kind of update.

Sure, we can wait to merge until we have a matching chart update, but definitely pushing a different PR for the charts.

> I don't think we can align the `prepare_efi.sh` significantly closer for now (it is really centos centric upstream). > I think we can try to align `configure_nonroot.sh` though. I'll try to update configure_nonroot.sh, if time allows, and skip prepare_efi.sh. > Another TODO here, is to check if any value we pass in the chart need some kind of update. Sure, we can wait to merge until we have a matching chart update, but definitely pushing a different PR for the charts.
mchiappero changed title from WIP: alignment-v29.0.0 to WIP: Align config files and scripts to upstream (v29.0.0) 2025-07-09 11:19:01 +02:00
mchiappero changed title from WIP: Align config files and scripts to upstream (v29.0.0) to WIP: Align config files and scripts with upstream (v29.0.0) 2025-07-09 11:19:25 +02:00
mchiappero reviewed 2025-07-09 16:10:58 +02:00
@@ -7,3 +7,2 @@
# ironic-inspector-image and configuration in configure-ironic.sh
kernel --timeout 60000 http://{{ env.IRONIC_URL_HOST }}:{{ env.HTTP_PORT }}/images/ironic-python-agent-${buildarch}.kernel ipa-insecure=1 ipa-inspection-collectors={{ env.IRONIC_IPA_COLLECTORS }} systemd.journald.forward_to_console=yes BOOTIF=${mac} ipa-debug=1 ipa-enable-vlan-interfaces={{ env.IRONIC_ENABLE_VLAN_INTERFACES }} ipa-inspection-dhcp-all-interfaces=1 ipa-collect-lldp=1 {{ env.INSPECTOR_EXTRA_ARGS }} initrd=ironic-python-agent.initramfs {% if env.IRONIC_RAMDISK_SSH_KEY %}sshkey="{{ env.IRONIC_RAMDISK_SSH_KEY|trim }}"{% endif %} {{ env.IRONIC_KERNEL_PARAMS|trim }} || goto retry_boot
initrd --timeout 60000 http://{{ env.IRONIC_URL_HOST }}:{{ env.HTTP_PORT }}/images/ironic-python-agent-${buildarch}.initramfs || goto retry_boot
kernel --timeout 60000 {{ env.IRONIC_HTTP_URL }}/images/ironic-python-agent-${buildarch}.kernel ipa-insecure=1 ipa-inspection-collectors={{ env.IRONIC_IPA_COLLECTORS }} systemd.journald.forward_to_console=yes BOOTIF=${mac} ipa-debug=1 ipa-enable-vlan-interfaces={{ env.IRONIC_ENABLE_VLAN_INTERFACES }} ipa-inspection-dhcp-all-interfaces=1 ipa-collect-lldp=1 {{ env.INSPECTOR_EXTRA_ARGS }} initrd=ironic-python-agent.initramfs {% if env.IRONIC_RAMDISK_SSH_KEY %}sshkey="{{ env.IRONIC_RAMDISK_SSH_KEY|trim }}"{% endif %} {{ env.IRONIC_KERNEL_PARAMS|trim }} || goto retry_boot
Author
Owner

Shouldn't initrd=ironic-python-agent.initramfs also change to ironic-python-agent-${buildarch}.initramfs in here?

Shouldn't `initrd=ironic-python-agent.initramfs` also change to `ironic-python-agent-${buildarch}.initramfs` in here?
Owner

probably yes

probably yes
mchiappero force-pushed alignment-v29.0.0 from c79ae5a4cb to 897db1d99d 2025-07-09 19:22:56 +02:00 Compare
mchiappero force-pushed alignment-v29.0.0 from 897db1d99d to 9763f2502d 2025-07-09 19:25:41 +02:00 Compare
mchiappero reviewed 2025-07-09 19:43:57 +02:00
@@ -25,3 +40,2 @@
# apache2 permission changes
chown -R "${NONROOT_UID}":"${NONROOT_GID}" /etc/apache2
chown -R "${NONROOT_UID}":"${NONROOT_GID}" /run
chown -R "${IRONIC_USER}":"${IRONIC_GROUP}" /etc/apache2
Author
Owner

@steven.hardy @nbelouin Is this really needed, it's not present upstream.

@steven.hardy @nbelouin Is this really needed, it's not present upstream.
Owner

I never looked deep into this file, I'd say we can try without it, if it works and apache doesn't complain then it's good

I never looked deep into this file, I'd say we can try without it, if it works and apache doesn't complain then it's good
Author
Owner

Will give it a try, but if we approach ironic-image this way we end up with so many things to test... it is going to take another two springs. We need to start being as close as possible to upstream.

Will give it a try, but if we approach ironic-image this way we end up with so many things to test... it is going to take another two springs. We need to start being as close as possible to upstream.
Owner

I know ... The issue here is I don't know many of these deviations from upstream, nor why they are here, so I'm all in to get closer to upstream and have less of those deviations.

I know ... The issue here is I don't know many of these deviations from upstream, nor why they are here, so I'm all in to get closer to upstream and have less of those deviations.
mchiappero force-pushed alignment-v29.0.0 from 9763f2502d to 8522505844 2025-07-09 19:51:40 +02:00 Compare
mchiappero force-pushed alignment-v29.0.0 from 8522505844 to 39a45505bd 2025-07-10 20:17:03 +02:00 Compare
mchiappero added 1 commit 2025-07-10 21:01:22 +02:00
fixup! Align configure-nonroot.sh
Some checks failed
Check Release Manifest Local Charts Versions / Check Release Manifest Local Charts Versions (pull_request) Successful in 10s
Build PR in OBS / Build PR in OBS (pull_request_target) Failing after 18s
8cc5ddac60
nbelouin added 1 commit 2025-07-11 11:38:28 +02:00
fixup! Align configure-nonroot.sh
Some checks failed
Check Release Manifest Local Charts Versions / Check Release Manifest Local Charts Versions (pull_request) Successful in -1m41s
Build PR in OBS / Build PR in OBS (pull_request_target) Failing after 3h0m16s
6bd2ee7828
Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>
nbelouin added 1 commit 2025-07-11 12:06:37 +02:00
fixup! Align configure-nonroot.sh
All checks were successful
Check Release Manifest Local Charts Versions / Check Release Manifest Local Charts Versions (pull_request) Successful in -1m53s
Build PR in OBS / Build PR in OBS (pull_request_target) Successful in 22s
dfaf759129
Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>
mchiappero force-pushed alignment-v29.0.0 from dfaf759129 to 05aa1341a9 2025-07-14 12:31:06 +02:00 Compare
Author
Owner

Thanks @nbelouin for helping! I think it's ready to be merged, but beware that enabling PXE booting will likely result in runtime errors/failures.

Thanks @nbelouin for helping! I think it's ready to be merged, but beware that enabling PXE booting will likely result in runtime errors/failures.
mchiappero requested review from amorgante 2025-07-14 12:38:19 +02:00
mchiappero requested review from nbelouin 2025-07-14 12:38:19 +02:00
mchiappero requested review from steven.hardy 2025-07-14 12:38:20 +02:00
mchiappero changed title from WIP: Align config files and scripts with upstream (v29.0.0) to Align config files and scripts with upstream (v29.0.0) 2025-07-14 12:38:46 +02:00
mchiappero added 1 commit 2025-07-15 13:53:47 +02:00
Bump the build image and tag for ironic-image
All checks were successful
Check Release Manifest Local Charts Versions / Check Release Manifest Local Charts Versions (pull_request) Successful in 16s
Build PR in OBS / Build PR in OBS (pull_request_target) Successful in 10m40s
04f7eeb6b1
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
mchiappero force-pushed alignment-v29.0.0 from 04f7eeb6b1 to 05aa1341a9 2025-07-15 14:52:07 +02:00 Compare
mchiappero force-pushed alignment-v29.0.0 from 05aa1341a9 to af7b78e498 2025-07-28 11:26:55 +02:00 Compare
nbelouin approved these changes 2025-07-28 11:39:11 +02:00
Dismissed
nbelouin left a comment
Owner

LGTM, I'd like to wait for #214 to be also reviewed and ready to merge, so we can merge the two one after the other and have a full upgrade to v29 of Ironic in (almost) one go.

LGTM, I'd like to wait for #214 to be also reviewed and ready to merge, so we can merge the two one after the other and have a full upgrade to v29 of Ironic in (almost) one go.
mchiappero force-pushed alignment-v29.0.0 from af7b78e498 to 179ceba0b8 2025-07-28 12:19:57 +02:00 Compare
mchiappero force-pushed alignment-v29.0.0 from 179ceba0b8 to 62f9faf144 2025-07-28 12:36:50 +02:00 Compare
nbelouin approved these changes 2025-07-28 13:05:50 +02:00
nbelouin merged commit 5f0d0b019e into main 2025-07-29 11:19:22 +02:00
Sign in to join this conversation.
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: suse-edge/Factory#205
No description provided.