#12335 Manually block all repos that were retired during extended toddler outage
Closed: Fixed 20 days ago by churchyard. Opened a month ago by gotmax23.

  • Describe the issue

Twice (https://pagure.io/releng/issue/12192, https://pagure.io/releng/issue/12028) in the past few six months, the toddler responsible for blocking packages after a dead.package file is pushed to distgit by fedpkg retire has been broken for extended periods of time. This has resulted in packages that should be removed from the repositories remaining there. While some packages have been manually retired by releng after being asked by individual maintainers, there are likely quite a few others that maintainers retired but were unaware that the process was broken and required manual intervention.

Releng should iterate through all the rawhide and f41 branches and make sure that they are properly blocked in Koji and removed from the repositories.

  • When do you need this? (YYYY/MM/DD)

Before the release of Fedora 41

  • When is this no longer needed or useful? (YYYY/MM/DD)

  • If we cannot complete your request, what is the impact?

Unmaintained or broken packages will remain in the stable Fedora 41 repositories.


In other cases for things that act on messages, we have a 'failsafe' that runs once a day or so that makes sure everything is synced correctly in cases where messages were not processed correctly.

I think we should do that here too and I don't think it should be super hard to add.

Basically it would need to pull the retired_in json files from https://src.fedoraproject.org/lookaside/ for active releases, then confirm that all the packages listed are blocked.

I think @humaton had most of this script already made? or did a one off version of it.

@humaton can you run that again to sync things up and then we can look at perhaps adding a daily toddler to do this?

@lenkaseg would you be interested in adding this? Or have any thoughts about the above?

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

a month ago

Oh yeah, this should be a simple script. This is what I was running after the toddlers deployment:

$ cat block_retired.bash 
#!/usr/bin/bash

packages=$(curl -X GET https://src.fedoraproject.org/lookaside/retired_in_rawhide.json | jq --raw-output '.rawhide[]')
for package in $packages; do 
    blocked=$(koji list-pkgs --tag f41 --package $package --show-blocked --quiet | awk '{print $4}');
    if [ "$blocked" = "[BLOCKED]" ]; then
        echo "$package is already blocked"
    else
        echo "Blocking $package on branch f41"
        koji block-pkg f41 $package
    fi
done

Careful that the snippet assumes rawhide is 41, in case you want to copy it an run it.

Metadata Update from @lenkaseg:
- Issue assigned to lenkaseg

a month ago

Ran a (modified) version of that script:

For f41:

koji block-pkg f41 ghc-highlighting-kate
koji block-pkg f41 ghc-libxml-sax
koji block-pkg f41 ghc-regexpr
koji block-pkg f41 gimp-separate+
koji block-pkg f41 golang-github-arran4-ical
koji block-pkg f41 golang-github-emersion-mbox
koji block-pkg f41 libwpe
koji block-pkg f41 ocaml-opam-0install
koji block-pkg f41 python-grabbit
koji block-pkg f41 wolfssl
koji block-pkg f41 wpebackend-fdo

For rawhide:

koji block-pkg f42 astrometry-tycho2
koji block-pkg f42 clonekeen
koji block-pkg f42 erlang-protobuffs
koji block-pkg f42 ghc-ConfigFile
koji block-pkg f42 ghc-connection
koji block-pkg f42 ghc-highlighting-kate
koji block-pkg f42 ghc-libxml-sax
koji block-pkg f42 ghc-MonadCatchIO-mtl
koji block-pkg f42 ghc-MonadCatchIO-transformers
koji block-pkg f42 ghc-regexpr
koji block-pkg f42 gimp3
koji block-pkg f42 gimp-separate+
koji block-pkg f42 golang-github-arran4-ical
koji block-pkg f42 golang-github-emersion-mbox
koji block-pkg f42 java-diff-utils
koji block-pkg f42 kubernetes
koji block-pkg f42 libwpe
koji block-pkg f42 ocaml-opam-0install
koji block-pkg f42 pd-mapper
koji block-pkg f42 php-andrewsville-php-token-reflection
koji block-pkg f42 php-doctrine-reflection
koji block-pkg f42 php-swiftmailer6
koji block-pkg f42 python-fb-re2
koji block-pkg f42 python-grabbit
koji block-pkg f42 rust-etcetera
koji block-pkg f42 rust-logos-derive
koji block-pkg f42 rust-nu-ansi-term0.46
koji block-pkg f42 salt3006
koji block-pkg f42 sisu-mojos
koji block-pkg f42 wpebackend-fdo
koji block-pkg f42 zabbix7.0

If no one sees anything wrong will block those tomorrow.

ok. I have blocked all those, so the orig request in the ticket should be handled.

Please let us know if you see anything that was missed.

I do still think we want a daily job to check/handle anything that didn't get handled by the normal processing, but @lenkaseg has that well underway! :)

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

24 days ago

Please let us know if you see anything that was missed.

At least:

  • ghc-ConfigFile
  • ghc-MonadCatchIO-mtl
  • ghc-MonadCatchIO-transformers

were blocked on rawhide only but not on f41. On f41, there is no dead.package because the branch does not even exist. The packages were (rightfully) not branched, but are not blocked on f41. There might be more like this.

Metadata Update from @churchyard:
- Issue status updated to: Open (was: Closed)

23 days ago

Yeah, @decathorpe mentioned another case of this on matrix too...

I'd not going to be easy to find these. I guess we need to check every dead.package in rawhide, find the ones committed in the window between f40 and f41 branching, then check that list against f41?

I am trying to get the list.

astrometry-tycho2
clonekeen
erlang-protobuffs
ghc-ConfigFile
ghc-MonadCatchIO-mtl
ghc-MonadCatchIO-transformers
pd-mapper
php-andrewsville-php-token-reflection
php-doctrine-reflection
php-swiftmailer6

See https://gist.github.com/hroncok/ade9b3c61a06a4b548c522963ff0d714 for the source of this information. I manually removed false positives (EPEL-only packages, they say (no matching packages) instead of [BLOCKED] which I did not know before, and rust-nu-ansi-term0.46 which was recently unretired on rawhide).

Awesome. Thanks for that.

Blocked those.

Is there anything further here to do then?

Thanks. I don't think so.

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

20 days ago

Working on a toddler that would detect retired packages that would somehow avoid being blocked in koji, I found some.
Not sure if some of them don't fall to those categories you were talking about.

'f39': ['celestia-data', 'celestia', 'ephemeral', 'infoblox-client', 'libksane', 'lorax-templates-rhel', 'nodejs-epel', 'python3.11-requests_ntlm-epel', 'python39-zstd-epel', 'python-jsonschema-epel', 'qqc2-desktop-style', 'rust-quick-xml0.22', 'wolfssl']

'epel8': ['infoblox-client', 'webextension-token-signing']

'f40': ['anaconda-liveinst', 'golang-github-cpuguy83-md2man-epel', 'infoblox-client', 'ktp-contact-runner', 'libmetalink', 'lorax-templates-rhel', 'nodejs-epel', 'parsertl14', 'python3.11-requests_ntlm-epel', 'python39-zstd-epel', 'python-jsonschema-epel', 'qqc2-desktop-style', 'rocm-device-libs', 'telepathy-logger-qt', 'wolfssl']

Log in to comment on this ticket.

Metadata
Boards 1
Ops Status: Backlog