metal3: ironic-ipa-ramdisk Disable MACAddressPolicy for bonds #373

Open
steven.hardy wants to merge 1 commits from steven.hardy/Factory:ipa_macpolicy into main
Owner
Related to https://gitlab.com/sylva-projects/sylva-core/-/issues/3376
steven.hardy added 1 commit 2026-01-23 14:14:07 +01:00
ironic-ipa-ramdisk: Disable MACAddressPolicy for bonds
Some checks failed
Check Release Manifest Local Charts Versions / Check Release Manifest Local Charts Versions (pull_request) Successful in 9s
Build PR in OBS / Build PR in OBS (pull_request_target) Failing after 46m28s
a390910a28
Related to https://gitlab.com/sylva-projects/sylva-core/-/issues/3376
steven.hardy requested review from nbelouin 2026-01-23 14:15:39 +01:00
steven.hardy requested review from mchiappero 2026-01-23 14:15:52 +01:00
Owner

ironic-ipa-ramdisk/root/etc/systemd/network/98-default.link is a systemd-networkd config file, I'm not sure what the equivalent would be for NetworkManager, if existing. Need to check the man pages.

`ironic-ipa-ramdisk/root/etc/systemd/network/98-default.link` is a systemd-networkd config file, I'm not sure what the equivalent would be for NetworkManager, if existing. Need to check the man pages.
Author
Owner

ironic-ipa-ramdisk/root/etc/systemd/network/98-default.link is a systemd-networkd config file, I'm not sure what the equivalent would be for NetworkManager, if existing. Need to check the man pages.

I'm not sure about this - IIUC the link files are handled by systemd-udevd https://www.freedesktop.org/software/systemd/man/latest/systemd.link.html

And on a micro 6.2 host we see:

# cat /etc/os-release  | grep PRETTY_NAME
PRETTY_NAME="openSUSE Leap Micro 6.2"

# cat /usr/lib/systemd/network/99-default.link
# SPDX-License-Identifier: MIT-0
#
# This config file is installed as part of systemd.
# It may be freely copied and edited (following the MIT No Attribution license).
#
# To make local modifications, use "networkctl edit". See networkctl(1) for details.
# This file should not be edited in place, because it'll be overwritten on upgrades.

[Match]
OriginalName=*

[Link]
NamePolicy=keep kernel database onboard slot path
AlternativeNamesPolicy=database onboard slot path mac
MACAddressPolicy=persistent

@eminguez perhaps you can confirm as I saw previous discussion of this workaround for Micro hosts that use NetworkManager?

> `ironic-ipa-ramdisk/root/etc/systemd/network/98-default.link` is a systemd-networkd config file, I'm not sure what the equivalent would be for NetworkManager, if existing. Need to check the man pages. I'm not sure about this - IIUC the link files are handled by systemd-udevd https://www.freedesktop.org/software/systemd/man/latest/systemd.link.html And on a micro 6.2 host we see: ``` # cat /etc/os-release | grep PRETTY_NAME PRETTY_NAME="openSUSE Leap Micro 6.2" # cat /usr/lib/systemd/network/99-default.link # SPDX-License-Identifier: MIT-0 # # This config file is installed as part of systemd. # It may be freely copied and edited (following the MIT No Attribution license). # # To make local modifications, use "networkctl edit". See networkctl(1) for details. # This file should not be edited in place, because it'll be overwritten on upgrades. [Match] OriginalName=* [Link] NamePolicy=keep kernel database onboard slot path AlternativeNamesPolicy=database onboard slot path mac MACAddressPolicy=persistent ``` @eminguez perhaps you can confirm as I saw previous discussion of this workaround for Micro hosts that use NetworkManager?
Owner
Not sure what is the state-of-the-art right now 😅 https://jira.suse.com/browse/PED-12267 and https://support.scc.suse.com/s/kb/systemd-udevd-5511-Could-not-generate-persistent-MAC-address-for-br0-No-such-file-or-directory?language=en_US have more information.
steven.hardy requested review from eminguez 2026-01-26 12:52:39 +01:00
Owner

ironic-ipa-ramdisk/root/etc/systemd/network/98-default.link is a systemd-networkd config file, I'm not sure what the equivalent would be for NetworkManager, if existing. Need to check the man pages.

I'm not sure about this - IIUC the link files are handled by systemd-udevd https://www.freedesktop.org/software/systemd/man/latest/systemd.link.html

Oh, interesting, I didn't know that!

To make local modifications, use "networkctl edit". See networkctl(1) for details.

Which we do not include. Sooner or later we will have to switch to systemd-networkd and drop NetworkManager.

> > `ironic-ipa-ramdisk/root/etc/systemd/network/98-default.link` is a systemd-networkd config file, I'm not sure what the equivalent would be for NetworkManager, if existing. Need to check the man pages. > > I'm not sure about this - IIUC the link files are handled by systemd-udevd https://www.freedesktop.org/software/systemd/man/latest/systemd.link.html Oh, interesting, I didn't know that! > # To make local modifications, use "networkctl edit". See networkctl(1) for details. Which we do not include. Sooner or later we will have to switch to systemd-networkd and drop NetworkManager.
Author
Owner

There was some discussion on Sylva Slack - this was tested via https://gitlab.com/sylva-projects/sylva-core/-/pipelines/2288545382 and AFAICS from the logs it worked:

enp0s4: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000
link/ether 52:54:00:44:44:04 brd ff:ff:ff:ff:ff:ff
altname enx525400444404

enp0s5: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000
link/ether 52:54:00:44:44:04 brd ff:ff:ff:ff:ff:ff permaddr 52:54:00:55:55:04

bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 52:54:00:44:44:04 brd ff:ff:ff:ff:ff:ff

bond0.100@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 52:54:00:44:44:04 brd ff:ff:ff:ff:ff:ff
inet 192.168.100.70/24 brd 192.168.100.255 scope global noprefixroute bond0.100
There was some discussion on Sylva Slack - this was tested via https://gitlab.com/sylva-projects/sylva-core/-/pipelines/2288545382 and AFAICS from the logs it worked: ``` enp0s4: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000 link/ether 52:54:00:44:44:04 brd ff:ff:ff:ff:ff:ff altname enx525400444404 enp0s5: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000 link/ether 52:54:00:44:44:04 brd ff:ff:ff:ff:ff:ff permaddr 52:54:00:55:55:04 bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 52:54:00:44:44:04 brd ff:ff:ff:ff:ff:ff bond0.100@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 52:54:00:44:44:04 brd ff:ff:ff:ff:ff:ff inet 192.168.100.70/24 brd 192.168.100.255 scope global noprefixroute bond0.100 ```
Author
Owner

@mchiappero I didn't get the comment re networkctl edit - that seems to be a convenience tool not a hard requirement for configuring systemd-udevd?

AFAICS this is working so it would be good to reach consensus re if it's a reasonable change, if we agree it is I'll bump the chart to reference the new image and remove the WIP

@mchiappero I didn't get the comment re networkctl edit - that seems to be a convenience tool not a hard requirement for configuring systemd-udevd? AFAICS this is working so it would be good to reach consensus re if it's a reasonable change, if we agree it is I'll bump the chart to reference the new image and remove the WIP
Owner

@mchiappero I didn't get the comment re networkctl edit - that seems to be a convenience tool not a hard requirement for configuring systemd-udevd?

My comment was about the fact that long term we should be transitioning to systemd-networkd and drop NetworkManager.

AFAICS this is working so it would be good to reach consensus re if it's a reasonable change, if we agree it is I'll bump the chart to reference the new image and remove the WIP

Sure, we should!

> @mchiappero I didn't get the comment re networkctl edit - that seems to be a convenience tool not a hard requirement for configuring systemd-udevd? My comment was about the fact that long term we should be transitioning to systemd-networkd and drop NetworkManager. > AFAICS this is working so it would be good to reach consensus re if it's a reasonable change, if we agree it is I'll bump the chart to reference the new image and remove the WIP Sure, we should!
steven.hardy force-pushed ipa_macpolicy from a390910a28 to e102a3ebd3 2026-01-29 10:17:12 +01:00 Compare
steven.hardy changed title from [WIP] ironic-ipa-ramdisk: Disable MACAddressPolicy for bonds to metal3: ironic-ipa-ramdisk Disable MACAddressPolicy for bonds 2026-01-29 10:19:27 +01:00
steven.hardy force-pushed ipa_macpolicy from e102a3ebd3 to 16512f5609 2026-01-29 10:21:07 +01:00 Compare
Author
Owner

The check job is failing to build the ramdisk on aarch64 - AFAICS that's due to a missing dependency and not because of this PR but we probably need to look at how to unblock that

The check job is failing to build the ramdisk on aarch64 - AFAICS that's due to a missing dependency and not because of this PR but we probably need to look at how to unblock that
Owner

The missing dependency was a flake, now should be good for that part (but another part fails because of a change in Ironic package, or one of its dependency)

The missing dependency was a flake, now should be good for that part (but another part fails because of a change in Ironic package, or one of its dependency)
nbelouin approved these changes 2026-01-30 16:49:23 +01:00
Some checks failed
Check Release Manifest Local Charts Versions / Check Release Manifest Local Charts Versions (pull_request) Successful in 9s
Build PR in OBS / Build PR in OBS (pull_request_target) Failing after 1h58m1s
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u ipa_macpolicy:steven.hardy-ipa_macpolicy
git checkout steven.hardy-ipa_macpolicy
Sign in to join this conversation.
No Label
4 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: suse-edge/Factory#373