Merge lp:~cprov/launchpad/bug-404693-resuming-builder-with-timeout into lp:launchpad/db-devel
Proposed by
Celso Providelo
Status: | Merged |
---|---|
Merged at revision: | not available |
Proposed branch: | lp:~cprov/launchpad/bug-404693-resuming-builder-with-timeout |
Merge into: | lp:launchpad/db-devel |
Diff against target: | None lines |
To merge this branch: | bzr merge lp:~cprov/launchpad/bug-404693-resuming-builder-with-timeout |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Michael Hudson-Doyle | Approve | ||
Christian Reis | release-critical | Pending | |
Review via email: mp+9291@code.launchpad.net |
To post a comment you must log in.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
= Summary =
This branch fixes https:/ /bugs.edge. launchpad. net/soyuz/ +bug/404693. Resuming broken slaves will not block the buildd-manager anymore.
== Proposed fix ==
I've created `run_process_ with_timeout` entry point in twistedsupport which uses the existing and tested `ProcessMonitor ProtocolWithTim eout` and allows us to safely abort (SIGINT then SIGKILL) processes taking longer than expected.
== Implementation details ==
Originally we were using the script output when logging problems, I've removed it. Mainly because it doesn't add much and implementing the same behavior with the existing protocol would consume extra time that we don't have.
When integrating `run_process_ with_timeout` in RecordingSlave. resumeHost, I've re-used the current 'socket_timeout' value from the buildmaster configuration.
I've done this simply because I didn't want to add another mysterious value to the already confusing configuration section. I'm happy to create one if it'd make things clearer.
== Tests ==
./bin/test -vv -t TestRecordingSlaves -t TestRunProcessW ithTimeout
= Launchpad lint =
Checking for conflicts. and issues in doctests and templates.
Running jslint, xmllint, pyflakes, and pylint.
Using normal rules.
Linting changed files: buildmaster/ tests/test_ manager. py /twistedsupport /processmonitor .py /twistedsupport /tests/ test_processmon itor.py buildmaster/ manager. py
lib/lp/
lib/canonical
lib/canonical
lib/lp/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEARECAAYFAkp safEACgkQ7KBXuX yZSjDD3wCeOb3/ lVEYnXW0N7jlEfj Vo30I BfOp0cCezptpBwn fB
rfQAnivz65cpO81
=EJRw
-----END PGP SIGNATURE-----