From Fedora Project Wiki

Revision as of 14:14, 10 April 2020 by Frankcrawford (talk | contribs) (→‎Version 2.0.0 - ready for the future)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


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!