[openstack-dev] [ironic] Backward incompatibility when moving from the old Ironic ramdisk to ironic-python-agent

Mathieu Mitchell mmitchell at internap.com
Thu Mar 17 11:55:37 UTC 2016


On 2016-03-16 12:18 PM, Dmitry Tantsur wrote:
> Hi all!
>
> This is a heads up for you that we've found an issue [1] in IPA that
> changes the behavior for those of you with several hard drives. The
> difference is in the way our ramdisks pick the root device for
> deployment, when no root device hints [2] are provided. Namely:
> - The old ramdisk picked the first available device from the list of
> device names in the "disk_devices" configuration option [3]. In practice
> it usually meant the first disk was chosen. Note that this approach was
> error-prone, as disk ordering is, generally speaking, not guaranteed by
> Linux.
> - IPA ignores the "disk_devices" option completely and picks the
> smallest device larger than 4 GiB.
>
> It is probably too late to change the IPA behavior to be more
> compatible, as a lot of folks are already relying on it. So we decided
> to raise this issue and get feedback on the preferred path forward.

I think relying on Linux device ordering isn't reliable enough to use in 
this case. Furthermore, defining the list of devices to be used as 
system disk in ironic.conf can only work if you have a homogeneous pool 
of machines.

The proper way to specify the system disk to be used is the root_device 
node property [1]. This ends up being passed to IPA via boot parameters.

I suggest instead that this change of default behavior be noted in the 
release notes and the config entry for disk_devices under [pxe] be removed.

Finally, is there anyone who relies on the old ramdisk default and who 
can tell us their use case? Would the root_device approach work for you? 
Did you intentionally configure disk_devices?

Mathieu

[1] 
https://github.com/openstack/ironic/blob/master/ironic/drivers/modules/deploy_utils.py#L679



More information about the OpenStack-dev mailing list