From Fedora Project Wiki
(Submitted to FESCo https://pagure.io/fesco/issue/2335)
 
(5 intermediate revisions by 2 users not shown)
Line 33: Line 33:
* Name: [[User:Kevin| Kevin Fenzi]] and [[User:FrankCrawford| Frank Crawford]]
* Name: [[User:Kevin| Kevin Fenzi]] and [[User:FrankCrawford| Frank Crawford]]
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
* Email: <your email address so we can contact you, invite you to meetings, etc. Please provide your Bugzilla email address if it is different from your email in FAS>
* Email: [mailto:kevin@scrye.com <kevin@scrye.com>] and [mailto:frank@crawford.emu.id.au <frank@crawford.emu.id.au>]
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
Line 52: Line 52:
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
-->
-->
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1798431 #1798431]
* Release notes tracker: <will be assigned by the Wrangler>
* Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/445 #445]


== Detailed Description ==
== Detailed Description ==
Line 191: Line 191:
-->
-->


Existing backups are compatible between older (v1.2.8/v1.3.x) and new (v2.0.0) versions of rdiff-backup, however, remote operations are not and require all hosts to use either the python2 (i.e. v1.2.8/v1.3.x) or python3 (v2.0.0) version.  However, as python2 is now end-of-life, there is no further development on the older version and all future patches will be performed on the python3 version.
From the rdiff-backup release notice:


[[Category:ChangeReadyForFesco]]
=== Version 2.0.0 - ready for the future ===
 
This new release has been made truly ready for the future, with a move to [https://github.com/rdiff-backup GitHub], Python 3 support, automated CI/CD pipeline on [https://travis-ci.org/rdiff-backup Travis], availability on [https://pypi.org/project/rdiff-backup PyPi] and no known regression bug compared to version 1.2.8/1.3.3.
 
We even found the time to add a few features for you (details in the [https://github.com/rdiff-backup/rdiff-backup/blob/v2.0.0/CHANGELOG change log]):
 
* sparse files handling has become more efficient on file systems which support it
* more compressed file formats are kept as-is
* have a look at the `--no-fsync` option to improve speed of backup (at the slight risk of data loss)
* reproducible builds are possible
* verbosity can be set via environment variable `RDIFF_BACKUP_VERBOSITY`
 
On the down side, we have to say that due to the many changes, rdiff-backup 2.x can't communicate with older versions 1.x in client-server mode ('''but''' the repository formats remain compatible), so you'll need to upgrade client and server at once.
 
Which brings us to the installation, described in details in the [https://github.com/rdiff-backup/rdiff-backup/blob/v2.0.0/README.md read me], but here's the quick version:
 
* On Fedora 32, in this distribution
* On Fedora 30 and 31 available as an update
* CentOS/RHEL 7 and 8, available as an update in [https://fedoraproject.org/wiki/EPEL EPEL]
* On Ubuntu, you may use [https://code.launchpad.net/~rdiff-backup/+archive/ubuntu/rdiff-backup-development Otto's PPA repo]
* Windows, download the asset `rdiff-backup-2.0.0.win32exe.zip` from [https://github.com/rdiff-backup/rdiff-backup/releases/tag/v2.0.0 here] and unpack it somewhere in your `PATH`.
* Any other supported platform, use `pip install rdiff-backup` (or download and install the proper asset from [https://github.com/rdiff-backup/rdiff-backup/releases/tag/v2.0.0 here]).
 
If you encounter issues, log a ticket in [https://bugzilla.redhat.com/ Bugzilla], contact us on the [https://lists.nongnu.org/mailman/listinfo/rdiff-backup-user rdiff-backup-users mailing list] and/or [https://github.com/rdiff-backup/rdiff-backup/issues/new report an issue].
 
Happy backup, and remember: ''no'' backup, ''no'' pity!
 
[[Category:ChangeAcceptedF32]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->

Latest revision as of 14:14, 10 April 2020


Python3-rdiff-backup

Summary

rdiff-backup is a python based backup tool. While development stopped for many years, it's now resumed upstream and a python3 port has been (almost) completed. Unfortunately, the python2 and python3 versions will not interoperate, although backups made with either version are compatible. Because of this we want to push the new python3 based rdiff-backup to all supported releases when Fedora 32 is released.

Owner

Current status

Detailed Description

We want to move to the upstream supported python3 version, but we want to make sure people with mixed infrastructures are able to upgrade all their hosts with the new version so they continue to interoperate, as there are numerous incompatibilities between the python2 and python3 program implementation, such as default string types and pickle definitions.

Like most backup programs, it is a long term commitment by the user and the end of life of python2 has forced a migration to a python3 for the code. This will allow rdiff-backup repositories to continue to be used going forward.

Benefit to Fedora

Old, no longer maintained python2 version will be replaced with new 2.0.0 python3 version.

This update will also allow a number of locally maintained patches to be dropped as they have now been incorporated into the revitalised upstream project.

This is also a major upgrade to this backup software and is the primary Linux distribution of the current developer, and will put Fedora in a good position to introduce new features going forward.

Scope

  • Proposal owners:
  1. Test beta releases via rawhide and COPR (completed for first beta release, planned for upcoming beta releases).
  2. Gather feedback from this testing (in progress).
  3. Wait for final 2.0.0 release. This is planned for Feb 2020.
  4. Once f32 is out, push EPEL and older stable releases as well (due to compatibility issues).
  • Other developers: N/A (not a System Wide Change)
  • Policies and guidelines: N/A (not a System Wide Change)
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

Previous Python2 versions are not interoperable with the new Python3 version, when used for remote operation, however, the actual backups are compatible between the two. This does require that all hosts used for remote operations are upgraded at the same time to continue to perform remote operations.

How To Test

Test backups with new version. Test existing wrapper scripts and cron jobs.

Note that upstream has extensive testing and this will be leveraged for the testing of the new release.

N/A (not a System Wide Change)

User Experience

Dependencies

N/A (not a System Wide Change)

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No
  • Blocks product? product

rdiff-backup will stop working in Fedora with the retirement of python2 and users will need to move to a new backup setup.

Documentation

N/A (not a System Wide Change)

Release Notes

From the rdiff-backup release notice:

Version 2.0.0 - ready for the future

This new release has been made truly ready for the future, with a move to GitHub, Python 3 support, automated CI/CD pipeline on Travis, availability on PyPi and no known regression bug compared to version 1.2.8/1.3.3.

We even found the time to add a few features for you (details in the change log):

  • sparse files handling has become more efficient on file systems which support it
  • more compressed file formats are kept as-is
  • have a look at the --no-fsync option to improve speed of backup (at the slight risk of data loss)
  • reproducible builds are possible
  • verbosity can be set via environment variable RDIFF_BACKUP_VERBOSITY

On the down side, we have to say that due to the many changes, rdiff-backup 2.x can't communicate with older versions 1.x in client-server mode (but the repository formats remain compatible), so you'll need to upgrade client and server at once.

Which brings us to the installation, described in details in the read me, but here's the quick version:

  • On Fedora 32, in this distribution
  • On Fedora 30 and 31 available as an update
  • CentOS/RHEL 7 and 8, available as an update in EPEL
  • On Ubuntu, you may use Otto's PPA repo
  • Windows, download the asset rdiff-backup-2.0.0.win32exe.zip from here and unpack it somewhere in your PATH.
  • Any other supported platform, use pip install rdiff-backup (or download and install the proper asset from here).

If you encounter issues, log a ticket in Bugzilla, contact us on the rdiff-backup-users mailing list and/or report an issue.

Happy backup, and remember: no backup, no pity!