Add a ServiceVersionFilter for the scheduler

Registered by Sylvain Bauza

Currently, there is no way in the scheduler to express that we want to pick a compute node having a minimum version (eg. that our cloud is fully upgraded)

The idea would be to filter out hosts based on a Service.is_uptodate() remotable method for knowing if we have the latest Service version from the cloud

The rationale behind that is that operators would like to make sure that new instances are forced to be spawned on new compute nodes in the context of a rolling upgrade.

How that would impact move operations for existing instances is not targeted to be discussed in that blueprint.

Blueprint information

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

Related branches

Sprints

Whiteboard

As an operator, I'd love to see this implemented so I would be happy to collaborate.

If we get the version information from the services we can also return this in the services listing, becoming handy information to check the cloud status at a glance (i.e. know at a glance and within nova how many nodes are running an which version). Currently the Service object has a version attribute that holds the object version. One idea could be adding another version attribute, holding the nova version. -- aloga

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.