(update wip from etherpad) |
(big update from etherpad) |
||
Line 2: | Line 2: | ||
'''Working on this now at''' http://cloudpad-samkottler.rhcloud.com/p/CloudChanges | '''Working on this now at''' http://cloudpad-samkottler.rhcloud.com/p/CloudChanges | ||
== | |||
== External Dependencies == | |||
Some of the things the Fedora Cloud Working Group would like to see require changes that are largely in the areas of other Fedora groups. The enhanced automatic QA features of Taskotron are be an example; web design and marketing are others. For each of these, we will find someone from the Cloud SIG to take responsibility, including contributing effort where applicable. | |||
---- | ---- | ||
=== External Need: Automatic Image Upload === | === External Need: Automatic Image Upload === | ||
'''Summary:''' | '''Summary:''' Whenever an image is built, it is automatically uploaded to our cloud provider targets (EC2, etc.) and to the fedora ftp site (and possibly mirrors if we can convince mirror admins to drink from that firehose) | ||
'''Importance:''' vital (current process where rel eng does it by hand will not scale) | '''Importance:''' vital (current process where rel eng does it by hand will not scale) | ||
'''Timeframe:''' whenever we can get it / this adds value whenever it happens | '''Timeframe:''' whenever we can get it / this adds value whenever it happens | ||
Line 50: | Line 23: | ||
---- | ---- | ||
=== External Need: Scratch Builds on Change === | === External Need: Scratch Builds on Change === | ||
'''Summary:''' Whenever the kickstart changes, _or_ an RPM which is on the image hits the tree, a new scratch image is automatically built. | '''Summary:''' Whenever the kickstart changes, _or_ an RPM which is on the image hits the tree, a new scratch image is automatically built. | ||
'''Importance:''' nice to have (makes development much easier, and makes it quick to spot and fix problems before they affect anyone) | '''Importance:''' nice to have (makes development much easier, and makes it quick to spot and fix problems before they affect anyone) | ||
'''Timeframe:''' whenever we can get it / this adds value whenever it happens | '''Timeframe:''' whenever we can get it / this adds value whenever it happens | ||
'''Fedora Sub-Project/SIG:''' Release Engineering, possibly Infrastructure for resources | '''Fedora Sub-Project/SIG:''' Release Engineering, possibly Infrastructure for resources | ||
Line 58: | Line 31: | ||
---- | ---- | ||
=== External Need: Updated Web Site=== | === External Need: Updated Web Site=== | ||
'''Summary:''' Since we are now one of the three top level artifacts Fedora produces, we want to emphasize our unique niche. Updated website with new flashier branding, plus tools for selecting different images for different use cases | '''Summary:''' Since we are now one of the three top level artifacts Fedora produces, we want to emphasize our unique niche. Updated website with new flashier branding, plus tools for selecting different images for different use cases | ||
'''Importance:''' vital (it's basically part of the whole exercise | '''Importance:''' vital (it's basically part of the whole exercise) | ||
'''Timeframe:''' F21 release / arguably, having the web site up _is_ the release. And it'd be nice to have earlier, like at the alpha and beta | '''Timeframe:''' F21 release / arguably, having the web site up _is_ the release. And it'd be nice to have earlier, like at the alpha and beta | ||
'''Fedora Sub-Project/SIG:''' Websites | '''Fedora Sub-Project/SIG:''' Websites | ||
'''Cloud SIG owner:''' Joe Brockmeier | '''Cloud SIG owner:''' Joe Brockmeier | ||
https://fedorahosted.org/fedora-websites/ticket/248 | https://fedorahosted.org/fedora-websites/ticket/248 | ||
---- | |||
=== External Need: ''Batched Updates'' === | |||
'''Summary:''' We want to produce updated images on a monthly cadence. It would be nice if we could produce those from QA'd bunches of packages. | |||
'''Importance:''' moderate (it will be hard to implement image refresh without this, but we could do it) | |||
'''Timeframe:''' F21 release + 1 month / Obviously better if we get things lined up earlier | |||
'''Fedora Sub-Project/SIG:''' Primarily QA, but Rel Eng and Infrastructure too. This is pretty big. | |||
'''Cloud SIG owner:''' ???????? (this probably needs someone actively contributing to initial and ongoing work) See the related Change proposal "(A)Periodic Updates to the Images" | |||
http://flock2013.sched.org/event/8c4f702e42814598e0e4e31b188a0ae6 | |||
---- | |||
=== External Need: Software Collections for Cloud Users === | |||
'''Summary:''' | |||
'''Importance:''' vital (provides a meaningful reason to use Fedora cloud image, and helps insulate against rapid change) | |||
'''Timeframe:''' F21 release / This is a requirement of users in production. | |||
'''Fedora Sub-Project/SIG:''' Environments and Stacks | |||
'''Cloud SIG owner:''' ???????? | |||
''link to relevant whatever'' | |||
---- | |||
== Change Proposals == | |||
These are not all yet filed; this list is effectively a statement of intent-to-create, in order to collect feedback and better work together with the other groups involved in each. | |||
---- | |||
=== Change: Move to ImageFactory For image Creation === | |||
'''Summary:''' Create images using Anaconda in Koji rather than obsolete, unmaintained appliance-creator. Allows fedmsg integration for upload service, and also could produce official Docker images. | |||
'''Importance:''' vital (basic image creation is nice-to-have, fedmsg integration is important to automation, and producing Docker images is strategically vital) | |||
'''Timeframe:''' at least a month lead time before F21 alpha / If we are going to release images made this way, we need them made that way for early testing, and there will be some porting work to the kickstart | |||
'''Scope:''' self-contained (work with Rel Eng) | |||
https://fedoraproject.org/wiki/Changes/ImageFactory_in_Koji | |||
---- | ---- | ||
=== Change: Docker Host Image === | === Change: Docker Host Image === | ||
'''Summary:''' 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. | '''Summary:''' 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. | ||
'''Importance:''' moderate (Docker is hot stuff and we need an answer to CoreOS, but if we fail to do it, we are not any worse-off than we are now, and Docker can still be used on the base iamge.) | '''Importance:''' moderate (Docker is hot stuff and we need an answer to CoreOS, but if we fail to do it, we are not any worse-off than we are now, and Docker can still be used on the base iamge.) | ||
'''Timeframe:''' F21 alpha / If it's not ready for alpha, we have missed this release | '''Timeframe:''' F21 alpha / If it's not ready for alpha, we have missed this release | ||
'''Scope:''' self-contained | '''Scope:''' self-contained | ||
Line 73: | Line 72: | ||
---- | ---- | ||
=== Change: Big Data Image === | === Change: Big Data Image === | ||
'''Summary:''' | '''Summary:''' Fedora Cloud agreed to make a base image plus several tailored to specific purposes. This is one of the tailored ones, produced in collaboration with the Big Data SIG. | ||
'''Importance:''' | '''Importance:''' nice to have (if we fail to do it, we are not any worse-off than we are now, and big data tools can still be used on the base iamge.) | ||
'''Timeframe:''' F21 alpha / If it's not ready for alpha, we have missed this release | '''Timeframe:''' F21 alpha / If it's not ready for alpha, we have missed this release | ||
'''Scope:''' self-contained | '''Scope:''' self-contained (in collaboration with Big Data SIG) | ||
https://fedoraproject.org/wiki/Changes/Big_Data_Cloud_Image | https://fedoraproject.org/wiki/Changes/Big_Data_Cloud_Image | ||
---- | ---- | ||
=== Change: OpenShift Out-of-the-Box Image === | === Change: OpenShift Out-of-the-Box Image === | ||
'''Summary:''' | '''Summary:''' Fedora Cloud agreed to make a base image plus several tailored to specific purposes. This is one of the tailored ones — OpenShift ready to run. | ||
'''Importance:''' | '''Importance:''' nice to have (if we fail to do it, we are not any worse-off than we are now, and OpenShift can still be installed on the base iamge.) | ||
'''Timeframe:''' F21 alpha / If it's not ready for alpha, we have missed this release | '''Timeframe:''' F21 alpha / If it's not ready for alpha, we have missed this release | ||
'''Scope:''' self-contained | '''Scope:''' self-contained (in collaboration with OpenShift developers) | ||
https://fedoraproject.org/wiki/Changes/ | https://fedoraproject.org/wiki/Changes/OpenShift_Out-of-the-Box_Cloud_Image | ||
---- | ---- | ||
=== Change: Docker Container Image === | === Change: Docker Container Image === | ||
'''Summary:''' | '''Summary:''' This is Fedora running inside Docker. Currently, there are non-official images in the docker index, but we'd like them to really come out of release engineering. | ||
'''Importance:''' | '''Importance:''' nice to have (The unofficial image situation is not ideal. Plus, this is an area where we can show leadership.) | ||
'''Timeframe:''' F21 alpha / If it's not ready for alpha, we have missed this release | '''Timeframe:''' F21 alpha / If it's not ready for alpha, we have missed this release | ||
'''Scope:''' self-contained | '''Scope:''' self-contained | ||
https://fedoraproject.org/wiki/Changes/Docker_Container_Image | https://fedoraproject.org/wiki/Changes/Docker_Container_Image | ||
=== Change: (A)Periodic Updates to the Images === | === Change: (A)Periodic Updates to the Images === | ||
'''Summary:''' We want to be able to release updated images not just at release time. Hope for a one-month regular cadence, plus emergency updates if needed. | '''Summary:''' We want to be able to release updated images not just at release time. Hope for a one-month regular cadence, plus emergency updates if needed. | ||
'''Importance:''' | '''Importance:''' vital (People don't like to yum update their images, and since we change so much, doing so is a significant launch delay. let's make it so they don't have to, but still get updates) | ||
'''Timeframe:''' F21 final + 1 month / Obviously better if we get things lined up earlier | '''Timeframe:''' F21 final + 1 month / Obviously better if we get things lined up earlier | ||
'''Scope:''' self-contained | '''Scope:''' self-contained (but depends on bigger changes across the project) | ||
https://fedoraproject.org/wiki/Changes/(A)Periodic_Updates_to_Images | https://fedoraproject.org/wiki/Changes/(A)Periodic_Updates_to_Images | ||
---- | ---- | ||
=== Change: Install without i10n / l18n support (w/optional install) === | === Change: Install without i10n / l18n support (w/optional install) === | ||
'''Summary.''' We need to have a cloud image without the overhead/extra space requirements of i10n / l18n support, but want to provide the option to install these packages if needed. In many cases these are not necessary for images running in the cloud. | '''Summary.''' We need to have a cloud image without the overhead/extra space requirements of i10n / l18n support, but want to provide the option to install these packages if needed. In many cases these are not necessary for images running in the cloud. | ||
'''Importance.''' moderate (Should not be overly difficult to implement, but is not a show-stopper if it's not complete by F21.) | '''Importance.''' moderate (Should not be overly difficult to implement, but is not a show-stopper if it's not complete by F21.) | ||
'''Timeframe.''' F21 alpha / should be at least mostly implemented by alpha or won't be ready for this release. | '''Timeframe.''' F21 alpha / should be at least mostly implemented by alpha or won't be ready for this release. | ||
Line 116: | Line 107: | ||
---- | ---- | ||
=== Change: Install without documentation (w/optional install later) === | === Change: Install without documentation (w/optional install later) === | ||
'''Summary.''' In many cases, users will not want documentation on cloud images. We should be able to provide support to create/deliver cloud images without documentation but still have it available for installation if desired. | '''Summary.''' In many cases, users will not want documentation on cloud images. We should be able to provide support to create/deliver cloud images without documentation but still have it available for installation if desired. | ||
'''Importance.''' moderate | '''Importance.''' moderate | ||
'''Timeframe.''' F21 alpha / should be at least mostly implemented by alpha or will not be ready for this release. | '''Timeframe.''' F21 alpha / should be at least mostly implemented by alpha or will not be ready for this release. | ||
Line 122: | Line 113: | ||
'''Cloud SIG owner.''' ??????? | '''Cloud SIG owner.''' ??????? | ||
https://fedoraproject.org/wiki/Changes/Optional_documentation_cloud_image | https://fedoraproject.org/wiki/Changes/Optional_documentation_cloud_image | ||
---- | ---- | ||
=== Change: Cloud-Friendly Kernel Packaging' === | === Change: Cloud-Friendly Kernel Packaging' === | ||
Line 139: | Line 122: | ||
---- | ---- | ||
=== Change: Modularized SELinux Packaging' === | === Change: Modularized SELinux Packaging' === | ||
'''Summary:''' Monolith SELinux policy has rules for everything that could exist, not just that which is installed. Possible room for reduction here. | '''Summary:''' Monolith SELinux policy has rules for everything that could exist, not just that which is installed. Possible room for reduction here. | ||
'''Importance:''' nice-to-have | '''Importance:''' nice-to-have | ||
'''Timeframe:''' F21 or F22 / This is not low-hanging fruit. | '''Timeframe:''' F21 or F22 / This is not low-hanging fruit. | ||
'''Scope:''' self-contained (SELinux) | '''Scope:''' self-contained (SELinux) | ||
(No Feature filed at this time -- discuss with SELinux policy maintainers) | (No Feature filed at this time -- discuss with SELinux policy maintainers) | ||
=== Change: Refactor cloud-init === | |||
'''Summary.''' Cloud Init was initially designed for a different distribution and is only loosely tailored for our needs. As it stands, it pulls in a rather large set of packages not used for other things. It is also written in Python, itself a large subsystem which it would eventually be nice to leave out of the base. Effort is moderate, with some low-hanging fruit which may be addressed easily. | |||
'''Importance.''' vital | |||
'''Timeframe.''' F21 alpha | |||
'''Scope.''' Self-contained | |||
'''Cloud SIG owner.''' ???? | |||
https://fedoraproject.org/wiki/Changes/refactor-cloud-init | |||
---- | |||
=== Change: Adopt-Your-Cattle === | |||
'''Summary:''' We want to provide a smooth path so a Cloud base image can be turned into Fedora Server | |||
'''Importance:''' moderate (Fits the lines we've drawn between the products while still giving people a simple path to running Fedora as a traditional server in a public or private cloud) | |||
'''Timeframe:''' F21 beta / This needs testing. | |||
'''Scope:''' self-contained (in collaboration with Server WG) | |||
https://fedoraproject.org/wiki/Changes/Adopt-Your-Cattle | |||
== Future Plans == | |||
--> the part about image templates / libraries go here | |||
---- |
Revision as of 19:28, 28 February 2014
Working on this now at http://cloudpad-samkottler.rhcloud.com/p/CloudChanges
External Dependencies
Some of the things the Fedora Cloud Working Group would like to see require changes that are largely in the areas of other Fedora groups. The enhanced automatic QA features of Taskotron are be an example; web design and marketing are others. For each of these, we will find someone from the Cloud SIG to take responsibility, including contributing effort where applicable.
External Need: Automatic Image Upload
Summary: Whenever an image is built, it is automatically uploaded to our cloud provider targets (EC2, etc.) and to the fedora ftp site (and possibly mirrors if we can convince mirror admins to drink from that firehose) Importance: vital (current process where rel eng does it by hand will not scale) Timeframe: whenever we can get it / this adds value whenever it happens Fedora Sub-Project/SIG: Release Engineering, possibly Infrastructure for resources Cloud SIG owner: ???????? (note summer intern may help with that, if it is not too late) (need link to something further -- possibly we file this as a change)
External Need: Automatic Smoketests on Image Build
Summary: When a new image is built in Koji, automatically boot it and run a basic matrix of tests. Importance: moderate (worst case, we can keep doing this by hand) Timeframe: F21 alpha / Want to reduce manual test workload Fedora Sub-Project/SIG: QA and the Taskotran project Cloud SIG owner: ???????? https://fedoraproject.org/wiki/User:Tflink/taskotron_development_plan
External Need: Scratch Builds on Change
Summary: Whenever the kickstart changes, _or_ an RPM which is on the image hits the tree, a new scratch image is automatically built. Importance: nice to have (makes development much easier, and makes it quick to spot and fix problems before they affect anyone) Timeframe: whenever we can get it / this adds value whenever it happens Fedora Sub-Project/SIG: Release Engineering, possibly Infrastructure for resources Cloud SIG owner: ???????? (need link to something further -- possibly we file this as a change)
External Need: Updated Web Site
Summary: Since we are now one of the three top level artifacts Fedora produces, we want to emphasize our unique niche. Updated website with new flashier branding, plus tools for selecting different images for different use cases Importance: vital (it's basically part of the whole exercise) Timeframe: F21 release / arguably, having the web site up _is_ the release. And it'd be nice to have earlier, like at the alpha and beta Fedora Sub-Project/SIG: Websites Cloud SIG owner: Joe Brockmeier https://fedorahosted.org/fedora-websites/ticket/248
External Need: Batched Updates
Summary: We want to produce updated images on a monthly cadence. It would be nice if we could produce those from QA'd bunches of packages. Importance: moderate (it will be hard to implement image refresh without this, but we could do it) Timeframe: F21 release + 1 month / Obviously better if we get things lined up earlier Fedora Sub-Project/SIG: Primarily QA, but Rel Eng and Infrastructure too. This is pretty big. Cloud SIG owner: ???????? (this probably needs someone actively contributing to initial and ongoing work) See the related Change proposal "(A)Periodic Updates to the Images" http://flock2013.sched.org/event/8c4f702e42814598e0e4e31b188a0ae6
External Need: Software Collections for Cloud Users
Summary: Importance: vital (provides a meaningful reason to use Fedora cloud image, and helps insulate against rapid change) Timeframe: F21 release / This is a requirement of users in production. Fedora Sub-Project/SIG: Environments and Stacks Cloud SIG owner: ???????? link to relevant whatever
Change Proposals
These are not all yet filed; this list is effectively a statement of intent-to-create, in order to collect feedback and better work together with the other groups involved in each.
Change: Move to ImageFactory For image Creation
Summary: Create images using Anaconda in Koji rather than obsolete, unmaintained appliance-creator. Allows fedmsg integration for upload service, and also could produce official Docker images. Importance: vital (basic image creation is nice-to-have, fedmsg integration is important to automation, and producing Docker images is strategically vital) Timeframe: at least a month lead time before F21 alpha / If we are going to release images made this way, we need them made that way for early testing, and there will be some porting work to the kickstart Scope: self-contained (work with Rel Eng) https://fedoraproject.org/wiki/Changes/ImageFactory_in_Koji
Change: Docker Host Image
Summary: 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. Importance: moderate (Docker is hot stuff and we need an answer to CoreOS, but if we fail to do it, we are not any worse-off than we are now, and Docker can still be used on the base iamge.) Timeframe: F21 alpha / If it's not ready for alpha, we have missed this release Scope: self-contained https://fedoraproject.org/wiki/Changes/Docker_Cloud_Image
Change: Big Data Image
Summary: Fedora Cloud agreed to make a base image plus several tailored to specific purposes. This is one of the tailored ones, produced in collaboration with the Big Data SIG. Importance: nice to have (if we fail to do it, we are not any worse-off than we are now, and big data tools can still be used on the base iamge.) Timeframe: F21 alpha / If it's not ready for alpha, we have missed this release Scope: self-contained (in collaboration with Big Data SIG) https://fedoraproject.org/wiki/Changes/Big_Data_Cloud_Image
Change: OpenShift Out-of-the-Box Image
Summary: Fedora Cloud agreed to make a base image plus several tailored to specific purposes. This is one of the tailored ones — OpenShift ready to run. Importance: nice to have (if we fail to do it, we are not any worse-off than we are now, and OpenShift can still be installed on the base iamge.) Timeframe: F21 alpha / If it's not ready for alpha, we have missed this release Scope: self-contained (in collaboration with OpenShift developers) https://fedoraproject.org/wiki/Changes/OpenShift_Out-of-the-Box_Cloud_Image
Change: Docker Container Image
Summary: This is Fedora running inside Docker. Currently, there are non-official images in the docker index, but we'd like them to really come out of release engineering. Importance: nice to have (The unofficial image situation is not ideal. Plus, this is an area where we can show leadership.) Timeframe: F21 alpha / If it's not ready for alpha, we have missed this release Scope: self-contained https://fedoraproject.org/wiki/Changes/Docker_Container_Image
Change: (A)Periodic Updates to the Images
Summary: We want to be able to release updated images not just at release time. Hope for a one-month regular cadence, plus emergency updates if needed. Importance: vital (People don't like to yum update their images, and since we change so much, doing so is a significant launch delay. let's make it so they don't have to, but still get updates) Timeframe: F21 final + 1 month / Obviously better if we get things lined up earlier Scope: self-contained (but depends on bigger changes across the project) https://fedoraproject.org/wiki/Changes/(A)Periodic_Updates_to_Images
Change: Install without i10n / l18n support (w/optional install)
Summary. We need to have a cloud image without the overhead/extra space requirements of i10n / l18n support, but want to provide the option to install these packages if needed. In many cases these are not necessary for images running in the cloud. Importance. moderate (Should not be overly difficult to implement, but is not a show-stopper if it's not complete by F21.) Timeframe. F21 alpha / should be at least mostly implemented by alpha or won't be ready for this release. Scope. self-contained Cloud SIG owner. mattdm (I already have a conversation open with anaconda and the packaging team) https://fedoraproject.org/wiki/Changes/Optional_i10n_and_l18n_support_cloud_image
Change: Install without documentation (w/optional install later)
Summary. In many cases, users will not want documentation on cloud images. We should be able to provide support to create/deliver cloud images without documentation but still have it available for installation if desired. Importance. moderate Timeframe. F21 alpha / should be at least mostly implemented by alpha or will not be ready for this release. Scope. self-contained Cloud SIG owner. ??????? https://fedoraproject.org/wiki/Changes/Optional_documentation_cloud_image
Change: Cloud-Friendly Kernel Packaging'
Summary: Modules that are not necessary in virtualized environments become optionally installable Importance: nice-to-have Timeframe: F21 beta / need widespread testing to make sure nothing really needed is left out Scope: self-contained (kernel team with input/feedback from cloud) https://fedoraproject.org/wiki/Changes/Modular_Kernel_Packaging_for_Cloud
Change: Modularized SELinux Packaging'
Summary: Monolith SELinux policy has rules for everything that could exist, not just that which is installed. Possible room for reduction here. Importance: nice-to-have Timeframe: F21 or F22 / This is not low-hanging fruit. Scope: self-contained (SELinux) (No Feature filed at this time -- discuss with SELinux policy maintainers)
Change: Refactor cloud-init
Summary. Cloud Init was initially designed for a different distribution and is only loosely tailored for our needs. As it stands, it pulls in a rather large set of packages not used for other things. It is also written in Python, itself a large subsystem which it would eventually be nice to leave out of the base. Effort is moderate, with some low-hanging fruit which may be addressed easily. Importance. vital Timeframe. F21 alpha Scope. Self-contained Cloud SIG owner. ???? https://fedoraproject.org/wiki/Changes/refactor-cloud-init
Change: Adopt-Your-Cattle
Summary: We want to provide a smooth path so a Cloud base image can be turned into Fedora Server Importance: moderate (Fits the lines we've drawn between the products while still giving people a simple path to running Fedora as a traditional server in a public or private cloud) Timeframe: F21 beta / This needs testing. Scope: self-contained (in collaboration with Server WG) https://fedoraproject.org/wiki/Changes/Adopt-Your-Cattle
Future Plans
--> the part about image templates / libraries go here