Pruning policy

Miroslav Suchy msuchy at redhat.com
Thu Sep 26 21:06:00 UTC 2013


Hi,
right now COPR keeps all builds. This is not sustainable. Especially 
right now, when we lack of disk space.

So we need to have some policy for removing old builds.

What we have on input are:
  * successful builds
  * failed builds
  * builds which succeed in one chroot, but fail in another chroot

Variables for equation are:
  * date of the build
  * is it last build?
  * is it last successful build?

Where we will draw the line? I would suggest:

* Keep everything which was built between NOW() and X days ago.
   We can tune up X when we will see how fast we consume disk space. In 
ideal world I would imagine X as 14 days. But I can imagine that even 
one day would be enough.

* If build is older, keep that build only if it is last successful build 
in chroot.

* anything else is going to be deleted. Question: should we keep logs?

This policy can however result in having package foo-1.0 in chroot 
fedora-19-i386 and package foo-2.0 in chroot fedora-19-x86_64 (because 
foo-2.0 would fail in fedora-19-i386).
Is this what we want?

Ideas?

I would just add that once we migrate to koji as backend (~7 months) 
this policy may become obsolete as the retention will be handled by koji.

Mirek


More information about the copr-devel mailing list