accelerated-container-image icon indicating copy to clipboard operation
accelerated-container-image copied to clipboard

DADI image support for "No image conversion"

Open shuaichang opened this issue 3 years ago • 2 comments

TLDR: we'd love to request for feasibility of adding DADI blobs as part of the original OCIV1 image

Use cases:

  1. Easier management of a single image for both accelerated and original
  2. More transparent onboarding since it does not require workload to change the deployment config, workloads could use the same image as OCIV1 and later the node could decide when to start switching to accelerated format for a seemless user experience.
  3. Quick rollback: similar to 2, in case we encountered issue for accl image, we can switch containerd config snapshotter to overlayfs for a quick rollback and being transparent to workloads.
  4. Easier security scanning and auditing

AFAIK, there was previously a gap in image spec to achieve this state. I'm wondering if DADI could leverage on the new addition into the image spec for reference types https://github.com/opencontainers/wg-reference-types

An example can be found here https://github.com/awslabs/soci-snapshotter#no-image-conversion

Just a random thought, please feel free to correct me:

  1. Pull image, the image is an OCI V1 image with DADI blobs as its additional artifacts.
  2. Containerd calls overlaybd-snapshotter.Prepare
  3. overlaybd-snapshotter checks the image, if it has DADI blobs, then stream with overlaybd. Otherwise fall back to overlayfs.

shuaichang avatar Sep 06 '22 19:09 shuaichang

You mean referencing DADI image blobs in OCIv1's metadata, and detect that reference in overlaybd-snapshotter?

lihuiba avatar Sep 07 '22 03:09 lihuiba

@lihuiba that's correct. The end goal is to use a single OCIV1 image that can be run with/without acceleration for easier rolling updates, rollback, image security scanning etc.

shuaichang avatar Sep 07 '22 20:09 shuaichang