From Fedora Project Wiki
(Initial proposal creation)
 
(→‎Owner: ppisar is not a releng with permissions to implement this change)
Line 19: Line 19:
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:mattia| Mattia Verga]], [[User:kevin| Kevin Fenzi]], [[User:ppisar| Petr Pisar]]
* Name: [[User:mattia| Mattia Verga]], [[User:kevin| Kevin Fenzi]]
<!-- 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: mattia@fedorapeople.org, kevin@fedorapeople.org, ppisar@fedorapeople.org
* Email: mattia@fedorapeople.org, kevin@fedorapeople.org
<!--- 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>
-->
-->


== Current status ==
== Current status ==

Revision as of 09:47, 29 November 2023

Important.png
Comments and Explanations
The page source contains comments providing guidance to fill out each section. They are invisible when viewing this page. To read it, choose the "view source" link.
Copy the source to a new page before making changes! DO NOT EDIT THIS TEMPLATE FOR YOUR CHANGE PROPOSAL.
Idea.png
Guidance
For details on how to fill out this form, see the documentation.
Idea.png
Report issues
To report an issue with this template, file an issue in the pgm_docs repo.


Change Compose Repositories Defaults

Important.png
This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

Summary

This is a proposal for changing some of the createrepo_c options used to create Fedora repositories repodata. We aim to change both Rawhide and F41, then move all following releases to the new settings, while preserving the current settings for releases <= 40.

Owner

Current status

  • Targeted release: Fedora Linux 41
  • Last updated: 2023-11-29
  • [<will be assigned by the Wrangler> devel thread]
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

Were currently using different settings for Rawhide repositories and stable releases repodata. Rawhide is using gzip compression for all metadata, while stable releases are using a combination of bz2 for some things and gzip for the others. With createrepo_c 1.0.0 moving to zstd as the default compression type, we want to have consistent settings for all releases and to specify those settings manually, so that possible future changes of defaults don't cause unexpected breakages.

After F40 branching, we want to move Rawhide/F41 to:

  • use zstd as compression type for all repodata
  • disable generating the additional sqlite database, as it was only useful for yum

Then all releases starting from F41 onward will se the new settings, while those from F40 and older will maintain the old settings until their EOL.

Feedback

The zstd compression type was chosen to match createrepo_c settings. As an alternative, we might want to choose xz, especially after zlib-ng has been made the default in Fedora and brought performance improvements.

The sqlite database distributed alongside the repodata is not useful for dnf, but it might be used by some external consumer we're not aware. Please do let us know.

Benefit to Fedora

We're aiming at having consistent defaults for Rawhide and stable releases and avoid future changes to createrepo_c defaults to cause unexpected changes to repodata. Also, by using better compression methods and avoid generating the sqlite database we're reducing repodata disk usage.

Scope

  • Proposal owners:
    • change createrepo_c settings for Rawhide in compose-rawhide01 (which is already upgraded to f39)
    • upgrade bodhi-composer to f39 (after EPEL7 goes EOL) to have it using createrepo_c >= 1.0.0
    • upgrade bodhi to v8.0 at least and base image to f39 (after EPEL7 goes EOL) for Bodhi to support per release createrepo_c settings
    • change bodhi config in ansible so that only F41 will use the new settings after branching
  • Other developers:
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Community Initiatives:

Upgrade/compatibility impact

No change should be noticed while upgrading from previous releases.


How To Test

DNF normal day usage should not be affected: upgrading/installing packages should work as before, maybe a little faster in downloading repodata.


User Experience

User experience should not be affected.

Possible external custom repodata consumers might stop working and will need to adjust to the new compression method.

Dependencies

Contingency Plan

  • Contingency mechanism: revert back to previous settings and wait for the next day compose.
  • Contingency deadline: F41-beta freeze
  • Blocks release? Yes


Documentation

https://docs.pagure.org/pungi/configuration.html#createrepo-settings

Release Notes