[openstack-dev] [ironic] the driver composition and breaking changes to the supported interfaces
Dmitry Tantsur
dtantsur at redhat.com
Mon Jun 12 13:43:39 UTC 2017
Hi folks!
I want to raise something we haven't apparently thought about when working on
the driver composition reform.
For example, an iRMC patch [0] replaces 'pxe' boot with 'irmc-pxe'. This is the
correct thing to do in this case. They're extending the PXE boot, and need a new
class and a new entrypoint. We can expect more changes like this coming.
However, this change is breaking for users. Imagine a node explicitly created with:
openstack baremetal node create --driver irmc --boot-interface pxe
On upgrade to Pike, such nodes will break and will require manual intervention
to get it working again:
openstack baremetal node set <UUID> --boot-interface irmc-pxe
What can we do about it? I see the following possibilities:
1. Keep "pxe" interface supported and issue a deprecation. This is relatively
easy, but I'm not sure if it's always possible to keep the old interface working.
2. Change the driver composition reform to somehow allow the same names for
different interfaces. e.g. "pxe" would point to PXEBoot for IPMI, but to
IRMCPXEBoot for iRMC. This is technically challenging.
3. Only do a release note, and allow the breaking change to happen.
WDYT?
[0] https://review.openstack.org/#/c/416403
More information about the OpenStack-dev
mailing list