F45 Cycle: Retire FTI packages in NEW state #13473

Closed
opened 2026-08-17 12:30:06 +00:00 by patrikp · 9 comments
Member

As per the Fedora 45 release schedule [1], this should happen on Tuesday, 2026-08-18.

F44 ticket for reference: #13218

[1] https://fedorapeople.org/groups/schedule/f-45/f-45-releng-tasks.html

As per the Fedora 45 release schedule [1], this should happen on **Tuesday, 2026-08-18**. F44 ticket for reference: https://forge.fedoraproject.org/releng/tickets/issues/13218 [1] https://fedorapeople.org/groups/schedule/f-45/f-45-releng-tasks.html
patrikp added this to the Backlog project 2026-08-17 12:30:06 +00:00
Owner

@patrikp, minor nit suppose to happen on tuesday (Today). @churchyard you got it covered, or should we look into it?

Also, post this, planning to add an entry in our doc for what is done and why, so we can link it in the schedule.

@patrikp, minor nit suppose to happen on tuesday (Today). @churchyard you got it covered, or should we look into it? Also, post this, planning to add an entry in our doc for what is done and why, so we can link it in the schedule.
Member

I have it in my TODO for today. But it's always a good idea to check.

I have it in my TODO for today. But it's always a good idea to check.
Member
import bugzilla
import sys
import time
from datetime import datetime


TRACKER = 2433836  # F45FailsToInstall
JUDGEMENT_DAY = datetime.fromisoformat("2026-08-18")

bzapi = bugzilla.Bugzilla("bugzilla.redhat.com")
fields = ["component", "creation_time"]
query = bzapi.build_query(product="Fedora", include_fields=fields)
query["blocks"] = TRACKER
query["status"] = "NEW"
query["limit"] = 1000
bugzillas = bzapi.query(query)
assert len(bugzillas) < 1000


def is_reminder(c):
    return (c["creator"].startswith("mhroncok@") and "reminder" in c["text"] or
        c["creator"].startswith("fti-bugs@") and "reminder" in c["text"])


def count_reminders(bug):
    return sum(is_reminder(c) for c in bug.getcomments())


retire_ids = []
retire_packages = []

for bug in bugzillas:
    creation_time = datetime.fromtimestamp(time.mktime(bug.creation_time.timetuple()))
    delta = JUDGEMENT_DAY - creation_time
    symbol = "\N{GREEN HEART}"
    reminders = count_reminders(bug)
    if delta.days >= 8 * 7:
        if reminders >= 2:
            symbol = "\N{SKULL}"
            retire_ids.append(bug.id)
            retire_packages.append(bug.component)
        elif reminders == 1:
            symbol = "\N{BLACK HEART}"
    print(bug.component, f"{delta.days // 7} weeks", symbol, file=sys.stderr)

print(
    "https://bugzilla.redhat.com/buglist.cgi?bug_id="
    + ",".join(str(b) for b in retire_ids)
)
print(" ".join(retire_packages))
```python import bugzilla import sys import time from datetime import datetime TRACKER = 2433836 # F45FailsToInstall JUDGEMENT_DAY = datetime.fromisoformat("2026-08-18") bzapi = bugzilla.Bugzilla("bugzilla.redhat.com") fields = ["component", "creation_time"] query = bzapi.build_query(product="Fedora", include_fields=fields) query["blocks"] = TRACKER query["status"] = "NEW" query["limit"] = 1000 bugzillas = bzapi.query(query) assert len(bugzillas) < 1000 def is_reminder(c): return (c["creator"].startswith("mhroncok@") and "reminder" in c["text"] or c["creator"].startswith("fti-bugs@") and "reminder" in c["text"]) def count_reminders(bug): return sum(is_reminder(c) for c in bug.getcomments()) retire_ids = [] retire_packages = [] for bug in bugzillas: creation_time = datetime.fromtimestamp(time.mktime(bug.creation_time.timetuple())) delta = JUDGEMENT_DAY - creation_time symbol = "\N{GREEN HEART}" reminders = count_reminders(bug) if delta.days >= 8 * 7: if reminders >= 2: symbol = "\N{SKULL}" retire_ids.append(bug.id) retire_packages.append(bug.component) elif reminders == 1: symbol = "\N{BLACK HEART}" print(bug.component, f"{delta.days // 7} weeks", symbol, file=sys.stderr) print( "https://bugzilla.redhat.com/buglist.cgi?bug_id=" + ",".join(str(b) for b in retire_ids) ) print(" ".join(retire_packages)) ```
Member

https://bugzilla.redhat.com/buglist.cgi?bug_id=2424571,2431587,2453848,2458695,2460576,2464734,2464736,2464740,2464741,2464742,2466656,2480399,2480402,2481163,2484388,2484392,2484393,2484394,2484395,2485704,2485721,2485747,2485748,2485750,2485751,2485752,2485753,2485754,2485755,2485762,2485788,2485856,2485863,2485864,2485874,2485996,2486515,2486516,2490999,2491001

python-fs python-pysdl2 pyp2rpm bodhi-server python-meshio golang-github-hashicorp-terraform-json golang-github-markbates-pkger golang-github-tj-assert golang-github-u-root-uio golang-github-zclconf-cty-debug python-hypothesmith dtk6gui rubygem-uuid python-imbalanced-learn bletchmame golang-github-jose-3 golang-github-mmarkdown-mmark golang-github-nicksnyder-i18n-2 jabberd enki matrix-synapse python-XStatic-Angular-UUID python-XStatic-Angular-Vis python-XStatic-DataTables python-XStatic-FileSaver python-XStatic-JS-Yaml python-XStatic-Json2yaml python-XStatic-Patternfly python-XStatic-Patternfly-Bootstrap-Treeview python-avocado python-azure-mgmt-support python-etcd python-fastmcp python-fields python-grpc-google-iam-v1 roca-detect fts-rest-client kefir minder warble

