New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 795473 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocking:
issue 795152
issue 748234
issue 799633



Sign in to add a comment

Deploy ts_mon and cloud trace golang libraries for lucifer

Project Member Reported by pprabhu@chromium.org, Dec 16 2017

Issue description

I was exploring building the golang tsmon library to be used from lucifer and any other golang binaries we may want to deploy in the lab.

The library source is here: https://github.com/luci/luci-go/tree/master/common/tsmon
(Note that the home for this is go.chromium.org/luci not github.com/luci/luci-go)

We're currently building lucifer binaries by using the chromeos packaging system and building for host in the chroot: https://cs.corp.google.com/chromeos_public/src/third_party/chromiumos-overlay/chromeos-base/lucifer/lucifer-9999.ebuild

I was thinking we'd add dev-go/luci/luci-0.0.1.ebuild to build / package the bits of luci that we may want, following: https://www.chromium.org/chromium-os/developer-guide/go-in-chromium-os#TOC-Recommendations-for-local-development-and-builds
 
Blocking: 795152
Blocking: 748234
Challenge #1:

There is already a mirror of those repos at https://chromium.googlesource.com/external/github.com/luci/luci-go/ (we need to mirror all go repos we want to build)

But this is 4 months stale. I suspect this was a mirror that chrome-infra used to maintain for their own purposes that they've since abandoned.
Cc: akes...@chromium.org
+akeshet, independent of how I ended up here. It's only a matter of time before we *need* tsmon in golang world for lucifer.
Owner: pprabhu@chromium.org
Status: Assigned (was: Untriaged)
There's always the nuclear option, vendor everything.  Golang has tools around this now, and based on my previous research, go dep + vendoring is roughly the official answer to Go dependency management.

It sounds bad, but it's actually not, now that I think about it.  We're going to be shipping statically linked binaries at the end of the day, and static type checking makes upgrading vendored dependencies much less painful.
I've used dep as well as virtualgo (not impressed by the latter so much), and I agree that dep works quite well.

But looking at #4, there isn't much we need at the moment beyond what cros already has, so there's benefit in sticking with the cros "blessed" way to build binaries. 

For example, if you want to use dep for vendoring, we'd have to add support for dep to cros-go.eclass
The biggest problem I see with that is cros likes to keep all upstream sources mirrored on chromium.googlesource.com, while dep will pull sources from upstream directly


Or are you saying vendor everything the old way, by copying under vendor/ ?
Cc: pho...@chromium.org
Labels: Hotlist-Lucifer
Blocking: 799633
Labels: -Pri-2 Pri-1
Owner: ayatane@chromium.org
Status: Started (was: Assigned)
Summary: Deploy ts_mon and cloud trace golang libraries for licifer (was: Build go.chromium.org/luci/common/tsmon for Chrome OS infra golang binaries)
I know that Allen has made some progress in building cloud trace for us.

Alen can you summarize the current state of affairs here. That way, I can perhaps parallel process ts_mon while you do cloud trace.

Inheriting priority from blocked bug.
Summary: Deploy ts_mon and cloud trace golang libraries for lucifer (was: Deploy ts_mon and cloud trace golang libraries for licifer)
Ebuilds for cloud trace are pending, need to work around a Go toolchain peculiarity

https://bugs.chromium.org/p/chromium/issues/detail?id=811542
Cloud trace libs should be available now, need to verify
Project Member

Comment 17 by bugdroid1@chromium.org, Mar 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/86ebd86c5adf5dfe0e73672b936be9da443cb63e

commit 86ebd86c5adf5dfe0e73672b936be9da443cb63e
Author: Allen Li <ayatane@chromium.org>
Date: Fri Mar 30 02:51:27 2018

luci-*: New packages

go-homedir is a dependency for tsmon

oauth2 needs to be upreved for RetrieveError which was added later.

BUG= chromium:795473 
TEST=None

