Drivers which do not implement the rescue interface should not report it as supported

Bug #1294288 reported by aeva black
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ironic
Fix Released
High
aeva black

Bug Description

All the drivers which use the pxe.PXEDeploy deploy interface also mapped this class to their rescue interface. This should not have been done. Deploy and Rescue interfaces are separate classes.

Furthermore, the pxe.PXERescue class was merely a stub which,, if used, would have caused drivers to incorrectly report that that interface was supported (when it wasn't). It is an optional interface, and does not need a stub class.

This is what the current output for a configured node looks like. This is misleading, because rescue() is not supported by any PXE-based driver today.

$ ironic node-validate 9f4fce58-dc2a-418d-b284-262b1df5dd1b
+-----------+--------+---------------+
| Interface | Result | Reason |
+-----------+--------+---------------+
| console | None | not supported |
| deploy | True | |
| power | True | |
| rescue | True | |
+-----------+--------+---------------+

aeva black (tenbrae)
Changed in ironic:
milestone: none → icehouse-rc1
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ironic (master)

Fix proposed to branch: master
Review: https://review.openstack.org/81336

Changed in ironic:
assignee: nobody → Devananda van der Veen (devananda)
status: New → In Progress
aeva black (tenbrae)
Changed in ironic:
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to ironic (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/81340

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ironic (master)

Reviewed: https://review.openstack.org/81336
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=20da6491ca2ff0f1de1dfeec6afca81e90aad8a9
Submitter: Jenkins
Branch: master

commit 20da6491ca2ff0f1de1dfeec6afca81e90aad8a9
Author: Devananda van der Veen <email address hidden>
Date: Tue Mar 18 12:00:47 2014 -0700

    Stop incorrectly returning rescue: supported

    Rescue interface is not supported by ironic.drivers.modules.pxe, but all
    the drivers which use the PXEDeploy interface were incorrectly mapping
    it to their rescue interface as well, leading to the appearance that
    these drivers supported rescue functionality.

    This patch corrects this by removing the incorrect driver interface
    mapping, and deleting the unused stub class PXERescue.

    Change-Id: Icaa5928f18d72fcb2d26baac2a18606e8c4366c6
    Closes-bug: #1294288

Changed in ironic:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to ironic (master)

Reviewed: https://review.openstack.org/81340
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=d2b36554abe45b3a54962b4edbf6abfd313f765a
Submitter: Jenkins
Branch: master

commit d2b36554abe45b3a54962b4edbf6abfd313f765a
Author: Devananda van der Veen <email address hidden>
Date: Tue Mar 18 12:09:03 2014 -0700

    Hide rescue interface from validate() output

    No API exists today to start or stop "rescue" mode, and no
    driver supports it. Therefor, the list of supported driver
    interfaces returned by:
      GET /v1/nodes/XXX/validate
    should not include "rescue".

    Co-Authored-By: David Shrewsbury <email address hidden>

    Change-Id: I2a43409087dfa747fdb6930481e5585324ceeb50
    Related-bug: #1294288

Thierry Carrez (ttx)
Changed in ironic:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in ironic:
milestone: icehouse-rc1 → 2014.1
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.