New issue
Advanced search Search tips

Issue 652382 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature



Sign in to add a comment

autotest: Move dependent project sync from cros/cros-internal remotes to manifest

Project Member Reported by pprabhu@chromium.org, Oct 3 2016

Issue description

The 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.
 
Cc: ayatane@chromium.org
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...
Cc: akes...@chromium.org
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.
Labels: -current-issue
Owner: ayatane@chromium.org
Status: Assigned (was: Started)
ayatane@ has done this partways. Care to dedup?
Labels: -Type-Bug Type-Feature
Status: WontFix (was: Assigned)
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