| Summary: | Automate the removal of obsolete nightly builds | ||
|---|---|---|---|
| Product: | [Modeling] Sirius | Reporter: | Pierre-Charles David <pierre-charles.david> |
| Component: | Releng | Assignee: | Pierre-Charles David <pierre-charles.david> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P3 | CC: | laurent.redor |
| Version: | unspecified | Keywords: | triaged |
| Target Milestone: | 5.0.0 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
|
Description
Pierre-Charles David
Since our HIPP was upgraded to SLES12, the nightlies are published with permissions which do not allow us to manually remove them "once in a while, when we think about it". This means we have to find another way to avoid using too much disk space. I've made some tests, and a job running on the HIPP has the rights to remove them. I've just created https://hudson.eclipse.org/sirius/job/sirius-updates-cleaner/ which currently only *lists* the builds it finds, which ones it considers should be kept, and which ones it considers should be removed. For not the job does not perform any modification. I'll schedule it to run every night and monitor the results for a while, until I'm confident that it produces correct result and would not remove important stuff. If/when I'm confident enough, I'll change it to do the actual removal itself, but probably only when run manually. The way I see it, the job will have a DRY_RUN parameter, enabled by default, which only produces a report of what it would remove. It would be run every night with DRY_RUN=true. Every once in a while, someone would run it manually with DRY_RUN=true, verify the result, and if it looks fine, re-run it explicitly with DRY_RUN=false to actually remove the obsolete builds. Ideally, "every once in a while" would be when too many old builds have accumulated, which would be detected by sending us an email. The most obvious way would be to make the "build" fail in such a case I've just executed the first actual run which removed obsolete folders (https://hudson.eclipse.org/sirius/job/sirius-updates-cleaner/52/). Everything seems to have worked as expected. I'll stay in manual invocation mode for a while, the next step being to notify me by mail when too many obsolete nightlies have accumulated. The final step will be to automatically do the removal when needed without bothering anyone. The job has been running fine for a while, both automatic daily "dry runs" and the occasional manual "real" cleanup. I've just changed the job's configuration to actually do the cleanup by default every night. I'm closing this for now, and will only reopen if we see something strange/wrong. Verified on CI server. Available in Sirius 5.0.0, see https://wiki.eclipse.org/Sirius/5.0.0 for details. |