Please add a combined_squashfs_sha256 field for LXD consumption of the squashfs images

Bug #1577922 reported by Stéphane Graber
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
cloud-images
Medium
Robert C Jennings
simplestreams
High
Robert C Jennings

Bug Description

Same logic as the existing hash but hash the lxd.tar.xz tarball and the squashfs image together rather than lxd.tar.xz and rootfs.tar.xz.

Related branches

Changed in cloud-images:
milestone: none → y-2016-05-05
Changed in cloud-images:
milestone: y-2016-05-05 → y-2016-06-02
Robert C Jennings (rcj)
Changed in cloud-images:
assignee: nobody → Robert C Jennings (rcj)
Revision history for this message
Robert C Jennings (rcj) wrote :

Stephane,

The root.tar.xz file will go away during the yakkety development cycle and the combined_sha256 value will refer to the squashfs root. Rather than adding combined_squahshfs_sha256 I propose adding an item named 'root_ftype' with a value of 'root.tar.xz' or 'squashfs' to indicates to which the combined_sha256 applies.

Robert C Jennings (rcj)
Changed in simplestreams:
assignee: nobody → Robert C Jennings (rcj)
Revision history for this message
Stéphane Graber (stgraber) wrote :

rcj: That'd be fine.

And when you say "within the cycle", you mean, "we already did it and everything is blowing up all over the place".

Current LXD and LXC are unable to get cloud images and that's causing test regressions for a lot of people.

Revision history for this message
Stéphane Graber (stgraber) wrote :

The idea behind the separate combined_squashfs_sha256 was to allow for progressive migration from the .tar.xz to .squashfs format as new versions of the tools (LXC and LXD) get SRUed which would have allowed to do this change without breaking anyone.

But since you decided to break everyone anyway, it's indeed not needed.

Revision history for this message
Stéphane Graber (stgraber) wrote :

Oh, one problem with your approach though. It means that we'll be stuck with .tar.xz for pre-Xenial, whereas with my suggested solution, recent LXD would be able to use squashfs on any release publishing the .squashfs and older LXD that doesn't know about squashfs would still work fine.

Revision history for this message
Stéphane Graber (stgraber) wrote :

Not necessarily a problem, but it means that .squashfs for Xenial (and older) will remain effectively unused.

Revision history for this message
Robert C Jennings (rcj) wrote :

I will add items named 'combined_squashfs_sha256' and 'combined_rootxz_sha256' for the lxd metadata tar entries, the later being the same as combined_sha256.

Robert C Jennings (rcj)
Changed in cloud-images:
milestone: y-2016-06-02 → y-2016-06-16
Robert C Jennings (rcj)
Changed in simplestreams:
status: New → In Progress
Robert C Jennings (rcj)
Changed in cloud-images:
status: New → In Progress
Robert C Jennings (rcj)
Changed in cloud-images:
milestone: y-2016-06-16 → y-2016-06-30
Scott Moser (smoser)
Changed in simplestreams:
importance: Undecided → Medium
importance: Medium → High
Changed in cloud-images:
importance: Undecided → Medium
Revision history for this message
Robert C Jennings (rcj) wrote :

combined_squashfs_sha256 entries are now available in simplestreams for yakkety @
http://cloud-images.ubuntu.com/daily/streams/v1/com.ubuntu.cloud:daily:download.json

Stephane, please verify the stream content.

Changed in cloud-images:
status: In Progress → Fix Committed
Changed in simplestreams:
status: In Progress → Fix Released
Revision history for this message
Stéphane Graber (stgraber) wrote :

Looks functional, my test code does successfully list the yakkety images and can download them fine.

Revision history for this message
Stéphane Graber (stgraber) wrote :

Just spent a few minutes doing our side of this work, tested to be functional, supports all 3 possibles fields, does proper fallback and works when nested too.

https://github.com/lxc/lxd/pull/2146

Robert C Jennings (rcj)
Changed in cloud-images:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers