Duplicate configdrive while DHCP-less ramdisk clean/redeploy

Bug #2032377 reported by Fedor Tarasenko
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ironic
In Progress
High
Unassigned

Bug Description

Hi!

I have Ironic Zed version and try to use DHCP-less ramdisk booting with network data from config drive.
I use simple-init element, and deployment works fine for me. It creates and boots target image with 4 partitions (BSP,ESP,OS and config drive).

After that, no other actions are possible with server - next boot of ironic-python-agent ISO gets 2 config-drives and fails to get correct one.

[root@server devuser]# blkid -t LABEL="config-2"
/dev/sr: UUID="2023-08-21-11-32-05-B0" LABEL-"config-2" TYPE="iso9668"
/dev/nume8n1p4: UUID="2823-08-21-18-57-58-89" LABEL=*
"config-2" TYPE="is09660" PARTUUID="f293483a-328e-4d3b-87e2-695cbab1c95f"

This happens because simple-init (glean) uses the same LABEL for config-drive, as an openstack config-drive of target image.
No possible workaround found.

1. https://github.com/openstack/ironic/blob/master/ironic/common/images.py#L172
2. https://opendev.org/opendev/glean/src/branch/master/glean/init/glean-early.sh#L37

Revision history for this message
Dmitry Tantsur (divius) wrote :

We've discussed this issue during and after our weekly meeting, and that's the solution we're leaning towards:

1) Modify Glean [1] to optionally accept a hint for the IPA's configdrive in a new kernel parameter, e.g. glean-configdrive=LABEL=config-foo or glean-configdrive=UUID=bar (note: I'd rather avoid committing to using labels in case we figure out how to use UUIDs).

2) Modify Ironic's ISO building process [2] to generate a random label, e.g. config-<something> and pass it to Glean. This is going to be a breaking change, so we need to add it behind a flag with the intention to make it the default later.

[1] https://opendev.org/opendev/glean/src/branch/master/glean/init/glean-early.sh#L32
[2] https://opendev.org/openstack/ironic/src/commit/e4a5691d331c620f1e21d761c7de95e346f3effc/ironic/drivers/modules/image_utils.py#L425

Changed in ironic:
status: New → Triaged
importance: Undecided → High
Changed in ironic:
status: Triaged → In Progress
Revision history for this message
Julia Kreger (juliaashleykreger) wrote :
Revision history for this message
Julia Kreger (juliaashleykreger) wrote :

Additionally, an additional diskimage-builder change is currently in review which should improve overall security when dealing with configuration drives. https://review.opendev.org/c/openstack/diskimage-builder/+/899886

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.