Ticket #266 (closed enhancement: fixed)
I wish to tell my buildmaster: "restart yourself the next time you quiesce"
| Reported by: | zooko | Owned by: | |
|---|---|---|---|
| Priority: | minor | Milestone: | 0.8.2 |
| Version: | 0.7.7 | Keywords: | |
| Cc: | Pike, daniel@… |
Description
I wish to tell my buildmaster: "restart yourself the next time you quiesce"
Attachments
Change History
comment:2 Changed 4 years ago by zooko
I spend a lot of time wishing for builds to finish (they can take more than an hour) so I that I can restart the buildmaster with some new configuration and try again.
I always have the option of killing the unfinished builds and restarting, but then I lose the information about what effect the most recent patch (that triggered that build) had. Oh well.
comment:3 Changed 4 years ago by bhearsum
I think this will become a non-issue in one-oh, since the Master going down shouldn't interrupt builds in that world. In the meantime, this might be a nice workaround. It would probably make sense to have it 'checkconfig' first, and only restart if it passes. It would suck to queue this up and have it restart itself in the middle of the night only to fail.
comment:5 Changed 4 years ago by dustin
I don't know if we'll be able to pull off the builds-continuing thing in one-oh -- that's a hard bit of state to synchrnonize with a new (and potentially completely different) config.
However, the new buildmaster will be much more friendly to graceful reloads.
comment:6 Changed 4 years ago by Pike
- Cc Pike added
I'd actually go more drastic, and set a flag in the master to pile incoming changes into a queue on disk, and once all builders are done, to restart, and on restart, to replay the changes on disk.
I'm not sure how pickling copes with stuff like change.locale = 'ab-CD' that we do in our setup, and that others might do, too.
comment:7 Changed 4 years ago by dustin
- Milestone changed from undecided to 1.0.0
I'm more in favor of getting 'buildbot reconfig' to work better (1.0)
comment:9 in reply to: ↑ description Changed 4 years ago by JustAMan
I'm using Buildbot on Linux and I've written some scripts to accomplish this task.
I'll include main script to help others searching the solution. All you need to do is to add simple script like this:
#!/bin/bash cd /home/buildbot/restarter /home/buildbot/restarter/restart_master_mcmd 1>/dev/null 2>/dev/null
into crontab to run it, say, every 5 minutes
To restart simply create flag file (/tmp/bbneedrestart), and the script will restart master almost as soon as it is possible :)
comment:10 Changed 3 years ago by catlee
I'm hoping to get this committed soon:
http://github.com/catlee/buildbot/tree/clean_shutdown
When a clean shutdown is initiated, the master stops handing out new builds to slaves, and then shuts down when all active builds are finished.
Does this do what you need?
comment:12 Changed 3 years ago by dustin
is this ready to merge, now that 0.8.0 is out?
comment:13 Changed 3 years ago by catlee
Go for it!
comment:14 Changed 3 years ago by catlee
- Status changed from new to closed
- Resolution set to fixed
Buildbot 0.8.1 included this.
![[Buildbot Logo]](/chrome/site/header-text-transparent.png)

That would be a great feature! +1