libvirt: resize with deleted backing image fails
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
Matthew Booth | ||
Kilo |
Won't Fix
|
Undecided
|
Unassigned | ||
Liberty |
Fix Released
|
Medium
|
Matthew Booth |
Bug Description
Once the glance image from which an instance was spawned is deleted, resizes of that image fail if they would take place across more than one compute node. Migration and live block migration both succeed.
Resize fails, I believe, because 'qemu-img resize' is called (https:/
Replication requires two compute nodes. To replicate:
1. Boot an instance from an image or snapshot.
2. Delete the image from Glance.
3. Resize the instance. It will fail with an error similar to:
Stderr: u"qemu-img: Could not open '/var/lib/
Changed in nova: | |
assignee: | nobody → stgleb (gstepanov) |
status: | New → In Progress |
Changed in nova: | |
importance: | Undecided → Medium |
tags: | added: libvirt resize |
tags: | added: liberty-backport-potential |
tags: | removed: liberty-backport-potential |
I think there is no need to delete image from glance, this bug occurs
because migration is triggered during resize. But backing file is not copied in this
code flow, i would like to propose patch that fix this problem.
Steps to reproduce:
1. Deploy openstack with 2 or more computes.
2. Boot one or more instances on the same compute with flavor micro or tiny.
3. Resize one of the instances, that probably will cause migration.
If instance disk has backing file - migration will fail because in current implementation
backing files are not copied from one compute to another.