(16 intermediate revisions by 3 users not shown) | |||
Line 19: | Line 19: | ||
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name. This keeps all change proposals in the same namespace --> | <!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name. This keeps all change proposals in the same namespace --> | ||
= | = Python3-rdiff-backup = | ||
== Summary == | == Summary == | ||
Line 31: | Line 31: | ||
This should link to your home wiki page so we know who you are. | This should link to your home wiki page so we know who you are. | ||
--> | --> | ||
* Name: [[User:Kevin| Kevin Fenzi]] and [User: | * 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: < | * 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 43: | Line 43: | ||
== Current status == | == Current status == | ||
* Targeted release: [[Releases/ | * Targeted release: [[Releases/32 | Fedora 32 ]] | ||
* Last updated: <!-- this is an automatic macro — you don't need to change this line --> {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}} | * Last updated: <!-- this is an automatic macro — you don't need to change this line --> {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}} | ||
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page | <!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page | ||
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: | * Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1798431 #1798431] | ||
* Release notes tracker: | * Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/445 #445] | ||
== Detailed Description == | == Detailed Description == | ||
Line 101: | Line 101: | ||
* Proposal owners: | * Proposal owners: | ||
Wait for final 2.0.0 release. This is planned for Feb 2020. | # Test beta releases via rawhide and COPR (completed for first beta release, planned for upcoming beta releases). | ||
# Gather feedback from this testing (in progress). | |||
# Wait for final 2.0.0 release. This is planned for Feb 2020. | |||
# Once f32 is out, push EPEL and older stable releases as well (due to compatibility issues). | |||
<!-- What work do the feature owners have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | <!-- What work do the feature owners have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | ||
Line 122: | Line 124: | ||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
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. | 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 == | == How To Test == | ||
Line 140: | Line 142: | ||
Test backups with new version. Test existing wrapper scripts and cron jobs. | 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. | |||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
N/A (not a System Wide Change) | N/A (not a System Wide Change) | ||
== User Experience == | == User Experience == | ||
Line 172: | Line 176: | ||
* Blocks product? product <!-- Applicable for Changes that blocks specific product release/Fedora.next --> | * Blocks product? product <!-- Applicable for Changes that blocks specific product release/Fedora.next --> | ||
rdiff-backup will stop working with the retirement of python2 and users will need to move to a new backup setup. | rdiff-backup will stop working in Fedora with the retirement of python2 and users will need to move to a new backup setup. | ||
== Documentation == | == Documentation == | ||
Line 187: | Line 191: | ||
--> | --> | ||
[[Category: | 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 [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
- Name: Kevin Fenzi and Frank Crawford
- Email: <kevin@scrye.com> and <frank@crawford.emu.id.au>
Current status
- Targeted release: Fedora 32
- Last updated: 2020-04-10
- Tracker bug: #1798431
- Release notes tracker: #445
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:
- Test beta releases via rawhide and COPR (completed for first beta release, planned for upcoming beta releases).
- Gather feedback from this testing (in progress).
- Wait for final 2.0.0 release. This is planned for Feb 2020.
- 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)
- Release engineering: #Releng issue number (a check of an impact with Release Engineering is needed)
- 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 yourPATH
. - 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!