From Fedora Project Wiki
(Feature has been announced on devel-announce mailing list on 2013-01-23)
(Moved to FeatureReadyForFesco for approval (#1009))
Line 100: Line 100:
* See [[Talk:Features/FedoraUpgrade]]
* See [[Talk:Features/FedoraUpgrade]]


[[Category:FeatureAnnounced]]
[[Category:FeatureReadyForFesco]]


<!-- When your feature page is completed and ready for review -->
<!-- When your feature page is completed and ready for review -->

Revision as of 14:36, 28 January 2013

Fedora Upgrade

Summary

Upgrade Fedora to next version using yum upgrade.

Owner

Current status

  • Targeted release: Fedora 19
  • Last updated: 2013-01-16
  • Percentage of completion: 40% - Well it is 100% devel done for upgrading from F17 to F18, I reserve those remaining 60%

What works

  • wiki page, which worked for several releases in past.
  • Script, which can upgrade from F17 to F18 and from F18 to rawhide
  • package is already in Fedora

What needs work

  • testing - a lot of testing

Detailed Description

In past (until Fedora 17) we could upgrade Fedora using Anaconda Upgrade and PreUpgrade.

Now (in Fedora 18) we have only FedUp and previous methods are obsoleted.

I propose to have FedUp and FedoraUpgrade in Fedora 19.

FedUp is in fact yum-upgrade as well, but in dracut environment (aka off-line upgrade). Some devels say that offline upgrade is only way. But on-line upgrade is possible. E.g in Debian world it is even prefered method. In Fedora exist upgrade using yum as unofficial method for long time.

A lot of people are using upgrade using yum for long time and the "problem ratio" was at least on pair with Anaconda upgrade. In fact most problems comes from improper packaging. E.g. maintainer forgot to obsolete, so during upgrade user get file conflict. Once these problems are reported and fixed the upgrade is without problem.

And since FedUp is just different approach to yum-upgrade, FedUp will benefit from fixes on FedoraUpgrade (and vice versa).

I propose to support both FedUp and FedoraUpgrade and give user option.

If this method will be tested by FedoraQA, then I believe this upgrade method can be safely recommended to user.

Source

https://github.com/xsuchy/fedora-upgrade

Benefit to Fedora

Ability to provide upgrade method with nearly zero downtime.

Scope

Currently support only upgrade from N-1 version.

Test it on all supported platforms and probably on Secondary Arches as well.

Test it with different comps groups installed (Desktop, web server...)

How To Test

Download https://raw.github.com/xsuchy/fedora-upgrade/master/fedora-upgrade to machine with Fedora 17 and run it. You should end up with Fedora 18. Check if everything is correct.

User Experience

Upgrade without interruption of service. Only interrupted for approximately 50 seconds needed for reboot.

Upgrade script is bash script, which is for power user like receipt. So if somethings breaks, admin can easily continue by investigating script - unlike Dracut, which is black box.

Dependencies

None.

Contingency Plan

If there will be some critical problem with FedoraUpgrade we can safely rollback to current state (FedUp only).

Documentation

https://github.com/xsuchy/fedora-upgrade/blob/master/README.md

Release Notes

Fedora 19 includes the new upgrade method "Fedora Upgrade". This method allows you to upgrade using yum, while your machine is online. It can be run as:

# yum install fedora-upgrade
# fedora-upgrade
 .... and follow the guide

Note: you can still use FedUp for upgrades.

Short comparision of available upgrade methods:

  • FedUp - your system is offline and most services are not running during upgrade, if somethings goes wrong during upgrade you left are in dracut environment.
  • Fedora Upgrade - your system is online and all services are running during upgrade, if something goes wrong during upgrade you are left in full shell.

Both methods have advantages and disadvantages, you have the freedom to choose one method yourself.

Comments and Discussion