Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

frontend: automatically EOL lifeless rolling chroots #3265

Merged
merged 3 commits into from
Jun 25, 2024

Conversation

praiskup
Copy link
Member

@praiskup praiskup commented May 16, 2024

Implements: https://github.com/fedora-copr/debate/blob/main/2024-04-23-rawhide-chroots-eol.md
Fixes: #2933

  • Expiry/prolong works
  • Prolong with new build works
  • Users are notified about EOLed rolling chroots
  • Chroots are deleted eventually
  • anything else??

@praiskup praiskup marked this pull request as draft May 16, 2024 11:18
@praiskup praiskup force-pushed the praiskup-rawhide-eol branch from 48947ff to ac1b4fd Compare May 16, 2024 13:07
@praiskup praiskup changed the title Automatically EOL staled Rawhide chroots frontend: automatically EOL lifeless rolling chroots May 16, 2024
@praiskup praiskup marked this pull request as ready for review May 16, 2024 13:08
@praiskup praiskup force-pushed the praiskup-rawhide-eol branch 2 times, most recently from 341ddcf to 48ac415 Compare May 16, 2024 15:32
@praiskup praiskup force-pushed the praiskup-rawhide-eol branch from 1211da6 to 7d7766f Compare May 20, 2024 08:19
@praiskup
Copy link
Member Author

Screenshot_20240520_102019

@praiskup praiskup force-pushed the praiskup-rawhide-eol branch from 7d7766f to 1135fe8 Compare May 20, 2024 08:25
@praiskup praiskup requested a review from FrostyX May 20, 2024 08:25
@praiskup praiskup force-pushed the praiskup-rawhide-eol branch from 1135fe8 to 13c5c74 Compare May 21, 2024 07:28
@FrostyX FrostyX removed the blocked label May 22, 2024
Copy link
Member

@FrostyX FrostyX left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you very much for the PR and I am sorry for late review.

Wow, the mechanism is complicated (not a fault of this PR, it was already complicated before). I don't know if it is worth simplifying somehow or moving to one place. Or better to keep as is.

I think I had a good idea with the ChrootDeletionStatus back then. Maybe it would help us to have something like ChrootDeletionReason to represent the descriptions in the last column of the "Logical implications per in-DB chroot state" table (e.g. requested_by_user, rolling, eol). Or maybe even merging those two enums together and having one enum saying that the chroot is e.g. deleted_rolling or preserved_manual. Do you think it would help?

doc/developer_documentation/eol-logic.rst Show resolved Hide resolved
doc/developer_documentation/eol-logic.rst Show resolved Hide resolved
doc/developer_documentation/eol-logic.rst Outdated Show resolved Hide resolved
frontend/coprs_frontend/config/copr.conf Show resolved Hide resolved
frontend/coprs_frontend/coprs/logic/complex_logic.py Outdated Show resolved Hide resolved
frontend/coprs_frontend/coprs/models.py Show resolved Hide resolved
@praiskup praiskup force-pushed the praiskup-rawhide-eol branch from 13c5c74 to 91bcab7 Compare June 21, 2024 14:41
@praiskup
Copy link
Member Author

I resolved some of your remarks and marked the corresponding threads resolved. Can you PTAL?

@praiskup
Copy link
Member Author

We could merge, but seems there's a problem with tests. Going to fix & merge.

praiskup added 2 commits June 25, 2024 06:31
The `copr_chroot.deleted` value can not be true;  the outer loop is
skipped (`continue`) for deleted chroots.
When rolling policy finishes, we want to remove the data, but we also
want to mark the CoprChroot.deleted (disable it from the project)
because the corresponding mock chroot is still active in Copr.

When user does a new build, we reset the CoprChroot
delete_after/notification state, always.  This is ok because during the
normal MockChroot EOL policy, we do not allow new builds.

Implements: https://github.com/fedora-copr/debate/blob/main/2024-04-23-rawhide-chroots-eol.md
Fixes: fedora-copr#2933
@praiskup praiskup force-pushed the praiskup-rawhide-eol branch from 91bcab7 to 1bd379b Compare June 25, 2024 04:46
@praiskup
Copy link
Member Author

This part is not not related to this PR, but #3314 - merging, thank you for the review!

Failed to resolve the transaction:
Package "util-linux-2.40.1-2.fc41.x86_64" is already installed.
Problem 1: conflicting requests
  - nothing provides python3.12dist(flask) needed by python3-flask-caching-2.3.0-1.fc41.noarch from fedora
  - nothing provides python(abi) = 3.12 needed by python3-flask-caching-2.3.0-1.fc41.noarch from fedora
 Problem 2: conflicting requests
  - nothing provides python(abi) = 3.12 needed by python3-flask-session-0.5.0-3.fc40.noarch from fedora
  - nothing provides python3.12dist(flask) >= 2.2 needed by python3-flask-session-0.5.0-3.fc40.noarch from fedora

@praiskup praiskup merged commit 787a685 into fedora-copr:main Jun 25, 2024
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

How to handle "leftover" projects that built in rolling chroots
2 participants