Ironic: heavy polling

Bug #1458934 reported by Lucas Alvares Gomes
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Lucas Alvares Gomes

Bug Description

Ironic does poll the Ironic API to check the state of a Node when provisioning it, and currently we pool the whole node object representation every time. This can be very expensive since the node might contain a lot of details and even a base64 string of the configdrive registered in it. Plus, this full node representation also gets logged in case we use n-cpu with debug mode enabled.

We need a light way to fetch the states from Nodes in Ironic that can be used by the Nova Ironic Driver.

Tags: ironic
Changed in nova:
assignee: nobody → Lucas Alvares Gomes (lucasagomes)
Revision history for this message
Lucas Alvares Gomes (lucasagomes) wrote :

This patch is Ironic allows we GET a subset of a resource in our API [1], I'm planning to use this to fix the problem in the Ironic Nova driver


tags: added: ironic
Michael Davies (mrda)
Changed in nova:
status: New → Triaged
importance: Undecided → Medium
summary: - Ironic: heavy pooling
+ Ironic: heavy polling
description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master

Changed in nova:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on nova (master)

Change abandoned by Lucas Alvares Gomes (<email address hidden>) on branch: master
Reason: Superseded by

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

Submitter: Jenkins
Branch: master

commit 26c69a6a62a138ccdb88ecc5bf75330a04e5de0b
Author: Lucas Alvares Gomes <email address hidden>
Date: Wed Jan 13 16:15:12 2016 +0000

    Ironic: Lightweight fetching of nodes

    The Ironic API version >= 1.8 supports fetching only a small number of
    a resource instead of it's full representation. This patch is pinning
    the API version for Ironic at 1.8 so the nova driver can benefit from
    this feature by fetching only the required fields for the deployment,
    making it more lightweight and improving the readability of the logs.

    The configuration option "api_version" was marked as deprecated and
    should be removed in the future. The only possible value for that
    configuration was "1" (because Ironic only have 1 API version) and the
    ironic team came to an agreement that setting the API version via
    configuration option should not be supported anymore.

    Closes-Bug: #1458934
    Change-Id: Iebfa06da6811889e11fd4edf15d47ca4e0feea6f

Changed in nova:
status: In Progress → Fix Released
Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/nova

This issue was fixed in the openstack/nova development milestone.

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.