Ironic node cannot be used if it does not report VCPU

Bug #1723423 reported by Dmitry Tantsur
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
High
Dmitry Tantsur
Pike
Fix Committed
High
Dmitry Tantsur

Bug Description

Even though reporting VCPU is optional, starting with Pike, due to code at https://github.com/openstack/nova/blob/10661dc5e2e3f2e2f37b6a86ea22f71b4b833fc9/nova/virt/ironic/driver.py#L762 nodes without VCPU are not recognized. This has to be changes to properly call _node_resources_unavailable instead.

Tags: ironic
Dmitry Tantsur (divius)
Changed in nova:
assignee: nobody → Dmitry Tantsur (divius)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

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

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

Reviewed: https://review.openstack.org/511844
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=b25928dc0459e44c5cef8c1f16db76d779fbf556
Submitter: Zuul
Branch: master

commit b25928dc0459e44c5cef8c1f16db76d779fbf556
Author: Dmitry Tantsur <email address hidden>
Date: Fri Oct 13 15:18:16 2017 +0200

    Pick ironic nodes without VCPU set

    Starting with the Pike release, reporting VCPU/memory/disk is no longer required.
    However, we used VCPU to check if a node is available, so nodes without VCPU in
    their properties were always ignored. This patch changes the logic to use the existing
    _node_resources_unavailable call.

    This change also fixes another related issue: when disk or memory are missing from
    properties, the virt driver tries to report zero max_unit for them, which is not
    allowed by placement.

    Change-Id: I1bbfc152189252c5c45e6153695a802d17b76690
    Closes-Bug: #1723423

Changed in nova:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (stable/pike)

Fix proposed to branch: stable/pike
Review: https://review.openstack.org/513678

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/nova 17.0.0.0b1

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

Matt Riedemann (mriedem)
Changed in nova:
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (stable/pike)

Reviewed: https://review.openstack.org/513678
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=d25feca90ec4bad6ec9ececedced63b9f00b4c87
Submitter: Zuul
Branch: stable/pike

commit d25feca90ec4bad6ec9ececedced63b9f00b4c87
Author: Dmitry Tantsur <email address hidden>
Date: Fri Oct 13 15:18:16 2017 +0200

    Pick ironic nodes without VCPU set

    Starting with the Pike release, reporting VCPU/memory/disk is no longer required.
    However, we used VCPU to check if a node is available, so nodes without VCPU in
    their properties were always ignored. This patch changes the logic to use the existing
    _node_resources_unavailable call.

    This change also fixes another related issue: when disk or memory are missing from
    properties, the virt driver tries to report zero max_unit for them, which is not
    allowed by placement.

    Change-Id: I1bbfc152189252c5c45e6153695a802d17b76690
    Closes-Bug: #1723423
    (cherry picked from commit b25928dc0459e44c5cef8c1f16db76d779fbf556)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/nova 16.0.3

This issue was fixed in the openstack/nova 16.0.3 release.

Revision history for this message
Mark Goddard (mgoddard) wrote :

I think the above fix introduces another issue, see https://bugs.launchpad.net/nova/+bug/1710141/comments/7.

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.