vfat type configdrive does not work with ironic
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ironic |
New
|
Undecided
|
Unassigned |
Bug Description
nova support two types of format for configdrive: iso9660 and vfat, both are working well with virtual machine, as the configdrive is attached to guest os.
When working with baremetal, the configdrive is written to disk as a partition, Windows guest does not recognize iso9660 in a partition, and assumes it's a raw partition instead of cdrom. This leads to difficulties reading configuration data.
However, when we set vfat as the format of configdrive, ironic stuck at deploying state [1] and cannot auto recovered except a conductor service restart.
The reason is two formats differs in size. The typical meta data size are:
iso9660: ~450k generated from nova, ~8K after gzipped
vfat: 64M by nova, ~70K after gzipped
The final size is larger after base64ed.
instance_info in ironic node table uses `text` as field type, which supports up to 64K at most. It means ironic does not support vfat format at all.
The [1] provides a workaround to avoid node getting stucked when configdrive is too large, however the problem is not addressed.
The [2] is a fix to address this bug, however it's superseded by [3] which does not solve the issue.
The most obvious solution to fix this is [2], but it seems we have a tendency to avoid saving configdrive into database, then we have to remove codes saving configrive into instance_info. We have to reach a consensus in either way.
[1] https:/
[2] https:/
[3] https:/
Though #1596421 is referring to not store configdrive at all, but it was merged with database fix.
That actually addressed this bug, so I marked it as a duplicate.