From Fedora Project Wiki
(Create new change proposal for removal of Python 2 support from FreeIPA)
 
mNo edit summary
Line 35: Line 35:
== Detailed Description ==
== Detailed Description ==


The FreeIPA upstream project is going to drop support for Python 2.7 in the upcoming release 4.8.
On Fedora 27 to 29, FreeIPA client and server packages use Python 3 default. Additionally FreeIPA provides Python 2 packages. The Python 2 packages are not used by FreeIPA, but are merely provided for backwards compatibility, e.g. Python 2 applications that python2-ipaclient to communicate with a FreeIPA server.
 
The FreeIPA upstream project is going to drop support for Python 2.7 in the upcoming FreeIPA release 4.8.0. Python 2 support is not only causing development and testing overhead. It's also blocking improvements like new 389-DS installer, use of new Python features, and more. The removal of Python 2 support was [https://lists.fedoraproject.org/archives/list/freeipa-devel@lists.fedorahosted.org/thread/KU6R2DV47DR43PBCHHPT4OYVVQJEXTVG/ announced] on the FreeIPA development on 2018-09-03.


=== Removed packages ===
=== Removed packages ===
Line 46: Line 48:
== Benefit to Fedora ==
== Benefit to Fedora ==


<!-- What is the benefit to the distribution?  Will the software we generate be improved? How will the process of creating Fedora releases be improved?
The removal of Python 2 support is in alignment with [[Changes/Mass_Python_2_Package_Removal|Mass Python 2 Package Removal]] proposal.  
 
      Be sure to include the following areas if relevant:
      If this is a major capability update, what has changed?
          For example: This change introduces Python 5 that runs without the Global Interpreter Lock and is fully multithreaded.
      If this is a new functionality, what capabilities does it bring?
          For example: This change allows package upgrades to be performed automatically and rolled-back at will.
      Does this improve some specific package or set of packages?
          For example: This change modifies a package to use a different language stack that reduces install size by removing dependencies.
      Does this improve specific Spins or Editions?
          For example: This change modifies the default install of Fedora Workstation to be more in line with the base install of Fedora Server.
      Does this make the distribution more efficient?
          For example: This change replaces thousands of individual %post scriptlets in packages with one script that runs at the end.
      Is this an improvement to maintainer processes?
          For example: Gating Fedora packages on automatic QA tests will make rawhide more stable and allow changes to be implemented more smoothly.
      Is this an improvement targeted as specific contributors?
          For example: Ensuring that a minimal set of tools required for contribution to Fedora are installed by default eases the onboarding of new contributors.
 
    When a Change has multiple benefits, it's better to list them all.
 
    Consider these Change pages from previous editions as inspiration:
    https://fedoraproject.org/wiki/Changes/Annobin (low-level and technical, invisible to users)
    https://fedoraproject.org/wiki/Changes/ParallelInstallableDebuginfo (low-level, but visible to advanced users)
    https://fedoraproject.org/wiki/Changes/VirtualBox_Guest_Integration (primarily a UX change)
    https://fedoraproject.org/wiki/Changes/NoMoreAlpha (an improvement to distro processes)
    https://fedoraproject.org/wiki/Changes/perl5.26 (major upgrade to a popular software stack, visible to users of that stack)
-->


== Scope ==
== Scope ==
Line 95: Line 71:


== Upgrade/compatibility impact ==
== Upgrade/compatibility impact ==
<!-- What happens to systems that have had a previous versions of Fedora installed and are updated to the version containing this change? Will anything require manual configuration or data migration? Will any existing functionality be no longer supported? -->


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
The removal of Python 2 support will not affect FreeIPA server or client systems.
N/A (not a System Wide Change)
 
However 3rd party applications and scripts may be affected. These applications and scripts must be ported to Python 3.


== How To Test ==
== How To Test ==
Line 123: Line 99:


== Documentation ==
== Documentation ==
N/A (not a System Wide Change)
N/A


== Release Notes ==
== Release Notes ==
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this change, indicate them here.  A link to upstream documentation will often satisfy this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release.


Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze.  
FreeIPA no longer supports Python 2. All ''python2-ipa*'' packages and ''python-ipa*'' aliases are discontinued.
-->


[[Category:ChangePageIncomplete]]
[[Category:ChangePageIncomplete]]

Revision as of 09:54, 4 September 2018

FreeIPA Python 2 Removal

Summary

FreeIPA 4.8 will require Python 3.6+ and therefore no longer provide Python 2 packages on Fedora 30.

Owner

Current status

  • Targeted release: Fedora 30
  • Last updated: 2018-09-04
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

On Fedora 27 to 29, FreeIPA client and server packages use Python 3 default. Additionally FreeIPA provides Python 2 packages. The Python 2 packages are not used by FreeIPA, but are merely provided for backwards compatibility, e.g. Python 2 applications that python2-ipaclient to communicate with a FreeIPA server.

The FreeIPA upstream project is going to drop support for Python 2.7 in the upcoming FreeIPA release 4.8.0. Python 2 support is not only causing development and testing overhead. It's also blocking improvements like new 389-DS installer, use of new Python features, and more. The removal of Python 2 support was announced on the FreeIPA development on 2018-09-03.

Removed packages

  • python2-ipalib
  • python2-ipaclient
  • python2-ipaserver
  • python2-ipatests

Benefit to Fedora

The removal of Python 2 support is in alignment with Mass Python 2 Package Removal proposal.

Scope

  • Proposal owners:
    • Release FreeIPA 4.8.0 until mid January 2019
    • Build and deliver FreeIPA 4.8.0 packages before 2019-01-29
  • Other developers:
    • Port Fleet Commander's fc-admin to Python 3 and no longer depend on FreeIPA's Python 2 packages.
    • Drop Fleet Command's Python 2 desktop profile package
    • Port Ipsilion Project to Python 3 and no longer depend on FreeIPA's Python 2 packages.
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

The removal of Python 2 support will not affect FreeIPA server or client systems.

However 3rd party applications and scripts may be affected. These applications and scripts must be ported to Python 3.

How To Test

  • A fresh Fedora 30 installation will no longer have python2-ipa* packages available.
  • On upgrade from Fedora 29, all python2-ipa* packages are uninstalled.

User Experience

N/A

Dependencies

  • ipsilon-tools-ipa
  • python2-ipa-desktop-profile-client
  • fleet-commander-admin

Contingency Plan

  • Contingency mechanism: Keep shipping FreeIPA 4.7
  • Contingency deadline: 2019-01-31
  • Blocks release? No
  • Blocks product? N/A

Documentation

N/A

Release Notes

FreeIPA no longer supports Python 2. All python2-ipa* packages and python-ipa* aliases are discontinued.