Migrate cbuildbot to run in virtualenv |
|||||||
Issue description
scripts/cbuildbot.py: context = ts_mon_config.SetupTsMonGlobalState('cbuildbot', indirect=True)
,
Mar 20 2017
cbuildbot does some bootstrapping/re-execing. Don is the expert there, but it is something vaguely like: cbuildbot (from bare chromite-only checkout) -> (?) cbuildbot (from repo checkout) -> cbuildbot (from sysroot with any test patches applied if relevant)
,
Mar 20 2017
We'd want to add the virtualenv wrapper to one of those reexecutions. Probably the first one.
,
Mar 20 2017
When cbuildbot rexecs itself, it just calls chromite/bin/cbuildbot, which would mean both invocations get the wrapper. I can check, but I think it "execs" the child, which means the parent process no longer needs it's environment. So... letting the child wrapper update the virtualenv to match what the child needs (perhaps older package versions, for example) seems correct to me. The new cbuildbot_launch script will run from a different checkout of chromite, so should avoid cros-polluting virtualenv environments. Right?
,
Mar 20 2017
cbuildbot calls itself again normally using RunCommand, it doesn't look like it does a self-exec unless RunCommand does that by default. Either way, the Python environment of any given virtualenv enabled entry point should be clean (that's the point, after all).
,
Mar 20 2017
,
Mar 21 2017
,
Jun 20 2017
,
Jun 30 2017
,
Mar 30 2018
,
Mar 30 2018
,
May 11 2018
|
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by davidri...@chromium.org
, Mar 20 2017