From Fedora Project Wiki

< Changes

Revision as of 13:04, 1 July 2014 by Walters (talk | contribs) (Redo benefits to link to container image and project atomic)

Atomic Cloud Image

Summary

New Fedora product: Fedora Atomic Cloud Image - Docker host ready to go.

Owner

  • Name: Cloud SIG / Sandro Mathys Colin Walters
  • Email: red@fedoraproject.org walters@verbum.org
  • Release notes owner:
  • Product: Atomic Cloud Image (duh!)
  • Responsible WG: Cloud

Current status

  • Targeted release: Fedora 21
  • Last updated: 2014-04-05
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

Fedora Cloud agreed to make a base image plus several tailored to specific purposes. This is one of the tailored ones — Docker host ready to go.

Further research will happen on release around orchestration and management, looking at tools such as Mesos, Kubernetes and fleet.

Furthermore, the Cloud SIG considers this their most radical image, riding the very front of the leading edge. (Yeehaw!) Several approaches (read: bonus objectives) are under consideration but not crucial to the product itself:

  • Fedora Atomic Initiative (aka rpm-ostree) to allow for atomic updates. We might further choose to remove yum/dnf from the image in favor of ostree.
  • Remove Python from this image to reduce the footprint. Note, that this can only be achieved if yum/dnf AND cloud-init are replaced by other solutions as explained in the above points.

It should be noted that most of these tools are currently under heavy construction but might be ready in time. If they are, it's still up to discussion whether they will be included. If they aren't, we might punt them to F22 or later. Either way, they won't impact the completion of this change's main goals and are only listed for completeness' sake.

Update (2014-05-20): The Cloud WG has decided that this product should follow the Project Atomic efforts closely. Therefore, it will be called Atomic Cloud Image instead of the originally proposed Docker Cloud Image. Furthermore, we decided in favor of rpm-ostree and min-cloud-agent (formerly known as min-metadata-service), and to remove yum/dnf and python from the image. That rpm-ostree works has already been proven by Project Atomic with their F20-based customized cloud image. Should min-cloud-agent not be ready in time, we plan to simply fall back to cloud-init which is still being used in the other cloud images.

Benefit to Fedora

Containers are a powerful and flexible way to deploy and manage server applications, with numerous benefits such as density, ease of deployment, and orchestration. In concert with Changes/Docker_Container_Image, this will allow running Fedora content in containers and on the host system. The same RPM content will go into both.

This could be though of as a Fedora instance of the Project Atomic pattern.

Scope

  • Proposal owners: Regarding the core objective, it's just about creating a new kickstart file (probably even %include-ing the base one) add some minor stuff and make sure it gets built into a new image. Also, for added security, we'd like to see Docker and SELinux integrate better. There's already work going on about this.
    • The bonus objectives (i.e. leading edge approaches) further require:
      • ostree to work with SELinux
      • Creating a filesystem tree for ostree that equals the filesystem of the image as created by traditional means
      • min-metadata-service to gain the ability to execute scripts just like cloud-init does
      • CoreOS' cloud-init or other alternatives to be packages (and possibly tailored) for Fedora
  • Other developers: N/A (not a System Wide Change)
  • Release engineering: N/A (not a System Wide Change)
  • Policies and guidelines: N/A (not a System Wide Change)

Upgrade/compatibility impact

N/A (not a System Wide Change)

How To Test

N/A (not a System Wide Change)

User Experience

N/A (not a System Wide Change)

Dependencies

N/A (not a System Wide Change)

Contingency Plan

If any of the bonus objectives fail to make it in time, we simply go on without them and use the established mechanisms (i.e. what F20 did or what the F21 Fedora Base Cloud Image does) instead.

If all fails, there simply won't be a Fedora Atomic Cloud Image product for F21.

  • Blocks product? Yes, Atomic Cloud Image (duh!)

Documentation

N/A (not a System Wide Change)

Release Notes

New Fedora product: Fedora Atomic Cloud Image, featuring Docker and tools from Project Atomic.

Docker is an easy to use interface for running application containers on Linux. Fedora is uniquely positioned to provide the best platform for Docker, since this container technology is not a security solution, but can be made reasonably secure when wrapped with SELinux.

TODO: include notes if any of the bonus objectives are included. TODO: add something about the Project Atomic tools