yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #07645
[Bug 1262914] [NEW] Unnecessary data copy during cold snapshot
Public bug reported:
When creating a cold snapshot, LibvirtDriver.snapshot() creates a local
copy of the VM image before uploading from that copy into a new image in
Glance.
In case of snapshotting a local file backed VM to Swift, that's one copy
too many: if the target format matches the source format, the local
file can be uploaded directly, halving the time it takes to create a
snapshot. In case of snapshotting an RBD backed VM to RBD backed Glance,
that's two copies too many: a copy-on-write clone of the VM drive could
obviate the need to copy any data at all.
I think that instead of passing the target location as a temporary file
path under snapshots_directory, LibvirtDriver.snapshot() should pass
image metadata to Image.snapshot_extract() and let the image backend
figure out and return the target location.
** Affects: nova
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1262914
Title:
Unnecessary data copy during cold snapshot
Status in OpenStack Compute (Nova):
New
Bug description:
When creating a cold snapshot, LibvirtDriver.snapshot() creates a
local copy of the VM image before uploading from that copy into a new
image in Glance.
In case of snapshotting a local file backed VM to Swift, that's one
copy too many: if the target format matches the source format, the
local file can be uploaded directly, halving the time it takes to
create a snapshot. In case of snapshotting an RBD backed VM to RBD
backed Glance, that's two copies too many: a copy-on-write clone of
the VM drive could obviate the need to copy any data at all.
I think that instead of passing the target location as a temporary
file path under snapshots_directory, LibvirtDriver.snapshot() should
pass image metadata to Image.snapshot_extract() and let the image
backend figure out and return the target location.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1262914/+subscriptions
Follow ups
References