New issue
Advanced search Search tips

Issue 740320 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 741001



Sign in to add a comment

Use vpython for all invocations.

Project Member Reported by d...@chromium.org, Jul 8 2017

Issue description

This is a meta-bug to track the progress and issues encountered with enabling "vpython" as the primary Python entry point for bots and bot code.

General idea is:
1) Enhance "vpython" to include a set of system wheels in all VirtualEnv installations.
1a) Collect the set of standard system packages from "ccompute", "Puppet", and system configurations.
2) Enable generation of "vpython" wrapper as "python", "python2.7", "python2" (.exe), and canarying of this feature.
3) Enable on canary waterfalls and, ultimately, on all waterfalls.
4) Replace system Python with bundled Python on all platforms.

(4) requires the remainder of the tasks to execute, since bundled Python will not include many system packages that software expects to exist. For example, code might say "if I'm on a Mac, import Framework". This is reasonable, since all Mac Python installations include Framework; however, a VirtualEnv Python on Mac will not include Framework by default.

In this case, "vpython" would include the "pyobjc" wheel (https://chrome-infra-packages.appspot.com/#/?path=infra/python/wheels/pyobjc) in all Mac bundles to meet this expectation.

Once a base system Python package set is established, any bundled Python can be used in conjunction with "vpython" to create isolated environments that meet reasonable software expectations.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/external/github.com/luci/luci-go.git/+/494156a450069cafd4bee1bbd43f327a148cb698

commit 494156a450069cafd4bee1bbd43f327a148cb698
Author: dnj <dnj@chromium.org>
Date: Tue Jul 11 01:00:53 2017

[vpython] Enable base wheels, spec merging.

Enable base wheel support. This allows an application instance to
specify a set of wheels that will always be included with every vpython
spec, regardless of whether or not the spec explicitly specifies them.

To support this, enhance wheel merging. Duplicate wheel declarations which
share the same versions will have their parameters deduplicated and
merged into a single wheel spec.

BUG=chromium:740320
TEST=None

Review-Url: https://codereview.chromium.org/2971403002

[modify] https://crrev.com/494156a450069cafd4bee1bbd43f327a148cb698/vpython/application/application.go
[modify] https://crrev.com/494156a450069cafd4bee1bbd43f327a148cb698/vpython/options.go
[modify] https://crrev.com/494156a450069cafd4bee1bbd43f327a148cb698/vpython/spec/spec.go
[modify] https://crrev.com/494156a450069cafd4bee1bbd43f327a148cb698/vpython/spec/spec_test.go

Comment 2 by d...@chromium.org, Jul 11 2017

Blocking: 741001
Project Member

Comment 3 by sheriffbot@chromium.org, Jul 12

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: d...@chromium.org
Owner: iannucci@chromium.org
Status: Assigned (was: Untriaged)
Probably I should own this, but this has been steadily happening over the last year, despite the lack of updates here. I'll try to ref this bug in further vpython related things.
Owner: iannu...@google.com
Cc: -iannucci@chromium.org iannu...@google.com

Sign in to add a comment