From Fedora Project Wiki
(Change Proposal ready for 2014-05-07 FESCo meeting (#1250))
(Add missing tracker bug)
 
(16 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= Docker Cloud Image =
= Atomic Cloud Image =


== Summary ==
== Summary ==
New Fedora product: Fedora Docker Cloud Image - Docker host ready to go.
New Fedora product: Fedora Atomic (Cloud Image) - Docker host ready to go in the cloud.  This is the "host" component of the [http://www.projectatomic.io/ Project Atomic] pattern.


== Owner ==
== Owner ==
* Name: Cloud SIG / [[User:red|Sandro Mathys]]
* Name: Cloud SIG / [[User:jzb|Joe Brockmeier]] [[User:walters|Colin Walters]]
* Email: red@fedoraproject.org
* Email: jzb@fedoraproject.org walters@verbum.org
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
-->
-->
* Product: Docker Cloud Image (duh!)
* Product: Atomic Cloud Image (duh!)
* Responsible WG: Cloud
* Responsible WG: Cloud


== Current status ==
== Current status ==
* Targeted release: [[Releases/21 | Fedora 21 ]]  
* Targeted release: [[Releases/21 | Fedora 21 ]]  
* Last updated: 2014-04-05
* Last updated: 2014-07-10
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
Bugzilla states meaning as usual:
Bugzilla states meaning as usual:
Line 25: Line 25:
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
-->
-->
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1152217 #1152217]
 
Presently, a compose server atomic01.qa.fedoraproject.org has been set up, and is composing trees.  The content is rsync'd to http://rpm-ostree.cloud.fedoraproject.org/repo/.  This server is running an instance of https://github.com/projectatomic/rpm-ostree-toolbox which generates trees and disk images.


== Detailed Description ==
== 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. While basically that simply means only just adding docker-io to the base image, this is (also) intended to be our response to CoreOS. Therefore, depending on further discussion and user input, we might also add [https://github.com/coreos/etcd etcd] and [https://github.com/coreos/fleet fleet] to the mix.
There are two major delivery aspects to Atomic; the host (this change) and the container: [[Changes/Docker_Container_Image]].


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:
The host system will use [https://github.com/projectatomic/rpm-ostree rpm-ostree] technology to do atomic updates of the host system. This is distinct from the traditional Fedora package manager.
* [http://rpm-ostree.cloud.fedoraproject.org/ 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.
* Replace cloud-init with min-metadata-service, CoreOS' cloud-init or other alternatives. We'd like to find a leaner solution (read: less Requires) and one that is better (or easier) tailored to Fedora.
* 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.
In this instance, the host system is only targeted for cloud providers.


== Benefit to Fedora ==
== Benefit to Fedora ==
* Users get a quick and easy way to use/try Docker (containers) in their favorite IaaS cloud.
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.
* Our answer to CoreOS.
* Easier for Docker fans to become fans of Fedora, too.


== Scope ==
== 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.
* Proposal owners: Currently generating trees on a compose server and syncing them.
** 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) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Other developers: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Release engineering: N/A (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Release engineering: Will need to generate trees during the general Fedora compose process, and generate install media and cloud image based on trees.
* Policies and guidelines: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Policies and guidelines: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->


Line 69: Line 61:
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 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 Docker Cloud Image product for F21.
If all fails, there simply won't be a Fedora Atomic Cloud Image product for F21.


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


== Documentation ==
== Documentation ==
Line 77: Line 69:


== Release Notes ==
== Release Notes ==
New Fedora product: Fedora Docker Cloud Image!
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.  
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: include notes if any of the bonus objectives are included.
TODO: add something about the Project Atomic tools


[[Category:ChangeReadyForFesco]]
[[Category:ChangeAcceptedF21]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->

Latest revision as of 15:16, 13 October 2014

Atomic Cloud Image

Summary

New Fedora product: Fedora Atomic (Cloud Image) - Docker host ready to go in the cloud. This is the "host" component of the Project Atomic pattern.

Owner

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

Current status

Presently, a compose server atomic01.qa.fedoraproject.org has been set up, and is composing trees. The content is rsync'd to http://rpm-ostree.cloud.fedoraproject.org/repo/. This server is running an instance of https://github.com/projectatomic/rpm-ostree-toolbox which generates trees and disk images.

Detailed Description

There are two major delivery aspects to Atomic; the host (this change) and the container: Changes/Docker_Container_Image.

The host system will use rpm-ostree technology to do atomic updates of the host system. This is distinct from the traditional Fedora package manager.

In this instance, the host system is only targeted for cloud providers.

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.

Scope

  • Proposal owners: Currently generating trees on a compose server and syncing them.
  • Other developers: N/A (not a System Wide Change)
  • Release engineering: Will need to generate trees during the general Fedora compose process, and generate install media and cloud image based on trees.
  • 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