Change-Id: I702a8b7fc5f9ac3f2352acedb8452c85d9d5100d
Reviewed-on: https://chromium-review.googlesource.com/985137
Commit-Ready: Allen Li <ayatane@chromium.org>
Tested-by: Allen Li <ayatane@chromium.org>
Reviewed-by: Allen Li <ayatane@chromium.org>
Reviewed-by: Rahul Chaudhry <rahulchaudhry@chromium.org>

[add] https://crrev.com/86ebd86c5adf5dfe0e73672b936be9da443cb63e/dev-go/luci-tsmon/luci-tsmon-0.0.1-r1.ebuild
[add] https://crrev.com/86ebd86c5adf5dfe0e73672b936be9da443cb63e/dev-go/luci-tsmon/luci-tsmon-0.0.1.ebuild
[add] https://crrev.com/86ebd86c5adf5dfe0e73672b936be9da443cb63e/dev-go/homedir/homedir-0.0.1.ebuild
[add] https://crrev.com/86ebd86c5adf5dfe0e73672b936be9da443cb63e/dev-go/luci-chromeinfra/luci-chromeinfra-0.0.1-r1.ebuild
[add] https://crrev.com/86ebd86c5adf5dfe0e73672b936be9da443cb63e/dev-go/luci-chromeinfra/luci-chromeinfra-0.0.1.ebuild
[rename] https://crrev.com/86ebd86c5adf5dfe0e73672b936be9da443cb63e/dev-go/oauth2/oauth2-0.0.1-r3.ebuild
[modify] https://crrev.com/86ebd86c5adf5dfe0e73672b936be9da443cb63e/chromeos-base/lucifer/lucifer-9999.ebuild
[modify] https://crrev.com/86ebd86c5adf5dfe0e73672b936be9da443cb63e/dev-go/oauth2/oauth2-0.0.1.ebuild
[add] https://crrev.com/86ebd86c5adf5dfe0e73672b936be9da443cb63e/dev-go/luci-common/luci-common-0.0.1.ebuild
[add] https://crrev.com/86ebd86c5adf5dfe0e73672b936be9da443cb63e/dev-go/luci-auth/luci-auth-0.0.1-r1.ebuild
[add] https://crrev.com/86ebd86c5adf5dfe0e73672b936be9da443cb63e/dev-go/luci-common/luci-common-0.0.1-r1.ebuild
[add] https://crrev.com/86ebd86c5adf5dfe0e73672b936be9da443cb63e/dev-go/luci-auth/luci-auth-0.0.1.ebuild
[add] https://crrev.com/86ebd86c5adf5dfe0e73672b936be9da443cb63e/dev-go/homedir/homedir-0.0.1-r1.ebuild

Project Member

Comment 18 by bugdroid1@chromium.org, Apr 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ca6cad32ad9bed7ef6212b016145060e85ff3aac

commit ca6cad32ad9bed7ef6212b016145060e85ff3aac
Author: Allen Li <ayatane@chromium.org>
Date: Wed Apr 04 04:41:02 2018

luci-tsmon: Include metric package

This package is needed for the actual metrics API.

BUG= chromium:795473 
TEST=None

Change-Id: Ia81e984ffdd180fe65a638964d9826acd8a0dae3
Reviewed-on: https://chromium-review.googlesource.com/994381
Commit-Ready: Allen Li <ayatane@chromium.org>
Tested-by: Allen Li <ayatane@chromium.org>
Reviewed-by: Rahul Chaudhry <rahulchaudhry@chromium.org>

[rename] https://crrev.com/ca6cad32ad9bed7ef6212b016145060e85ff3aac/dev-go/luci-tsmon/luci-tsmon-0.0.1-r2.ebuild
[modify] https://crrev.com/ca6cad32ad9bed7ef6212b016145060e85ff3aac/dev-go/luci-tsmon/luci-tsmon-0.0.1.ebuild

Status: Fixed (was: Started)

Sign in to add a comment