From Fedora Project Wiki
mNo edit summary
(joe taking over from sandro)
 
(5 intermediate revisions by 2 users not shown)
Line 6: Line 6:
== Owner ==
== Owner ==


* Name: Cloud SIG / [[User:red|Sandro Mathys]]
* Name: Cloud SIG / [[User:jzb|Joe Brockmeier]]
* Email: red@fedoraproject.org
* Email: jzb@fedoraproject.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)
Line 17: Line 17:
== 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 26: Line 26:
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=1091306 #1091306]


== Detailed Description ==
== Detailed Description ==
Line 39: Line 39:


* Proposal owners:
* Proposal owners:
** Replace NetworkManager, etc. with systemd-networkd.
** Investigate replacing network initscripts with systemd-networkd (if it is ready; ifcfg-* file compatibility is probably a requirement)
** Make sure only just kernel-core, not kernel and kernel-drivers, is installed (see the related change: [[Changes/Modular_Kernel_Packaging_for_Cloud]]).
** Make sure only just kernel-core, not kernel and kernel-drivers, is installed (see the related change: [[Changes/Modular_Kernel_Packaging_for_Cloud]]).
** Make sure only the packages really required are installed.
** Make sure only the packages really required are installed.
Line 92: Line 92:
-->
-->


[[Category:ChangeReadyForWrangler]]
[[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:11, 10 July 2014

Smaller Cloud Image Footprint

Summary

Shrink the footprint of our cloud images as far as reasonably, and within the given timeframe, possible.

Owner

  • Name: Cloud SIG / Joe Brockmeier
  • Email: jzb@fedoraproject.org
  • Release notes owner:
  • Product: All Cloud Images (duh!)
  • Responsible WG: Cloud

Current status

Detailed Description

Space is precious in the cloud, therefore the Cloud SIG tries to keep the images' footprint as small as reasonably possible. Several approaches are ongoing in this regard and while they are hardly worth mentioning individually, the combined effort is going to be noticeable.

Benefit to Fedora

  • Official Fedora cloud images will become smaller.
  • Possibility to install Fedora with a smaller footprint.

Scope

As mentioned, there's really various changes that are quite independent of each other but share the common goal.

  • Proposal owners:
    • Investigate replacing network initscripts with systemd-networkd (if it is ready; ifcfg-* file compatibility is probably a requirement)
    • Make sure only just kernel-core, not kernel and kernel-drivers, is installed (see the related change: Changes/Modular_Kernel_Packaging_for_Cloud).
    • Make sure only the packages really required are installed.
    • Use %packages --excludedocs to to skip installing docs.
    • Use %packages --instLangs= to ship only just English.
    • Tweak the locales (in %post) so that local-archive ships with only just English instead of all languages. We might skip this one if it seems too much tinkering. Work is going on to have proper support for this in the glibc package (see rhbz#156477 - also, c#30 shows the necessary tinkering).
  • Other developers:
    • Packages that are part of any cloud image (and in the long run all packages) must use %license instead of %doc for the license file(s) so we can skip shipping docs but still ship licenses. (See separate change Changes/Use license macro in RPMs for packages in Cloud Image
    • cloud-init should no longer require python-cheetah and needs to be refactored (upstream) accordingly.
  • Release engineering: Nothing.
  • Policies and guidelines:
    • Packaging Guidelines need to reflect that license files must be tagged with %license instead of %docs (FPC#411).

Upgrade/compatibility impact

N/A because upgrading cloud images is not supported (as they target cattle, not pets). Still, none of the changes should affect (unsupported) upgrade attempts.

How To Test

Launching one of the Fedora Cloud Images in your favorite IaaS cloud:

  • Make sure everything still works as expected, particularly anything you've done regularly with the official F20 cloud image.
  • Verify cloud-init functionality works expected, doing anything you've ever done with any cloud-init enabled image - or anything the upstream docs say you can do.
  • Verify NetworkManager, dhclient, etc. are missing but network connectivity is up and running (i.e. was set up properly through DHCP).
  • Verify kernel and kernel-drivers are missing.
  • Verify docs are missing but license files are present.
  • Verify non-English languages are missing.

User Experience

The same as always, except less space is used on freshly launched images, and therefore less updates become necessary which also results in less ingress being used.

Dependencies

Hopefully none other than mentioned in Scope.

Contingency Plan

Every single change is independent of the others, so if doesn't make it, the others still can. Single changes that don't meet the deadline are simply dropped and changes reverted to the previous configuration if necessary.

  • Blocks release? No
  • Blocks product? No

Documentation

N/A, but the hints mentioned in Scope should suffice to get the idea.

Release Notes

TODO: add notes accordingly to implemented changes.

All Fedora cloud images have now been optimized for a smaller footprint to save resources.