From Fedora Project Wiki


Fedora Resilience

Summary

Improve Fedora's handling of things gone wrong in a number of areas

Owner

  • Name: DavidTimms

Current status

  • Targeted release: Fedora future
  • Last updated: 2008-08-08
  • Percentage of completion: 0% E_NOTIMEYET

Detailed Description

There are many cases during both installation and use where Fedora could be modified to work even when circumstances have previously led to failure. Each Resilience feature will be proposed separately. This feature item is used to keep track of the individual items falling under the banner. Two examples are having Anaconda survive missing files during installation, and always keeping a wireless connection prepared in case the wired network disappears.

Benefit to Fedora

Any time the user has to mop up the pieces when something unexpected occurs should be seen as an 0/10 failure. The Resilience group of features will target certain common issues that Fedora users might experience, some of which have long standing bugzilla entries, others which are discussed more in various forums. The point is to fail to fail {not a very upbeat way of putting that}, ie to just work.

Scope

Since the detailed work touches on many different areas, please see the individual Resilience sub-features.

Test Plan

  1. Try to force Fedora to fail for selected Resilience subfeatures.
  2. Show the before and after Resilience work result.
  3. Work with Fedora QA to make sure the improvement doesn't lead to regressions in related areas.

User Experience

  1. Macy installs Fedora from a broken mirror yet her install still completes.
  2. The power goes out at Dan's place while upgrading Fedora. After the power is restored, Dan notices that the machine still boots, and prompts him to complete the upgrade process.
  3. Mobile user Nathan can still surf the web even though his dhcp server gave an invalid DNS server.
  4. Louise unplugs an external display and finds that even though the event was not detected, she can just press the LCD/CRT cycle button to turn her notebook's built in display on.
  5. More to come.

Dependencies

  • Each sub feature can be considered independently
  • Releases/Features/ResilienceAnacondaIncompleteMirror
  • [Releases/Features/ResilienceAnacondaThreePartInstall]
  • [Releases/Features/ResilienceNetworkManagerReserveShute]
  • [Releases/Features/ResilienceYumSurviveMissing]
  • [Releases/Features/ResilienceDisplayCycling]
  • [Releases/Features/Resilience]
  • please add your own ...

Contingency Plan

  • revert to the non-resilience enhanced standard version.

Documentation

  • In the wiki for now.

Release Notes

Since Resilience is intended to make things work even when things would previously have failed, it may be necessary to remove some workarounds that are present in the Release Notes ;-)