ilo driver inspection requires extra parameters

Bug #1438546 reported by aeva black
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ironic
Fix Released
High
Ramakrishnan G (rameshg87)

Bug Description

Initiating inspection should be done by changing the node state, eg, PUT {"target": "inspect"} /v1/nodes/NNN/states/provision, as per the spec:
http://specs.openstack.org/openstack/ironic-specs/specs/kilo/ironic-node-properties-discovery.html

However, the ilo driver requires that the driver_info['inspect_ports'] property have been set to specific values prior to initiating the state transition to inspection. When a user follows the documented methods to initiate inspection, the ilo driver will error. The user must then read the error to understand how this driver behaves differently, pass in a special driver_info parameter, and then try to inspect again.

validate requires additional "inspect_ports":
https://github.com/openstack/ironic/blob/a0fde7ec56c71f34f79244823e31d2aa69f5756e/ironic/drivers/modules/ilo/inspect.py#L288-L314

in-line documentation of what that means:
https://github.com/openstack/ironic/blob/a0fde7ec56c71f34f79244823e31d2aa69f5756e/ironic/drivers/modules/ilo/inspect.py#L196-L214

Apparently this was done as a work-around for the situation where some NICs are not connected to the network, and enrolling those will lead to random failures during deploy. See https://bugs.launchpad.net/ironic/+bug/1405131 for a description of that issue. I don't think it's appropriate to implement a driver-specific change in the REST API to work around a bug that affects every driver in Ironic.

Tags: ilo
Dmitry Tantsur (divius)
Changed in ironic:
status: New → Confirmed
importance: Undecided → High
milestone: none → kilo-rc1
tags: added: ilo
Changed in ironic:
assignee: nobody → Ramakrishnan G (rameshg87)
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/169303

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

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

commit 2c04ccff791f2e695f4130191be1892a961aa16d
Author: Ramakrishnan G <email address hidden>
Date: Tue Mar 31 13:16:59 2015 +0000

    Remove inspect_ports from ilo inspection

    This commit removes the driver_info parameter
    'inspect_ports' which was required for ilo driver
    inspection. After this change, all the NICs detected
    by iLO will be enrolled as Ironic ports and operators
    are supposed to delete the Ironic ports for unused
    NICs manually (deploy may fail if all Ironic ports
    are enrolled due to bug 1405131).

    Closes-bug: 1438546
    Change-Id: I37eb1dda649d4d21681555339c9ece8a18216f95

Changed in ironic:
status: In Progress → Fix Committed
Revision history for this message
Wan-yen Hsu (wanyenhsu) wrote :

Instead of removing inspect_ports , we can make inspect_ports default to inspect all NICs. This approach will not require admin to use inspect_ports but they have an option to use it to specify the exact ports to inspect. Some OpenStack installing tools do all bare-metal installation and configuration automatically by using a hardware description file provided by admin and it hides all the Ironic configuration details from users. Therefore, there might be issues to require manaully deletion of unused ports.

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