Support zero-size image creation

Bug #1025353 reported by Eoghan Glynn on 2012-07-16
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Glance
Wishlist
Eoghan Glynn
Essex
Wishlist
Eoghan Glynn
glance (Ubuntu)
Undecided
Unassigned
Precise
Undecided
Unassigned

Bug Description

We should transition image status to active immediately on creation (as opposed to leaving it queued forever) if the size is set to zero from the get-go.

This change would allow an image to be created that simply acts as a properties bucket, but requires no image data.

The intended use-case is implementing the EC2 CreateImage API for nova booted-from-volume instances. The idea of the placeholder image is described in this mail:

  https://lists.launchpad.net/openstack/msg13639.html

In this case, the "image" is more of a collection of properties that reference image data held elsewhere (i.e. the kernel/ramdisk IDs, and particularly the snapshot ID that's used to create a volume containing the root device data). So its not so much that there's no image data, more than the image data is referenced via indirection.

The result would be that a nova server could be booted entirely from the image properties, without providing this information via some ancillary route (e.g. the nova boot --block_device_mapping option).

Related branches

Eoghan Glynn (eglynn) on 2012-07-16
Changed in glance:
status: New → In Progress
importance: Undecided → Wishlist
assignee: nobody → Eoghan Glynn (eglynn)
milestone: none → folsom-3

Reviewed: https://review.openstack.org/9715
Committed: http://github.com/openstack/glance/commit/6873195cd19d519a5f6f31461b7b683e33b19784
Submitter: Jenkins
Branch: master

commit 6873195cd19d519a5f6f31461b7b683e33b19784
Author: Eoghan Glynn <email address hidden>
Date: Thu Jul 12 15:04:22 2012 +0100

    Support zero-size image creation via the v1 API

    Addresses LP 1025353 for the v1 API.

    Transition image status to active immediately on creation
    (as opposed to leaving it queued forever) if the size is set
    to zero from the get-go.

    The v2 implementation is left unchanged for now, as the image
    status does not appear to ever transition from queued to active
    in that case.

    This change allows an image to be created that simply acts as
    a properties bucket, but requires no image data. For example,
    an image created from a booted-from-volume instance where only
    the kernel, ramdisk ID, and block device mappings are required.

    Change-Id: I61e96f3fe5f5245fec791170b4a8b4c72135c3de

Changed in glance:
status: In Progress → Fix Committed

Reviewed: https://review.openstack.org/10238
Committed: http://github.com/openstack/glance/commit/55cf240cad2b52497cd8dc67f0e68ca7bd2dd9ae
Submitter: Jenkins
Branch: stable/essex

commit 55cf240cad2b52497cd8dc67f0e68ca7bd2dd9ae
Author: Eoghan Glynn <email address hidden>
Date: Thu Jul 12 15:04:22 2012 +0100

    Support zero-size image creation via the v1 API

    Addresses LP 1025353 for the v1 API.

    Transition image status to active immediately on creation
    (as opposed to leaving it queued forever) if the size is set
    to zero from the get-go.

    This change allows an image to be created that simply acts as
    a properties bucket, but requires no image data. For example,
    an image created from a booted-from-volume instance where only
    the kernel, ramdisk ID, and block device mappings are required.

    Change-Id: I61e96f3fe5f5245fec791170b4a8b4c72135c3de

Thierry Carrez (ttx) on 2012-08-15
Changed in glance:
status: Fix Committed → Fix Released
Dave Walker (davewalker) on 2012-08-24
Changed in glance (Ubuntu):
status: New → Fix Released
Changed in glance (Ubuntu Precise):
status: New → Confirmed

Please find the attached test log from the Ubuntu Server Team's CI infrastructure. As part of the verification process for this bug, Glance has been deployed and configured across multiple nodes using precise-proposed as an installation source. After successful bring-up and configuration of the cluster, a number of exercises and smoke tests have be invoked to ensure the updated package did not introduce any regressions. A number of test iterations were carried out to catch any possible transient errors.

Please Note the list of installed packages at the top and bottom of the report.

For records of upstream test coverage of this update, please see the Jenkins links in the comments of the relevant upstream code-review(s):

Trunk review: https://review.openstack.org/9715
Stable review: https://review.openstack.org/10238

As per the provisional Micro Release Exception granted to this package by the Technical Board, we hope this contributes toward verification of this update.

Adam Gandelman (gandelman-a) wrote :

Test coverage log.

tags: added: verification-done
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package glance - 2012.1.3+stable~20120821-120fcf-0ubuntu1

---------------
glance (2012.1.3+stable~20120821-120fcf-0ubuntu1) precise-proposed; urgency=low

  * New upstream snapshot. (LP: #1041120)
  * Resynchronzie with stable/essex:
    - Glance add uploads a double image if using ssl and images is smaller
      than 4k. (LP: #1007093)
    - If response.environ is None, instance fails to spawn.
      (LP: #1010560)
    - exception.BadStoreURL exposes sensitive information to end users.
      (LP: #1012268)
    - glance-cache.conf needs metadata encryption key (LP: #1012752)
    - image.upload notification doesn't report size (LP: #1018246)
    - Admins should be able to share image regardless of ownership.
      (LP: #1021054)
    - Glance scrubber date formatting fails with postgres (LP: #1022369)
    - Support zero-size image creation. (LP: #1025353)
    - Image id not contained in swift chunk debug message. (LP: #1028433)
    - qpid_heartbeat setting is ineffective. (LP: #1032314)
    - Image properties that reference image ids are not updated to UUIDs.
      (LP: #975651)
    - Migration 012_id_to_uuid attempts to convert IDs twice for non-sqlite
      databases. (LP: #975655)
    - multiprocess glance-api failed to exit when stopped by ctrl+c.
      (LP: #978130)
    - /usr/bin/glance's built-in pager breaks redirection.
      (LP: #978610)
    - Content-Length and Transfer-Encoding are mutually exclusive HTTP headers
      (LP: #981332)
    - glance add command - incorrect help text (LP: #997565)
  * debian/patches/convert_properties_to_uuid.patch: Dropped no longer
    needed.
  * debian/patches/fix-pep8-ubuntu.patch: Dropped no longer needed.
 -- Adam Gandelman <email address hidden> Fri, 24 Jun 2012 03:14:33 -0400

Changed in glance (Ubuntu Precise):
status: Confirmed → Fix Released

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Thierry Carrez (ttx) on 2012-09-27
Changed in glance:
milestone: folsom-3 → 2012.2
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers