-
Notifications
You must be signed in to change notification settings - Fork 59
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
Garbage collection policy for OS releases #99
Comments
@dustymabe Mind adding the Fedora Atomic Host status quo re. current GC policy for completeness? For OSTrees specifically, AFAIK currently they're all kept. |
In general right now we do keep all OSTrees, I worked a while ago on a process that would GC dev branches in our OSTree repo (which I think we should still do) but I haven't had time to revive that PR recently. |
Discussed in the meeting today. We agree we should define a policy but we'd like to sync with Fedora releng before we finalize anything. Here is the current proposal we've come up with in the meeting:
We will engage with Fedora releng to see what the current policy is for Fedora Server/Workstation/Cloud and see how this differs from our proposal above. |
The current policy on removing nightly composes is 2 weeks.
The current policy on this is until the release gets EOL'd which is about 13 months.
Currently we move the EOL'd releases to /pub/archive/ which is mirrored by not many mirrors. NOTE: This differs for ostrees, they are kept forever and are not mirrored. |
@mohanboddu Thanks for the info. Does the above apply to both release-day artifacts and update RPMs, or are update RPMs currently garbage-collected sooner (e.g. when they're superseded by newer updates)? FCOS releases will include update RPMs from Fedora repos (and will want access to others that aren't in the compose, e.g. debuginfo), and we should decide whether those RPMs will be preserved alongside the releases. |
According to @crawford, GCE previously imposed a limit of 100 images per project. He thinks that is no longer the case, and the quotas and limits page makes no mention of it. |
I think as a first approximation, we can at least settle on a GC policy for non-production streams. Let's say... 60 days? The tricky part will be untagging things from the pool. I think we'll need to have some code that scans all the lockfiles we still care about and prunes away everything else. |
We discussed this in the community meeting yesterday. We are going to start with pruning non-production builds older than 60 days. Things to prune: cosa build artifacts (though we will keep |
See coreos/fedora-coreos-config#432 which describes an upper bound. I think our policy should be more aggressive than that though. |
We need to create a new tool to prune these things for non-production builds:
For the OSTree commits in the OSTree repo the fedora-ostree-pruner should be able to take care of those so we don't need a tool to handle that piece. For the RPMs in the |
So far, we have a pruning script which is currently used by RHCOS. |
Heh, I actually forgot we had |
The need for this was raised again. See https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org/thread/4MB3M3SCU6ULHCBWGEKRIZK4S4QVOMEX/ |
On the cosa side, there's an issue tracking adding support for more cloud pruning in |
We’ve implemented garbage collection for cloud uploads (AWS AMIs, Snapshots, and GCP images) and S3 images, with the ability to keep required images and also, pruning entire builds and their related resources from S3 directories. Currently, pruning is done manually via the GC job. |
Each Fedora CoreOS release will produce several artifacts:
It will also depend on artifacts produced elsewhere:
We should have a clear garbage collection policy for each of these.
The answers may have consequences for release metadata (#98). I'm in favor of retaining everything forever, but there's obviously a storage cost.
Container Linux
The Container Linux GC policy is slightly inconsistent:
The text was updated successfully, but these errors were encountered: