New issue
Advanced search Search tips

Issue 692266 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Feature

Blocking:
issue 692220



Sign in to add a comment

Kitchen: instruct recipe engine to emit initial properties

Project Member Reported by no...@chromium.org, Feb 14 2017

Issue description

Add a (operational) flag to recipe engine to emit initial property values in the annotation stream.

Kitchen will pass that and Milo will read the initial property values when rendering a build.
 

Comment 2 by no...@chromium.org, Feb 14 2017

i see. Kitchen must pass that arg

Comment 3 by d...@chromium.org, Feb 15 2017

Summary: Kitchen: instruct recipe engine to emit initial properties (was: recipe engine: emit initial properties)

Comment 4 by no...@chromium.org, Feb 16 2017

the motivation for this was that milo can display initial property values.

however, this solution will work only if build has started. We must be able to display property values before build has started. I've filed  bug 693155 . I am not sure we need this bug.
Project Member

Comment 5 by bugdroid1@chromium.org, Feb 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra/+/9a24e51c4f5464c9b0d920a3b72492ea5d41c897

commit 9a24e51c4f5464c9b0d920a3b72492ea5d41c897
Author: Dan Jacques <dnj@chromium.org>
Date: Sat Feb 18 02:33:15 2017

Kitchen: recipe cleanup, LogDog initial properties

Have LogDog instruct the recipe engine, via operational arguments, to
emit initial properties. This will given Annotee access to the initial
properties, allowing the annotation stream to contain the complete set
of properties rather than just the properties that were changed during
recipe execution.

To enable this, it was useful to tear the recipe engine command generation
and execution logic out of "cook.py" into a dedicated "recipeRemoteRun"
type. This was halfway done before via a command generation function,
but now, since generation includes creation of operational arguments, it
is better to move it into a focused location.

Kitchen now creates a Kitchen-centric temporary directory to dump
operational arguments and properties JSON files to.

Switch several instances of error handling over to use annotated errors.

BUG= chromium:692266 
TEST=local
  - Ran locally.

Change-Id: Id727e1fe088bfe17680e2e0f98f57c49ea028e55
Reviewed-on: https://chromium-review.googlesource.com/444844
Reviewed-by: Nodir Turakulov <nodir@chromium.org>
Commit-Queue: Daniel Jacques <dnj@chromium.org>

[add] https://crrev.com/9a24e51c4f5464c9b0d920a3b72492ea5d41c897/go/src/infra/tools/kitchen/util.go
[add] https://crrev.com/9a24e51c4f5464c9b0d920a3b72492ea5d41c897/go/src/infra/tools/kitchen/proto/arguments.proto
[add] https://crrev.com/9a24e51c4f5464c9b0d920a3b72492ea5d41c897/go/src/infra/tools/kitchen/recipe.go
[modify] https://crrev.com/9a24e51c4f5464c9b0d920a3b72492ea5d41c897/go/src/infra/tools/kitchen/proto/package.pb.go
[modify] https://crrev.com/9a24e51c4f5464c9b0d920a3b72492ea5d41c897/go/src/infra/tools/kitchen/proto/README.md
[add] https://crrev.com/9a24e51c4f5464c9b0d920a3b72492ea5d41c897/go/src/infra/tools/kitchen/proto/arguments.pb.go
[modify] https://crrev.com/9a24e51c4f5464c9b0d920a3b72492ea5d41c897/go/src/infra/tools/kitchen/cook_logdog.go
[modify] https://crrev.com/9a24e51c4f5464c9b0d920a3b72492ea5d41c897/go/src/infra/tools/kitchen/cook.go
[modify] https://crrev.com/9a24e51c4f5464c9b0d920a3b72492ea5d41c897/go/src/infra/tools/kitchen/cook_logdog_test.go

Comment 6 by d...@chromium.org, Feb 18 2017

Status: Fixed (was: Assigned)

Sign in to add a comment