From Fedora Project Wiki
(Change submitted to FESCo)
(Add trackers)
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<!-- 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 -->


= Openldap-2.5 =
= Openldap-2.5+ =
<!-- The name of your change proposal -->
<!-- The name of your change proposal -->


== Summary ==
== Summary ==
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". -->
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". -->
OpenLDAP upgrade from version 2.4.59 to the latest upstream version 2.5.8 in Fedora.
OpenLDAP upgrade from version 2.4.59 to the latest upstream version 2.6.0 in Fedora.


== Owner ==
== Owner ==
Line 21: Line 21:


== Current status ==
== Current status ==
[[Category:ChangeReadyForFesco]]
[[Category:ChangeAcceptedF36]]
<!-- 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 -->
Line 40: Line 40:
-->
-->
* FESCo issue: [https://pagure.io/fesco/issue/2682 #2682]
* FESCo issue: [https://pagure.io/fesco/issue/2682 #2682]
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=2021662 #2021662]
* Release notes tracker: <will be assigned by the Wrangler>
* Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/763 #763]


== Detailed Description ==
== Detailed Description ==
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
Upgrading OpenLDAP from version 2.4.59 to version 2.5.8 according to the new upstream release. Years of development differ between these two releases, so problems are expected.
Upgrading OpenLDAP from version 2.4.59 to version 2.6.0 according to the new upstream release. Years of development differ between these two releases, so problems are expected.


This change might cause failures during builds of multiple packages. These two versions have slight ABI incompatibility even though it's easily fixable. This step must be properly discussed with maintainers of dependent packages, which should forward this change proposal to their upstream projects.
This change might cause failures during builds of multiple packages. These two versions have slight ABI incompatibility even though it's easily fixable. This step must be properly discussed with maintainers of dependent packages, which should forward this change proposal to their upstream projects.
Line 86: Line 86:
* Proposal owners:
* Proposal owners:
<!-- 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?-->
**Prepare openldap-2.5.8 as RPM package for Fedora Rawhide
**Prepare openldap-2.6.0 as RPM package for Fedora Rawhide
**Check software that requires `openldap` and rebuild it with openldap-2.5.8
**Check software that requires `openldap` and rebuild it with openldap-2.6.0
**Build openldap-2.5.8 to Rawhide in a side-tag (https://fedoraproject.org/wiki/Package_update_HOWTO#Creating_a_side-tag)
**Build openldap-2.6.0 to Rawhide in a side-tag (https://fedoraproject.org/wiki/Package_update_HOWTO#Creating_a_side-tag)
**Rebuild depended packages with openldap-2.5.8 in the side-tag
**Rebuild depended packages with openldap-2.6.0 in the side-tag
**Merge the side-tag to Rawhide
**Merge the side-tag to Rawhide
* Other developers: Check if their packages can be build with openldap-2.5.8, if not, they are required to make the appropriate changes to their packages.
* Other developers: Check if their packages can be build with openldap-2.6.0, if not, they are required to make the appropriate changes to their packages.
* Release engineering: [https://pagure.io/releng/issue/10349 #10349] <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Release engineering: [https://pagure.io/releng/issue/10349 #10349] <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Policies and guidelines: N/A (not needed for this Change)  
* Policies and guidelines: N/A (not needed for this Change)  
Line 101: Line 101:


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
Problems during build can appear in multiple packages what can lead to build failure, as multiple packages require OpenLDAP as their upstream dependency. These problems have to be resolved before adding openldap-2.5.8 into Fedora. It seems aprox. 10% of dependent packages are having problems during build, which could be caused by a problem with same pattern.
Problems during build can appear in multiple packages what can lead to build failure, as multiple packages require OpenLDAP as their upstream dependency. These problems have to be resolved before adding openldap-2.6.0 into Fedora. It seems aprox. 10% of dependent packages are having problems during build, which could be caused by a problem with same pattern.


Full ABI Compatibility Report:
Full ABI Compatibility Report:
https://spichugi.fedorapeople.org/ol_24_25_abi_check/compat_report.html
https://spichugi.fedorapeople.org/ol_24_26_abi_check/compat_report.html


== How To Test ==
== How To Test ==
Line 122: Line 122:
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->


Rebuilding your packages with openldap-2.5.8 dependency in copr (https://copr.fedorainfracloud.org/coprs/spichugi/openldap-2.5/).
Rebuilding your packages with openldap-2.6.0 dependency in copr (https://copr.fedorainfracloud.org/coprs/spichugi/openldap-2.6/).


The best way to rebuild new version of package against openldap-2.5.8 is to create a pull-request against your dist-git repository (against rawhide branch). After that, you package will be automatically rebuild in the mentioned copr. Please find your package in the "Builds" tab and search in the various sub-tabs for your build.  
The best way to rebuild new version of package against openldap-2.6.0 is to create a pull-request against your dist-git repository (against rawhide branch). After that, you package will be automatically rebuild in the mentioned copr. Please find your package in the "Builds" tab and search in the various sub-tabs for your build.  


If possible, please prepare a pull-request, so you can easily merge it, when the change will be executed.
If possible, please prepare a pull-request, so you can easily merge it, when the change will be executed.
Line 130: Line 130:
For local testing and building, please download mock-config from the given copr repository and use it with your mock:
For local testing and building, please download mock-config from the given copr repository and use it with your mock:


`copr mock-config spichugi/openldap-2.5 fedora-rawhide-x86_64 > spichugi-openldap-2.5_fedora-rawhide-x86_64.cfg`
`copr mock-config spichugi/openldap-2.6 fedora-rawhide-x86_64 > spichugi-openldap-2.6_fedora-rawhide-x86_64.cfg`


`mv spichugi-openldap-2.5_fedora-rawhide-x86_64.cfg /etc/mock`
`mv spichugi-openldap-2.6_fedora-rawhide-x86_64.cfg /etc/mock`


Now we may run:
Now we may run:
`mock -r spichugi-openldap-2.5_fedora-rawhide-x86_64 --rebuild <package-1.0-1.src.rpm>`
`mock -r spichugi-openldap-2.6_fedora-rawhide-x86_64 --rebuild <package-1.0-1.src.rpm>`


== User Experience ==
== User Experience ==
Line 149: Line 149:
-->
-->


Users will be able to use the newer version (2.5) of OpenLDAP, and building packages with openldap-2.4 won't be available, as it won't be present on the specific fedora version. This can affect 3rd partly packages, which are not part of Fedora.
Users will be able to use the newer version (2.6) of OpenLDAP, and building packages with openldap-2.4 won't be available, as it won't be present on the specific fedora version. This can affect 3rd partly packages, which are not part of Fedora.


To remediate the impact of the change the post-installation script will be run with the package installation. And in case the openldap-servers package is installed on the system, `dnf` will halt the upgrade and notify the user with a message describing what and why happened, and what steps to take to mitigate the issue.
To remediate the impact of the change the server won't start after the update (because of the modified systemd file). The instructions will be provided in the file. The instructions will contain detailed information on how to do an offline backup and all of the necessary precautions.


The user will have to follow the Upstream upgrading guide and only then concisely continue the upgrade:
The user will have to follow the Upstream upgrading guide and only then concisely continue the upgrade:
https://www.openldap.org/doc/admin25/appendix-upgrading.html
https://www.openldap.org/doc/admin25/appendix-upgrading.html
https://www.openldap.org/doc/admin26/appendix-upgrading.html


== Dependencies ==
== Dependencies ==
Line 160: Line 161:


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
Tens of packages have build dependency on OpenLDAP, so they should be properly notified and the upgradeshould be carefully tested. List of dependent packages with their ability to be built with openldap-2.5 can be found in the given copr project (https://copr.fedorainfracloud.org/coprs/spichugi/openldap-2.5/packages/)
Tens of packages have build dependency on OpenLDAP, so they should be properly notified and the upgradeshould be carefully tested. List of dependent packages with their ability to be built with openldap-2.6 can be found in the given copr project (https://copr.fedorainfracloud.org/coprs/spichugi/openldap-2.6/packages/)


== Contingency Plan ==
== Contingency Plan ==
Line 183: Line 184:
Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze.  
Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze.  
-->
-->
Release notes for the latest OpenLDAP release:
* Release notes for the latest OpenLDAP release: https://www.openldap.org/software/release/
https://www.openldap.org/software/release/
* Major changes: https://www.openldap.org/software/roadmap.html
* OpenLDAP 2.5 Announcement: https://lists.openldap.org/hyperkitty/list/openldap-announce@openldap.org/thread/BH3VDPG6IYYF5L5U6LZGHHKMJY5HFA3L/
* OpenLDAP 2.6 Release Announcement: https://lists.openldap.org/hyperkitty/list/openldap-announce@openldap.org/thread/IHS5V46H6NFNFUERMC6AWMPHTWRVNLFA/

Revision as of 21:26, 9 November 2021


Openldap-2.5+

Summary

OpenLDAP upgrade from version 2.4.59 to the latest upstream version 2.6.0 in Fedora.

Owner

Current status

Detailed Description

Upgrading OpenLDAP from version 2.4.59 to version 2.6.0 according to the new upstream release. Years of development differ between these two releases, so problems are expected.

This change might cause failures during builds of multiple packages. These two versions have slight ABI incompatibility even though it's easily fixable. This step must be properly discussed with maintainers of dependent packages, which should forward this change proposal to their upstream projects.

Feedback

Benefit to Fedora

Brings a stable and up-to-date version of OpenLDAP according to upsteam release. OpenLDAP 2.4 will be out of support as soon as OpenLDAP 2.6 is released which is planned for this year. Fedora will be prepared for such a step.

Scope

  • Proposal owners:
  • Other developers: Check if their packages can be build with openldap-2.6.0, if not, they are required to make the appropriate changes to their packages.
  • Release engineering: #10349
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Objectives:

Upgrade/compatibility impact

Problems during build can appear in multiple packages what can lead to build failure, as multiple packages require OpenLDAP as their upstream dependency. These problems have to be resolved before adding openldap-2.6.0 into Fedora. It seems aprox. 10% of dependent packages are having problems during build, which could be caused by a problem with same pattern.

Full ABI Compatibility Report: https://spichugi.fedorapeople.org/ol_24_26_abi_check/compat_report.html

How To Test

Rebuilding your packages with openldap-2.6.0 dependency in copr (https://copr.fedorainfracloud.org/coprs/spichugi/openldap-2.6/).

The best way to rebuild new version of package against openldap-2.6.0 is to create a pull-request against your dist-git repository (against rawhide branch). After that, you package will be automatically rebuild in the mentioned copr. Please find your package in the "Builds" tab and search in the various sub-tabs for your build.

If possible, please prepare a pull-request, so you can easily merge it, when the change will be executed.

For local testing and building, please download mock-config from the given copr repository and use it with your mock:

copr mock-config spichugi/openldap-2.6 fedora-rawhide-x86_64 > spichugi-openldap-2.6_fedora-rawhide-x86_64.cfg

mv spichugi-openldap-2.6_fedora-rawhide-x86_64.cfg /etc/mock

Now we may run: mock -r spichugi-openldap-2.6_fedora-rawhide-x86_64 --rebuild <package-1.0-1.src.rpm>

User Experience

Users will be able to use the newer version (2.6) of OpenLDAP, and building packages with openldap-2.4 won't be available, as it won't be present on the specific fedora version. This can affect 3rd partly packages, which are not part of Fedora.

To remediate the impact of the change the server won't start after the update (because of the modified systemd file). The instructions will be provided in the file. The instructions will contain detailed information on how to do an offline backup and all of the necessary precautions.

The user will have to follow the Upstream upgrading guide and only then concisely continue the upgrade: https://www.openldap.org/doc/admin25/appendix-upgrading.html https://www.openldap.org/doc/admin26/appendix-upgrading.html

Dependencies

Tens of packages have build dependency on OpenLDAP, so they should be properly notified and the upgradeshould be carefully tested. List of dependent packages with their ability to be built with openldap-2.6 can be found in the given copr project (https://copr.fedorainfracloud.org/coprs/spichugi/openldap-2.6/packages/)

Contingency Plan

  • Contingency mechanism: moving this change to Fedora 37, if not successfully finished until Fedora 36 branching from Rawhide
  • Contingency deadline: Fedora 36 branching from Rawhide (2022-02-08)
  • Blocks release? No


Documentation

Latest OpenLDAP documentation: https://www.openldap.org/doc/admin25/

Release Notes