live-migration fails when instance booted without specified availability_zone

Bug #1451921 reported by Timofey Durakov
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Invalid
Low
Timofey Durakov

Bug Description

If instance is booted without availability-zone parameter. It's value in instances table equal NULL.
If live-migrate such instance, all hosts, even those, which belongs to another availability zone are correct.
This could cause problems with attached volumes, and whole live-migration

Tags: compute
Changed in nova:
assignee: nobody → Timofey Durakov (tdurakov)
Revision history for this message
Sylvain Bauza (sylvain-bauza) wrote :

That all comes to the problem that the scheduler is bypassed when you're specifying a target host, so the AZFilter is not called.

I'm working on a blueprint for adding a check even if the target host is provided, see https://blueprints.launchpad.net/nova/+spec/check-destination-on-migrations

Leaving that bug confirmed but I think we need the blueprint I mentioned for correctly fixing the bug.

Changed in nova:
status: New → Confirmed
importance: Undecided → Low
tags: added: compute
Revision history for this message
Timofey Durakov (tdurakov) wrote :

when instance is booted, no az info is set in db for nstance, then when we try live-migrate it. scheduler decides that every az is acceptable. We should check request specs that passed in scheduler, and if no az is provided manually calculate real az by host before filters start working

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/180438

Changed in nova:
status: Confirmed → In Progress
Revision history for this message
Sylvain Bauza (sylvain-bauza) wrote :

As discussed on IRC, the issue you mention comes from the fact that default_schedule_zone conf flag is set to None by default.

As it's defaulted to None, then the instance has no AZ unless the user specifically asks for one, so the AZFilter doesn't care about it.

If you want to have a default AZ for each instance, please set default_schedule_zone to the default AZ you want (ideally, the same as for default_availability_zone)

Changed in nova:
status: In Progress → Invalid
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on nova (master)

Change abandoned by Timofey Durakov (<email address hidden>) on branch: master
Review: https://review.openstack.org/180438

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Change abandoned by Timofey Durakov (<email address hidden>) on branch: master
Review: https://review.openstack.org/180915

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.