Skip to content
This repository has been archived by the owner on Sep 5, 2019. It is now read-only.

v0.4.0 build.yaml file is missing config-logging configmap, controller and webhook deployments #566

Closed
khrisrichardson opened this issue Feb 21, 2019 · 10 comments
Assignees
Labels
area/test-and-release Test infrastructure, tests or release kind/bug Something isn't working

Comments

@khrisrichardson
Copy link
Contributor

Expected Behavior

The v0.4.0 build.yaml should presumably include the config-logging configmap and the controller and webhook deployments. Not sure if it's by design, but relative to the v0.3.0 release, definitions of kind image are also missing.

Actual Behavior

Steps to Reproduce the Problem

Additional Info

@knative-prow-robot knative-prow-robot added area/test-and-release Test infrastructure, tests or release kind/bug Something isn't working labels Feb 21, 2019
@imjasonh imjasonh self-assigned this Feb 22, 2019
@imjasonh
Copy link
Member

This is a baffling bug.

Running the release script locally produces a release YAML which includes all the Deployments, etc., you'd expect.

The autorelease process that built the 0.4.0 release when it detected the release-0.4 branch did so after passing integration tests, which indicates it's capable of ko resolve-ing config/ into a full and valid config YAML, but it seems like it re-generates the release YAML fresh after passing those tests.

@nbarthwal are there any steps to debug the autorelease process, or even get its logs to see if it said anything useful while it built the release?

@nbarthwal
Copy link
Contributor

nbarthwal commented Feb 22, 2019 via email

@imjasonh
Copy link
Member

@nbarthwal thanks I'll look through and see if anything stands out.

One thing I think we should fix is that integration tests are run against a config YAML that are then thrown away and regenerated from scratch. AFAICT no integration tests are run against the actual YAML we produce with the release.

@imjasonh
Copy link
Member

One curious log line, not sure it's related:

I0220 16:35:17.750] 2019/02/20 16:35:17 error processing import paths in "config/999-cache.yaml": UNKNOWN: Project 'projects/knative-release' not found or deleted.

@jonjohnsonjr
Copy link
Contributor

I'm pretty sure that's supposed to be knative-releases

@imjasonh
Copy link
Member

The release didn't build an image for controller (possibly others) for v0.4.0: https://console.cloud.google.com/gcr/images/knative-releases/GLOBAL/github.com/knative/build/cmd/controller

I only see on line indicating an image was published at the end of the release script:

I0220 16:35:17.750] 2019/02/20 16:35:17 Published gcr.io/knative-releases/github.com/knative/build/cmd/nop@sha256:f767af095ef33cca414905fbf0088e1df2df1c92f85de29ba2c91d964a228a3a

@imjasonh
Copy link
Member

I'm pretty sure that's supposed to be knative-releases

Yeah. It's a typo, I'm wondering how ko proceeded through that error at all, and I'm wondering if that's why the yaml is incomplete.

@imjasonh
Copy link
Member

Re #566 (comment) the nop image seems to be the only one that was published during the release, but it wasn't even tagged v0.4.0 nor included in the final release yaml.

Current theory is that the knative-release typo caused ko to generate partial yaml and only push some images, but somehow succeed enough to convince the release to proceed.

@imjasonh
Copy link
Member

So apparently ko resolve will output whatever yamls it can that don't contain references, then build and push images from the references it finds, then output yaml with those references replaced. The typo in .ko.yaml.release caused ko to barf on that second step, after it had output the non-reference-containing yaml.

Normally this would just cause the release to break because ko resolve failed. Somehow, it didn't, and this line failed but the release proceeded and "succeeded".

I'm not sure how that happened since according to this block it looks like we should be in set -o errexit mode.

@imjasonh
Copy link
Member

Fixing the typo and rebasing release-0.4 and re-auto-releasing from that branch created a new v0.4. release which includes all the expected resources.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area/test-and-release Test infrastructure, tests or release kind/bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants