From Fedora Project Wiki

Revision as of 08:51, 7 August 2008 by Jgranado (talk | contribs)

First Aid Kit

Summary

Firstaidkit is an automated recovery tool that brings together common recovery processes and applies them to a system. The way that Firstaidkit handles the recovery processes is by means of plugins. The idea being that a plugin will focus on a particular issue in the system, like grub, init scripts or Xserver. Firstaidkit is designed to automatically fix problems while focusing on maintaining user data integrity. In other words, Firstaidkit will try its best to fix your system while giving you the possibility to revert the changes.

Owner

  • Name: MartinSivak / JoelGranados FIXME: please link names to wiki home page

Current status

  • Targeted release: Fedora 10
  • Last updated: 2008-07-20 (version 1.2.1 is in rawhide)
  • Percentage of completion: 95% . The only thing that keeps me from putting 100% is the fact that we keep doing small changes to the backend. Additionally lots of plugins are still to come, but most, if not all, the backend work is done.

Detailed Description

For a long time, people have asked for a task based approach to rescuing their systems. Rescue mode is an okay start, but we can do a lot better by automating simple and common recovery tasks. Obvious things would be

  • dmraid rebuild and recovery
  • reinstall bootloader
  • recreate the initrd
  • reinstall some "base" packages

Implementing these as individual pieces rather than entirely tying them to anaconda would be the most beneficial way to do it. Then we can tie them together with a relatively simple "Fix my System" menu and also make use of them from a graphical version of the same on the LiveCD.

See the upstream project at https://fedorahosted.org/firstaidkit/

Benefit to Fedora

Makes it easier for users to rescue their systems in case of problems

Scope

  • FirstAidKit is planned as a package. It will be a pluggable application that can house all kinds of plugins. Each plugin will be one automated recovery task.

Test Plan

Testing Finding out that the plugins actually work in a running system, liveCD and rescue mode is probably the best plan.

Steps to test:

* Pick a plugin to test
* Intentionally break the subsystem that the plugin is targeted at.
* Run firstaidkit to try to fix that subsystem
* Report any strangeness in the behavior of the execution and/or the fix itself.
* Repeat for liveCD, rescue mode and running system.

User Experience

In case of any mishaps with the user's system. He/she should be able to run the rescue environment or livecd and use the FirstAidKit environment. Either by running an automated "Fix whatever is wrong with my system" process, or specific tasks from specific plugins for the more advanced user.

Dependencies

Firstaidkit (The backend) does not depend on any packages. The plugins however do need some deps to make things work. Without being to thorough, here is a list of some deps.

xserver plugin : rhpl, rhpxl grub plugin : pyparted, grub, dbus-python mdadmconf plugin : mdadm rpm plugin : rpm, rpm-python

Contingency Plan

Does not apply. Nothing depends on firstaidkit.

Documentation

* We have man pages that come with the package.
* We have cool figures that explain firstaidkit internals and ideas
* We have a wiki that maps the man pages.
* We have an article that describes the firstaidkit idea.

Release Notes

Firstaidkit is a fully automated recovery application that will make subsystem recovery easier on the non-technical user. Firstaidkit is designed to automatically fix problems while focusing on maintaining user data integrity. It will be available in rescue mode, liveCD and on runnin systems.