#10293 *-bootstrap modules are in F35 compose in spite of Pungi configuration
Closed: Fixed 2 years ago by mohanboddu. Opened 2 years ago by ppisar.

  • Describe the issue
    Pungi configuration was changed in issue #8616 to exclude *-bootstrap modules from composes because they are build-only. But when I checked Fedora 35 today, the modules are there again:
# dnf -q module list '*-bootstrap'
Fedora Modular 35 - x86_64 - Test Updates
Name                             Stream              Profiles              Summary                                                         
perl-YAML-bootstrap              1.30                                      Helper module for boostrapping YAML                             
perl-bootstrap                   5.30                                      Perl bootstrap module for bootstrapping Perl module             
perl-bootstrap                   5.32                                      Perl bootstrap module for bootstrapping Perl module             
  • When do you need this? (YYYY/MM/DD)
    Before F35 GA.

  • When is this no longer needed or useful? (YYYY/MM/DD)
    This applies to all future Fedoras.

  • If we cannot complete your request, what is the impact?
    Fedora will deliver unsupported modules. Users and maintainers will be unhappy.


@lsedlar Do you have any idea here? The config seems to be right here.

@ppisar Can you let us know which f35 repo are you seeing it in?

Metadata Update from @mohanboddu:
- Issue tagged with: medium-gain, medium-trouble, ops

2 years ago
# dnf repolist -v | grep -B 1 -A 10 'Fedora Modular 35 - x86_64 - Test Updates'
Last metadata expiration check: 0:02:50 ago on Wed 08 Sep 2021 10:24:55 AM CEST.
Repo-id            : updates-testing-modular
Repo-name          : Fedora Modular 35 - x86_64 - Test Updates
Repo-revision      : 1631051182
Repo-updated       : Tue 07 Sep 2021 11:46:37 PM CEST
Repo-pkgs          : 1,828
Repo-available-pkgs: 0
Repo-size          : 2.0 G
Repo-metalink      : https://mirrors.fedoraproject.org/metalink?repo=updates-testing-modular-f35&arch=x86_64
  Updated          : Wed 08 Sep 2021 10:24:55 AM CEST
Repo-baseurl       : https://sjc.edge.kernel.org/fedora-buffet/fedora/linux/updates/testing/35/Modular/x86_64/ (49 more)
Repo-expire        : 21,600 second(s) (last: Wed 08 Sep 2021 10:24:55 AM CEST)
Repo-filename      : /etc/yum.repos.d/fedora-updates-testing-modular.repo

As an example, there is this module build:

# dnf module info perl-bootstrap:5.32 | head -n 6
Last metadata expiration check: 0:07:40 ago on Wed 08 Sep 2021 10:24:55 AM CEST.
Name             : perl-bootstrap
Stream           : 5.32
Version          : 3520210810075712
Context          : f27b74a8
Architecture     : x86_64

But there is no Bodhi update for it:

$ bodhi updates query --builds perl-bootstrap-5.32-3520210810075712.f27b74a8
0 updates found (0 shown)

So how it gets into the compose:

$ koji list-history --build perl-bootstrap-5.32-3520210810075712.f27b74a8
Tue Aug 10 15:51:01 2021 perl-bootstrap-5.32-3520210810075712.f27b74a8 tagged into f35-modular-updates-candidate by mbs/mbs.fedoraproject.org
Tue Aug 10 15:54:49 2021 perl-bootstrap-5.32-3520210810075712.f27b74a8 untagged from f35-modular-updates-candidate by autopen
Tue Aug 10 15:54:49 2021 perl-bootstrap-5.32-3520210810075712.f27b74a8 tagged into f35-modular by autopen [still active]

See it's a month old build. Something mistags modular builds. Maybe it's related to an issue #8074.

Actually it's tagged correctly. But it ends up in a wrong repository. It should target to GA Modular repository and Pungi should filter it out. But it ends in Modular Test Updates.

I found this compose that includes the perl-bootstrap modules.
https://kojipkgs.fedoraproject.org/compose/updates/Fedora-Modular-35-updates-testing-20210907.0/
It's configured to use modules from f35-modular-updates-testing tag, and that tag inherited the modules:

$ koji list-tagged f35-modular-updates-testing --inherit --event 79550737 | grep bootstrap
perl-YAML-bootstrap-1.30-3520210211150351.2c956793  f35-modular           ppisar
perl-YAML-bootstrap-1.30-3520210211150351.e12b6f3a  f35-modular           ppisar
perl-YAML-bootstrap-1.30-3520210615100721.e12b6f3a  f35-modular           ppisar
perl-bootstrap-5.30-3520200812210115.f27b74a8  f35-modular           ppisar
perl-bootstrap-5.32-3520210211113600.f27b74a8  f35-modular           ppisar
perl-bootstrap-5.32-3520210617063415.f27b74a8  f35-modular           ppisar
perl-bootstrap-5.32-3520210621132434.f27b74a8  f35-modular           ppisar
perl-bootstrap-5.32-3520210810075712.f27b74a8  f35-modular           ppisar

For the actual branched compose (https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-35/), the source for modules is f35-modules, which also includes perl-bootstrap, but the configuration says to filter the module out.

Either the inheritance is wrong, or the filter should be added to the updates composes (no filter_modules in there).

I have no idea why the inheritance is there. Does somebody need a fully recursive compose for Test Updates instead of using GA+Update+Test+Updates repositories?

Technically, if we do not want that modules in GA compose, we also do not want to ship updates for them in Updates and Test Updates composes. Extending the filter would prevent from accidental pushes to Updates. On the other hand maintaining the filter on three different places is ugly.

Thanks. I confirm that a compose from 2021-09-22 does not contain the bootstrap modules in Fedora Modular 35 - x86_64 - Test Updates repository.

Metadata Update from @mohanboddu:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

2 years ago

Login to comment on this ticket.

Metadata
Boards 1
Ops Status: Backlog