From Fedora Project Wiki


Preupgrade Assistant

Summary

The Preugrade Assistant is a tool to help people upgrade from one release to another and be sure to track important manual configuration changes they performed.

Owner

Current status

This version https://github.com/phracek/preupgrade-assistant/releases/tag/0.11.7 contains working package. Can be used on Fedora.

PackageReview is finished.

See progress on https://github.com/phracek/preupgrade-assistant.

Detailed Description

The idea behind the The Preupgrade Assistant came from the notion that even during the rather short release cycles in Fedora occasionally there are changes that are incompatible between releases and which are either hard or nearly impossible to cover during a standard package upgrade. Examples would be major version upgrades of applications or services that change configuration file syntax or on-disk date format changes.

The Preupgrade Assistant works by analyzing the source system and will generate a report which will offer information and configuration files for typically changed settings and services. It offers a plugin architecture where component or functional area owners can contribute and write their on plugins in python, bash or perl that can generate additional information for the report.

Benefit to Fedora

The Preupgrade assistant is basically in addition to FedUp and offers additional help for upgrading systems from one release to a future one.

Scope

The Preupgrade Assistant is a standalone tool that doesn't affect any other component in the system. The scope for Fedora 22 is to provide the basic framework and initial plugins for general use. Additional component or functional area plugins rely on component owners to actively help working on them.

  • Proposal owners: Provide the basic framework and initial plugins for general use
  • Other developers: Provide additional component or functional area plugins (optional)
  • Release engineering: N/A (not a System Wide Change)
  • Policies and guidelines: N/A (not a System Wide Change)

Packaging Guidelines

Packaging guidelines are here: https://fedoraproject.org/wiki/Packaging:PreupgradeAssistant

Upgrade/compatibility impact

The Preupgrade Assistant should be run before FedUp in order to assess source system before an upgrade.

How To Test

  1. Install the tool via 'dnf install preugrade-assistant preupgrade-assistant-contents*'
  2. Run the analysis stage via 'preupg' which reports summary at the end
  3. Verify that the information in the report is accurate and consistent with the actual configuration of the system

User Experience

The Preupgrade Assistant should provide some additional help to upgrading systems via FedUp. While FedUp can do the 'mechanical' part of an update really well there can be scenarios that need interaction and/or descisions from the admin prior or after the actual upgrade which is where the report from the Preupgrade assistant can come in to give some guidance on what needs to be done.

Dependencies

Except python, openscap and a few other tools there are none at the moment.

Contingency Plan

  • Contingency mechanism: None needed
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), No

Documentation

Release Notes

  • The Preupgrade Assistant is a new tool to help prior to upgrading a system with FedUp to get a report of the current state of the system and help the admin after the upgrade has completed to ensure all reported configurations are still correct.