No edit summary |
No edit summary |
||
Line 63: | Line 63: | ||
* Release engineering: N/A (not a System Wide Change) | * Release engineering: N/A (not a System Wide Change) | ||
* Policies and guidelines: N/A (not a System Wide Change) | * Policies and guidelines: N/A (not a System Wide Change) | ||
== Packaging Guidelines == | |||
At the begging of the SPEC file should be defined. | |||
%global preupg_number 22 #Source system, e.g Fedora 22 | |||
%global postupg_number 23 #Target system for upgrade, Fedora 23 | |||
Let's say that package has a name '''foo'''. | |||
All preupgrade-assistant-contents files shoud be stored in dist-git in directory preupgrade. | |||
In %install do steps: | |||
%install | |||
mkdir -p $RPM_BUILD_ROOT/%{_preupgradedir}/Fedora%{preupg_number}_%{postupg_number}/foo | |||
cp preupgrade/* $RPM_BUILD_ROOT/%{_preupgradedir}/Fedora%{preupg_number}_%{postupg_number}/foo | |||
In %files section | |||
%files -n preupgrade-assistant-contents-foo | |||
%dir %{_preupgradedir}/Fedora%{preupg_number}_%{postupg_number}/foo | |||
%{_preupgradedir}/Fedora%{preupg_number}_%{postupg_number}/foo/* | |||
== Upgrade/compatibility impact == | == Upgrade/compatibility impact == |
Revision as of 12:52, 21 January 2015
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
- Name: Petr Hracek
- Email: <phracek@redhat.com>
Current status
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
At the begging of the SPEC file should be defined.
%global preupg_number 22 #Source system, e.g Fedora 22 %global postupg_number 23 #Target system for upgrade, Fedora 23
Let's say that package has a name foo.
All preupgrade-assistant-contents files shoud be stored in dist-git in directory preupgrade.
In %install do steps:
%install mkdir -p $RPM_BUILD_ROOT/%{_preupgradedir}/Fedora%{preupg_number}_%{postupg_number}/foo cp preupgrade/* $RPM_BUILD_ROOT/%{_preupgradedir}/Fedora%{preupg_number}_%{postupg_number}/foo
In %files section
%files -n preupgrade-assistant-contents-foo %dir %{_preupgradedir}/Fedora%{preupg_number}_%{postupg_number}/foo %{_preupgradedir}/Fedora%{preupg_number}_%{postupg_number}/foo/*
Upgrade/compatibility impact
The Preupgrade Assistant should be run before FedUp in order to assess source system before an upgrade.
How To Test
- Install the tool via 'dnf install preugrade-assistant preupgrade-assistant-contents*'
- Run the analysis stage via 'preupg' which reports summary at the end
- 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
- To Be written:
- Overall documentation
- How to run
- How to write plugins Preupgrade-assistant wiki
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.