Turn off cgroup management in the inner cbuildbot instance.
During hard shutdowns, inner and outer wind up tripping over
each other trying to prune the underlying cgroupfs namespaces.
There's no point to it, thus just rely on the outer cgroup pathways.
This is a mixed blessing: the outer is ToT and generally sane/trusted,
but for CQ we kind of want the inner tested (as long as it doesn't
break anything). In light of the fact the cgroups code is rarely
changed, and is changed by people who are careful in it's handling,
this is considered acceptable.
BUG=chromium-os:28631
TEST=cbuildbot x86-generic-full # ctrl+c it, behaves as normal
Change-Id: Ib707a94fb48839f00e44922c79b5185100677c2b
Reviewed-on: https://gerrit.chromium.org/gerrit/22645
Tested-by: Brian Harring <ferringb@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Brian Harring <ferringb@chromium.org>
diff --git a/scripts/cbuildbot.py b/scripts/cbuildbot.py
index 1078cc1..4d04a03 100644
--- a/scripts/cbuildbot.py
+++ b/scripts/cbuildbot.py
@@ -274,8 +274,8 @@
# Re-write paths to use absolute paths.
# Suppress any timeout options given from the commandline in the
# invoked cbuildbot; our timeout will enforce it instead.
- args_to_append = ['--resume', '--timeout', '0', '--notee', '--buildroot',
- os.path.abspath(self.options.buildroot)]
+ args_to_append = ['--resume', '--timeout', '0', '--notee', '--nocgroups',
+ '--buildroot', os.path.abspath(self.options.buildroot)]
if self.options.chrome_root:
args_to_append += ['--chrome_root',
@@ -1066,7 +1066,7 @@
'repo checkout; no .repo exists in the root.'
% (options.reference_repo,))
- if options.buildbot or options.remote_trybot:
+ if (options.buildbot or options.remote_trybot) and not options.resume:
if not options.cgroups:
parser.error('Options --buildbot/--remote-trybot and --nocgroups cannot '
'be used together. Cgroup support is required for '