autotest: Move dependent project sync from cros/cros-internal remotes to manifest |
||||||
Issue descriptionThe lab syncs for projects from the cros/cros-internal hosts at the 'prod' branch. This sync currently happens as part of build_external:https://cs.corp.google.com/chromeos_public/src/third_party/autotest/files/utils/external_packages.py?l=1160 We'd like to add these to the prod_manifest instead, to unify how we sync prod branches in the lab: https://cs.corp.google.com/chromeos_public/src/third_party/autotest/files/site_utils/admin/prod_manifest.xml?sq=package:chromeos&q=file:autotest+prod_manifest&type=cs&l=1 The repos in order of importance / reverse-difficulty: [1] chromite [2] devserver [3] btsocket / hdctools (involves setup.py / custom rsync command to install) Let's start with chromite since this dependency sees active development and keeps breaking push-to-prod for the lab.
,
Oct 4 2016
Some road-blocks: I uploaded a CL to add the chromite project to lab manifest. akeshet@ has some comments there. https://chromium-review.googlesource.com/#/c/392466/ More importantly though, https://bugs.chromium.org/p/chromium/issues/detail?id=646217 is a real blocker. In particular see http://shortn/_Y3KcSTvHqL Here, moblab refers to chromite via the path chromite.lib.* If we change how chromite is imported in autotest (my change above would make it autotest_lib.site_utils.chromite.*), old versions of moblab will break when running new autotest code, as in the bug linked here. The easy answer is to continue to refer to chromite as chromite.lib and add more path manipulation magic to make chromite available at that module path. Need to think some more...
,
Oct 4 2016
,
Oct 4 2016
I don't suggest we change how chromite is imported. Based on what you're saying above, I for chromite I now vote for the following steps: 1) Add chromite prod branch (and some of its sub repos like pip_packages) as a separate checkout from autotest. This is so we can shell out to chromite scripts there, like the forthcoming export_to_gcloud 2) Replace the site-packages/ copy of chromite (provided by build_externals) with another repo checkout of prod branch, in both prod manifest and developer manifest. (we don't want to go around fixing all those imports) 3) Mid-to-long term: run autotest in a virtualenv that includes chromite from #1 rather than #2. Phase out site-packages/ entirely.
,
Oct 4 2016
,
Feb 1 2017
ayatane@ has done this partways. Care to dedup?
,
Jun 20 2017
,
Jun 30 2017
I think this bug as-is is no longer relevant given the Puppet changes that happened in the interim. |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by pprabhu@chromium.org
, Oct 3 2016