Scheduler report client does not account for shared resource providers

Bug #1707256 reported by Matt Riedemann on 2017-07-28
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
High
Chris Dent

Bug Description

There are a few places in the scheduler report client that don't account for shared resource providers, like a shared storage pool.

1. https://github.com/openstack/nova/blob/09f0795fe0f5d043593f5ae55a6ec5f6298ba5ba/nova/scheduler/client/report.py#L921

That's used in _allocate_for_instance when it compares the current allocations for the instance vs the allocations that the compute node thinks it has:

https://github.com/openstack/nova/blob/09f0795fe0f5d043593f5ae55a6ec5f6298ba5ba/nova/scheduler/client/report.py#L929

If those are different, the compute node allocations are going to overwrite the current allocations for the instance, which could include a shared storage allocation created by the scheduler. This is particularly bad since it happens during the update_available_resource periodic task that happens in the compute service / resource tracker.

2. https://github.com/openstack/nova/blob/09f0795fe0f5d043593f5ae55a6ec5f6298ba5ba/nova/scheduler/client/report.py#L1024

This is related to #1 and called from the same code in #1, the _allocate_for_instance method which is the one comparing the current allocations for the instance to the ones that the compute node things it needs, which doesn't account for shared resource providers.

Matt Riedemann (mriedem) on 2017-07-28
summary: - Scheduler report client is not account for shared resource providers
+ Scheduler report client does not account for shared resource providers
Jay Pipes (jaypipes) on 2017-07-28
Changed in nova:
assignee: nobody → Jay Pipes (jaypipes)

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

Changed in nova:
assignee: Jay Pipes (jaypipes) → Matt Riedemann (mriedem)
status: Confirmed → In Progress
Matt Riedemann (mriedem) wrote :

We're just going to document this as a limitation for Pike in the release notes (it's really an incomplete feature) and work on it in Queens.

tags: removed: pike-rc-potential

Reviewed: https://review.openstack.org/491582
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=0d31698d9e97e98f599f6b7ee0f1533677deee97
Submitter: Jenkins
Branch: master

commit 0d31698d9e97e98f599f6b7ee0f1533677deee97
Author: Matt Riedemann <email address hidden>
Date: Mon Aug 7 15:24:07 2017 -0400

    Add release note for shared storage known issue

    Due to the scheduler report client on the compute service
    not being aware of shared storage providers in Placement
    for a given compute node, we can't claim support for
    shared storage pool modeling in Pike. This adds a release
    note to be clear about the lack of that functionality.

    Change-Id: I0692a4fdf9a19889c5d708fb9a6a562c914963f9
    Related-Bug: #1707256

Changed in nova:
assignee: Matt Riedemann (mriedem) → Chris Dent (cdent)

Change abandoned by Matt Riedemann (<email address hidden>) on branch: master
Review: https://review.openstack.org/491098

Change abandoned by Matt Riedemann (<email address hidden>) on branch: master
Review: https://review.openstack.org/490733

Eric Fried (efried) wrote :

I *think* this has now been addressed in Queens. Marking Incomplete pending confirmation from Jay/Matt/Chris.

Changed in nova:
status: In Progress → Incomplete
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers