Features/ResilienceAnacondaIncompleteMirror

= Anaconda adjustments to survive missing files during installation =

Summary
Anaconda shall survive missing files during installation

Owner

 * Name: DavidTimms

Current status

 * Targeted release: Fedora future
 * Last updated: 2008-08-08
 * Percentage of completion: 0% ERR-NOTIMEYET

Detailed Description
Currently in F9, both network based and local media based installations, and upgrades can halt leaving the user with an unsolvable error message, or unbootable system. The intention is to improve anaconda to:

1. cache the full mirrorlist for the upgrade or install that is being performed. 1. cache the directory list for the mirror that is chosen. Do not attempt to download a missing file; it's missing! 1. allow the user to provide the location of a missing file via dialog that allows selection of both local and network source files. 1. allow the user to auto find all missing or corrupt files from another source 1. refresh the mirror directory list whenever a download fails to complete. If another version of the package is available, get and use it; it's probably compatible ;)

Benefit to Fedora
Users find that almost nothing stops Fedora from being installed on their machine.

Scope
Requires detailed flow design to work out where and when the extra source information should be requested. The point in the code where anaconda normally throws up the missing or corrupt or planet out of alignment dialog should be the trigger for activating the new code.

Test Plan
1. Start a network install and pull the network cable to the server 1. Set the permissions of a network server to block access to single files 1. Corrupt one of the files to be downloaded by trim 1. Corrupt one of the files to be downloaded by bad data 1. Remove a required file, replacing with a different VersionRelease of the same 1. Build "faulty" install media eg file trimmed, corrupt, missing 1. Test for the many files missing version of the problem

User Experience
1. Macy installs Fedora from a broken mirror yet her install still completes. 1. Will's DVD drive is weak, and certain files have read errors. Anaconda prompts him for alternate file locations, and prioritizes download {local disk, local media, local server, ISP mirror, nearest mirror, in country mirrors, worldwide mirrors, Fedora master} 1. A release bug accidently omits a needed file from the install media, yet Sam is prompted for alternate locations and the install succeeds.

Dependencies

 * ability to retrieve mirrorlist
 * ability to retrieve directory list from ftp, http, nfs servers.

Contingency Plan

 * revert to the existing nasty error dialog.

Documentation

 * none yet.

Release Notes
Need an item to describe the additional functionality, and how to use it should missing files be detected during install.