object: support batch scheduling for multiple different instances using multiple RequestSpec Object

Registered by wei

Add batch scheduling for multiple different instances.
To support batch scheduling, the RequestSpec Object should supports multiple different flavor.

Problem description:
In liberty, RequestSpec Object added to encapsulate the request to launch one or more instances with the same flavor.
But in some scenarios, such as NFV, one VNF consists of multiple different instances usually, and all the instances must be launched successfully.
For now, nova scheduler only supports schedule different instances one by one.
And if one instance of a project failed to launch, all the launched instances of the project were uselessly.

For example:
one project includes 3 instances:
    instance1: 8 vcpus
    instance2: 6 vcpus
    instance3: 6 vcpus
And the available resources are :
    host1: 10 cpu
    host2: 12 cpu
The scheduler may launch instance1 at host2, and then instance2 or instance3 will failed.
If the scheduler supports batch scheduling, we can schedule all the 3 instances at once : instance1 at host1, instance2 and instance3 at host2.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
wei
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.