From 71e4e7440371b36694c4453f5b8637cf349b4e01 Mon Sep 17 00:00:00 2001 From: Jim Rollenhagen Date: Wed, 14 Oct 2015 17:15:04 -0700 Subject: [PATCH] Add note about driver API breakage This adds a note about the breakage we caused to our driver API behavior during Liberty, and resolutions that out of tree drivers may use to fix themselves. See also: http://lists.openstack.org/pipermail/openstack-dev/2015-October/076205.html Change-Id: I2671e7c8634f3fd3115697df6f0cab68c589d21d Closes-Bug: #1502980 --- doc/source/releasenotes/index.rst | 35 +++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/doc/source/releasenotes/index.rst b/doc/source/releasenotes/index.rst index 6071326739..1f63528749 100644 --- a/doc/source/releasenotes/index.rst +++ b/doc/source/releasenotes/index.rst @@ -84,6 +84,41 @@ on Launchpad: https://launchpad.net/ironic/liberty/4.2.0. iLO driver documentation is available at: http://docs.openstack.org/developer/ironic/drivers/ilo.html +Known issues +~~~~~~~~~~~~ + +* Out of tree drivers may be broken by this release. The AgentDeploy and + ISCSIDeploy (formerly known as PXEDeploy) classes now depend on drivers to + utilize an instance of a BootInterface. For drivers that exist out of tree, + that use these deploy classes, an error will be thrown during + deployment. There is a simple fix. For drivers that expect these deploy + classes to handle PXE booting, one can add the following code to the driver's + `__init__` method:: + + from ironic.drivers.modules import pxe + + class YourDriver(...): + def __init__(self): + # ... + self.boot = pxe.PXEBoot() + + A driver that handles booting itself (for example, a driver that implements + booting from virtual media) should use the following to make calls to the boot + interface a no-op:: + + from ironic.drivers.modules import fake + + class YourDriver(...) + def __init__(self): + # ... + self.boot = fake.FakeBoot() + + Additionally, as mentioned before, `ironic.drivers.modules.pxe.PXEDeploy` + has moved to `ironic.drivers.modules.iscsi_deploy.ISCSIDeploy`, which will + break drivers that use this class. + + The Ironic team apologizes profusely for this inconvenience. + 4.1.0 =====