Implement lockfile to protect against jobs running simultaneously.

Bug #1469343 reported by Robert Bruce Park
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
CI Train [cu2d]
Fix Released
High
Robert Bruce Park

Bug Description

Jenkins doesn't prevent, eg, the build & publish jobs from running at the same time, even though that would be bad.

I should implement some sort of "JobLock" class that creates a file such as ~/silos/ubuntu/landing-xxx/.lock at the start of any job running (including prepare_silo), and then deletes that file at the end.

This would prevent reconfiguring a silo while it's building, and other crimes of simultaneity.

Related branches

Revision history for this message
Robert Bruce Park (robru) wrote :

I've just realized that this is going to be a prerequisite for ephemeral PPAs, because we're going to have to do away with the idea of "one jenkins build job per silo" and just have "one build job that takes a siloname parameter", which means we're going to also have to do away with jenkins built-in feature of preventing a job from having multiple concurrent runs. So I think probably SiloState class will have to implement some kind of locking that bails out if somebody tries to run the build job twice on the same silo.

Changed in cupstream2distro:
importance: Undecided → High
Changed in cupstream2distro:
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.