python-fs 33 weeks 💀
python-pysdl2 29 weeks 💀
pyp2rpm 19 weeks 💀
bodhi-server 17 weeks 💀
python-meshio 16 weeks 💀
golang-github-hashicorp-terraform-json 15 weeks 💀
golang-github-markbates-pkger 15 weeks 💀
golang-github-tj-assert 15 weeks 💀
golang-github-u-root-uio 15 weeks 💀
golang-github-zclconf-cty-debug 15 weeks 💀
python-hypothesmith 14 weeks 💀
dtk6gui 12 weeks 💀
rubygem-uuid 12 weeks 💀
python-imbalanced-learn 12 weeks 💀
bletchmame 10 weeks 💀
golang-github-jose-3 10 weeks 💀
golang-github-mmarkdown-mmark 10 weeks 💀
golang-github-nicksnyder-i18n-2 10 weeks 💀
jabberd 10 weeks 💀
enki 10 weeks 💀
matrix-synapse 10 weeks 💀
python-XStatic-Angular-UUID 10 weeks 💀
python-XStatic-Angular-Vis 10 weeks 💀
python-XStatic-DataTables 10 weeks 💀
python-XStatic-FileSaver 10 weeks 💀
python-XStatic-JS-Yaml 10 weeks 💀
python-XStatic-Json2yaml 10 weeks 💀
python-XStatic-Patternfly 10 weeks 💀
python-XStatic-Patternfly-Bootstrap-Treeview 10 weeks 💀
python-avocado 10 weeks 💀
python-azure-mgmt-support 10 weeks 💀
python-etcd 10 weeks 💀
python-fastmcp 10 weeks 💀
python-fields 10 weeks 💀
python-grpc-google-iam-v1 10 weeks 💀
roca-detect 10 weeks 💀
fts-rest-client 10 weeks 💀
kefir 10 weeks 💀
minder 8 weeks 💀
warble 8 weeks 💀

https://bugzilla.redhat.com/buglist.cgi?bug_id=2424571,2431587,2453848,2458695,2460576,2464734,2464736,2464740,2464741,2464742,2466656,2480399,2480402,2481163,2484388,2484392,2484393,2484394,2484395,2485704,2485721,2485747,2485748,2485750,2485751,2485752,2485753,2485754,2485755,2485762,2485788,2485856,2485863,2485864,2485874,2485996,2486515,2486516,2490999,2491001 python-fs python-pysdl2 pyp2rpm bodhi-server python-meshio golang-github-hashicorp-terraform-json golang-github-markbates-pkger golang-github-tj-assert golang-github-u-root-uio golang-github-zclconf-cty-debug python-hypothesmith dtk6gui rubygem-uuid python-imbalanced-learn bletchmame golang-github-jose-3 golang-github-mmarkdown-mmark golang-github-nicksnyder-i18n-2 jabberd enki matrix-synapse python-XStatic-Angular-UUID python-XStatic-Angular-Vis python-XStatic-DataTables python-XStatic-FileSaver python-XStatic-JS-Yaml python-XStatic-Json2yaml python-XStatic-Patternfly python-XStatic-Patternfly-Bootstrap-Treeview python-avocado python-azure-mgmt-support python-etcd python-fastmcp python-fields python-grpc-google-iam-v1 roca-detect fts-rest-client kefir minder warble python-fs 33 weeks 💀 python-pysdl2 29 weeks 💀 pyp2rpm 19 weeks 💀 bodhi-server 17 weeks 💀 python-meshio 16 weeks 💀 golang-github-hashicorp-terraform-json 15 weeks 💀 golang-github-markbates-pkger 15 weeks 💀 golang-github-tj-assert 15 weeks 💀 golang-github-u-root-uio 15 weeks 💀 golang-github-zclconf-cty-debug 15 weeks 💀 python-hypothesmith 14 weeks 💀 dtk6gui 12 weeks 💀 rubygem-uuid 12 weeks 💀 python-imbalanced-learn 12 weeks 💀 bletchmame 10 weeks 💀 golang-github-jose-3 10 weeks 💀 golang-github-mmarkdown-mmark 10 weeks 💀 golang-github-nicksnyder-i18n-2 10 weeks 💀 jabberd 10 weeks 💀 enki 10 weeks 💀 matrix-synapse 10 weeks 💀 python-XStatic-Angular-UUID 10 weeks 💀 python-XStatic-Angular-Vis 10 weeks 💀 python-XStatic-DataTables 10 weeks 💀 python-XStatic-FileSaver 10 weeks 💀 python-XStatic-JS-Yaml 10 weeks 💀 python-XStatic-Json2yaml 10 weeks 💀 python-XStatic-Patternfly 10 weeks 💀 python-XStatic-Patternfly-Bootstrap-Treeview 10 weeks 💀 python-avocado 10 weeks 💀 python-azure-mgmt-support 10 weeks 💀 python-etcd 10 weeks 💀 python-fastmcp 10 weeks 💀 python-fields 10 weeks 💀 python-grpc-google-iam-v1 10 weeks 💀 roca-detect 10 weeks 💀 fts-rest-client 10 weeks 💀 kefir 10 weeks 💀 minder 8 weeks 💀 warble 8 weeks 💀
Owner

Thank you, looks good.

Thank you, looks good.
Member

It has started.

It has started.
Member

Done

Done
Owner

Ok awesome, I'll assign it to myself to track docs changes.

Ok awesome, I'll assign it to myself to track docs changes.
Owner

SOP is in closing this one.

SOP is in closing this one.
Sign in to join this conversation.
No milestone
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
releng/tickets#13473
No description provided.