provide an helper to call Nova select_destinations() from the scheduler's API

Registered by Antoine Cabot

When an algorithm selects the target servers, it should be an ordering function that's applied *post* calling select_destinations() from the scheduler's API. In that way, we ensure the first step is getting *viable* targets from the nova scheduler.

Blueprint information

Status:
Complete
Approver:
Antoine Cabot
Priority:
Undefined
Drafter:
Antoine Cabot
Direction:
Needs approval
Assignee:
None
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Antoine Cabot

Related branches

Sprints

Whiteboard

The nova-scheduler select_destinations is not designed to be called by external projects (see discussion here http://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack-nova.2016-01-06.log.html). Before nova-scheduler is split, it seems that we have to depend on this Nova BP which can make sure that resource allocation is consistent for all operations, even if a destination host is provided.
https://blueprints.launchpad.net/nova/+spec/check-destination-on-migrations

One more thing: current select_destinations() only returns ONE target host per instance.

From https://github.com/openstack/nova/blob/master/doc/source/scheduler_evolution.rst
"Filter Scheduler Alternatives

For certain use cases, radically different schedulers may perform much better than the filter scheduler. We should not block this innovation. It is unreasonable to assume a single scheduler will work for all use cases.

However, we really need a single strong scheduler interface, to enable these sorts of innovation in a maintainable way."

Move this discussion to the mid-cycle meetup agenda.

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.