cleanup of orphaned jobs
Bug #1137768 reported by
Martin Mrazik
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cupstream2distro Configuration |
Fix Released
|
Critical
|
Chris Gagnon |
Bug Description
Some jobs get orphaned e.g. when you change configuration (quantal-amd64 vs raring-amd64). We should figure out how to cleanup/delete such jobs so they are not in jenkins forever even when they are not used.
Related branches
lp:~chris.gagnon/cupstream2distro-config/cleanup-orphan-jobs
- Francis Ginther: Approve
- PS Jenkins bot: Approve (continuous-integration)
- CU2D maintainers: Pending requested
-
Diff: 191 lines (+148/-1)3 files modifiedc2dconfigutils/cu2dUpdateCi.py (+80/-0)
debian/changelog (+7/-0)
tests/test_cu2dUpdateCi.py (+61/-1)
Changed in cupstream2distro-config: | |
assignee: | nobody → Chris Gagnon (chris.gagnon) |
Changed in cupstream2distro-config: | |
importance: | Undecided → High |
status: | New → Triaged |
importance: | High → Critical |
Changed in cupstream2distro-config: | |
status: | Triaged → In Progress |
Changed in cupstream2distro-config: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
I discussed some thoughts on this with Chris, here's what I remember:
Any solution has to be careful not to remove jobs that have been moved to the 'to_transition' section of the stack file. In this case we still want to run continuous integration on these even though the daily-release process is not building them.
I see these most common use cases:
- target_branch changes
- builder jobs are transitioned to a new release (i.e. quantal to raring)
- builder jobs are dropped from a project (i.e. we discover the project only builds for armhf, but i386 was also defined)
target_branch changes are the trickiest as the entire set of jobs as been orphaned and we have no way to identify them from an existing stack file. It might help to stuff meta-data inside the jenkins job description so that we can cross reference a job to a stack file and vice versa.
builder job changes can be solved in two ways: -*-<job_ type>, then match that list to the downstream jobs triggered by <project> -<job_type> .
1) use the current and orphaned string trick (good for when changing to a new release)
2) use a regex to find all jenkins jobs that match <project>