Implement lockfile to protect against jobs running simultaneously.
Bug #1469343 reported by
Robert Bruce Park
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/
This would prevent reconfiguring a silo while it's building, and other crimes of simultaneity.
Related branches
lp:~robru/cupstream2distro/fix-locking
- PS Jenkins bot: Approve (continuous-integration)
- Robert Bruce Park (community): Approve
- Barry Warsaw: Pending requested
-
Diff: 142 lines (+25/-15)9 files modifiedcitrain/build.py (+3/-2)
citrain/merge_clean.py (+2/-2)
citrain/migration.py (+2/-2)
citrain/publisher.py (+2/-2)
cupstream2distro/silomanager.py (+1/-4)
cupstream2distro/utils.py (+5/-1)
tests/unit/test_script_migration.py (+1/-1)
tests/unit/test_silomanager.py (+1/-1)
tests/unit/test_utils.py (+8/-0)
Changed in cupstream2distro: | |
status: | Triaged → Fix Released |
To post a comment you must log in.
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.