From Fedora Project Wiki
No edit summary
(→‎User Experience: rewrite of the paragraph to make it flow better)
 
(18 intermediate revisions by 6 users not shown)
Line 1: Line 1:
= First Aid Kit =
= First Aid Kit =


== Summary ==
== Summary ==
 
Anaconda's rescue mode is useful for getting a rootfs mounted and then dropping you to a shell, but for less experienced users, a more streamlined experience with choices of things to do would help in rescuing their system.  You can checkout the wiki and other cool stuff at https://fedorahosted.org/firstaidkit/
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 ==
== Owner ==
* Name: MartinSivak / JoelGranados
* Name: [[MartinSivak|MartinSivak]] / [[JoelGranados|JoelGranados]]


== Current status ==
== Current status ==
* Targeted release: N/A
* Included since Fedora 10
* Last updated: 2008-07-20 (version 1.2.1 is in rawhide)
* Last updated: 2009-07-17 (version 0.2.3-4 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.
* Percentage of completion: ''' 100% '''.


== Detailed Description ==
== Detailed Description ==
Line 24: Line 22:


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.
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 ==
== Benefit to Fedora ==
Line 31: Line 31:
== Scope ==
== 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.
* 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 ==
== Test Plan ==


Testing
Testing
* test features from old "rescue" mode to see that they still work or have equivalent functionality
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 ==
== 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.
If a user experiences a problem with their system, they should be able to boot into the rescue environment or livecd and run the FirstAidKit environment. They should then be able to fix it either by running an automated "Fix whatever is wrong with my system" process, or via specific tasks from specific plugins for more advanced users.


== Dependencies ==
== Dependencies ==


None for now.
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 ==
== Contingency Plan ==
Does not apply.  Nothing depends on firstaidkit.


== Documentation ==
== Documentation ==


Pydoc generated from the code to ease the plugin developer experience and user documentation.
* We have man pages that come with the package.
* We have cool figures that explain firstaidkit internals and ideas
** [https://fedorahosted.org/firstaidkit/wiki/Architecture Architecture Overview]
** [https://fedorahosted.org/firstaidkit/wiki/DefaultFlow Default Flow]
* Presentations
** [https://fedorahosted.org/firstaidkit/attachment/wiki/WikiStart/firstaidkit-fudcon-en.pdf?format=raw FUDCon Brno 2008]
* We have a wiki that maps the man pages.
** [https://fedorahosted.org/firstaidkit/wiki/FirstaidkitDoc FirstaidkitDoc]
** [https://fedorahosted.org/firstaidkit/wiki/FirstaidkitPluginDoc FirstaidkitPluginDoc]
** [https://fedorahosted.org/firstaidkit/wiki/FirstaidkitFlagsDoc FirstaidkitFlagsDoc]
** [https://fedorahosted.org/firstaidkit/wiki/FirstaidkitBackupDoc FirstaidkitBackupDoc]
** [https://fedorahosted.org/firstaidkit/wiki/FirstaidkitReporting FirstaidkitReporting]
* We have an article that describes the firstaidkit idea.
** [http://fedorahosted.org/firstaidkit/attachment/wiki/WikiStart/articlefak-concept.pdf?format=raw FirstAidKit Explained]


== Release Notes ==
== 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.
== Comments and Discussion ==
* See [[Talk:Features/FirstAidKit]]


----
----
[[Category:ProposedFeature]]
 
[[Category:FeatureAcceptedF10]]

Latest revision as of 15:01, 9 January 2017

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

Current status

  • Included since Fedora 10
  • Last updated: 2009-07-17 (version 0.2.3-4 is in rawhide)
  • Percentage of completion: 100% .

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

If a user experiences a problem with their system, they should be able to boot into the rescue environment or livecd and run the FirstAidKit environment. They should then be able to fix it either by running an automated "Fix whatever is wrong with my system" process, or via specific tasks from specific plugins for more advanced users.

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

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.

Comments and Discussion