tektoncd / operator

Kubernetes operator to manage installation, updation and uninstallation of tektoncd projects (pipeline, …)
Apache License 2.0
440 stars 192 forks source link

Windows Pipeline Runs - Error pulling entry point image post upgrade to 0.63.0 #1199

Closed srisek closed 1 year ago

srisek commented 1 year ago

Expected Behavior

Entry point image should be pulled for windows/amd64

gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/entrypoint:v0.41.0@sha256:8dfef3faaa3367221300c783a85e04e59528f07d06b10da707bf827726347e01

Actual Behavior

During Image pull: no matching manifest for windows/amd64 10.0.17763 in the manifest list entries

Steps to Reproduce the Problem

  1. Upgrade to tekton operator to 0.63.0
  2. Execute pipeline runs on windows nodes
vdemeester commented 1 year ago

@srisek thanks for the issue. If it's an image from tektoncd/pipeline (which seems like it here, as it's the entrypoint one), the operator (aka tektoncd/operator) doesn't control/manage those images. This means, most likely, the problem is on the tektoncd/pipeline release itself (aka here : https://github.com/tektoncd/pipeline/releases/tag/v0.41.0).

cc @imjasonh @abayer

imjasonh commented 1 year ago

Tekton v0.40.0 images have windows/amd64 support, but for some reason 0.41.0 and 0.42.0 don't. I don't know off the top of my head what's changed since 0.40 to cause this, but this has happened before due to changes in the release process, or even just committed-but-not-yet-applied config changes to Tekton's release process.

vdemeester commented 1 year ago

@imjasonh ok. I’ll take a look at why this happens then. We probably will have to do bug fix release for those two to publish the windows images as well..

vdemeester commented 1 year ago

/assign

vdemeester commented 1 year ago
[publish-images : run-ko] + ko resolve '--platform=linux/amd64,linux/arm,linux/arm64,linux/s390x,linux/ppc64le,windows/amd64' --preserve-import-paths -R -f /go/src/github.com/tektoncd/pipeline/config/
[publish-images : run-ko] 2023/01/04 09:06:05 Using base cgr.dev/chainguard/static@sha256:be400c5f4fa4d8b07fa6a4c6f0e264403f348c7b13606d49fef3f5b5e97f16d8 for github.com/tektoncd/pipeline/cmd/webhook
[publish-images : run-ko] 2023/01/04 09:06:06 Using base cgr.dev/chainguard/git@sha256:94f10e6a70da43a86488151fe228ac861a49c08bfdee37b4d374db3925b647c0 for github.com/tektoncd/pipeline/cmd/git-init
[publish-images : run-ko] 2023/01/04 09:06:06 Building github.com/tektoncd/pipeline/cmd/webhook for linux/arm64
[publish-images : run-ko] 2023/01/04 09:06:06 Building github.com/tektoncd/pipeline/cmd/webhook for linux/ppc64le
[publish-images : run-ko] 2023/01/04 09:06:06 Building github.com/tektoncd/pipeline/cmd/webhook for linux/arm/v6
[publish-images : run-ko] 2023/01/04 09:06:06 Building github.com/tektoncd/pipeline/cmd/webhook for linux/arm/v7
[publish-images : run-ko] 2023/01/04 09:06:06 Building github.com/tektoncd/pipeline/cmd/webhook for linux/s390x
[publish-images : run-ko] 2023/01/04 09:06:06 Using base cgr.dev/chainguard/static@sha256:be400c5f4fa4d8b07fa6a4c6f0e264403f348c7b13606d49fef3f5b5e97f16d8 for github.com/tektoncd/pipeline/cmd/resolvers
[publish-images : run-ko] 2023/01/04 09:06:06 Building github.com/tektoncd/pipeline/cmd/webhook for linux/amd64
[publish-images : run-ko] 2023/01/04 09:06:06 Using base cgr.dev/chainguard/static@sha256:be400c5f4fa4d8b07fa6a4c6f0e264403f348c7b13606d49fef3f5b5e97f16d8 for github.com/tektoncd/pipeline/cmd/imagedigestexporter
[publish-images : run-ko] 2023/01/04 09:06:06 Building github.com/tektoncd/pipeline/cmd/git-init for linux/arm/v6
[publish-images : run-ko] 2023/01/04 09:06:06 Building github.com/tektoncd/pipeline/cmd/git-init for linux/arm/v7
[publish-images : run-ko] 2023/01/04 09:06:06 Building github.com/tektoncd/pipeline/cmd/git-init for linux/amd64
[publish-images : run-ko] 2023/01/04 09:06:06 Building github.com/tektoncd/pipeline/cmd/git-init for linux/ppc64le
[publish-images : run-ko] 2023/01/04 09:06:06 Building github.com/tektoncd/pipeline/cmd/git-init for linux/arm64
[publish-images : run-ko] 2023/01/04 09:06:06 Building github.com/tektoncd/pipeline/cmd/git-init for linux/s390x
[publish-images : run-ko] 2023/01/04 09:06:07 Using base cgr.dev/chainguard/static@sha256:be400c5f4fa4d8b07fa6a4c6f0e264403f348c7b13606d49fef3f5b5e97f16d8 for github.com/tektoncd/pipeline/cmd/nop
[publish-images : run-ko] 2023/01/04 09:06:07 Using base cgr.dev/chainguard/static@sha256:be400c5f4fa4d8b07fa6a4c6f0e264403f348c7b13606d49fef3f5b5e97f16d8 for github.com/tektoncd/pipeline/cmd/pullrequest-init
[publish-images : run-ko] 2023/01/04 09:06:07 Using base cgr.dev/chainguard/static@sha256:be400c5f4fa4d8b07fa6a4c6f0e264403f348c7b13606d49fef3f5b5e97f16d8 for github.com/tektoncd/pipeline/cmd/controller
[publish-images : run-ko] 2023/01/04 09:06:08 Using base cgr.dev/chainguard/static@sha256:be400c5f4fa4d8b07fa6a4c6f0e264403f348c7b13606d49fef3f5b5e97f16d8 for github.com/tektoncd/pipeline/cmd/entrypoint
[publish-images : run-ko] 2023/01/04 09:06:08 Using base cgr.dev/chainguard/static@sha256:be400c5f4fa4d8b07fa6a4c6f0e264403f348c7b13606d49fef3f5b5e97f16d8 for github.com/tektoncd/pipeline/cmd/workingdirinit
[publish-images : run-ko] 2023/01/04 09:06:08 Using base cgr.dev/chainguard/static@sha256:be400c5f4fa4d8b07fa6a4c6f0e264403f348c7b13606d49fef3f5b5e97f16d8 for github.com/tektoncd/pipeline/cmd/sidecarlogresults
[publish-images : run-ko] 2023/01/04 09:06:08 Using base cgr.dev/chainguard/static@sha256:be400c5f4fa4d8b07fa6a4c6f0e264403f348c7b13606d49fef3f5b5e97f16d8 for github.com/tektoncd/pipeline/cmd/kubeconfigwriter

Seems like something is wrong in the release pipeline / publish task, as it's not using the "combined" (with windows images) image as a base for these images. I think I know how to fix this 👼🏼

I think setting KO_CONFIG_PATH doesn't "bypass" a $PWD/.ko.yaml file defined though.

vdemeester commented 1 year ago

@imjasonh So I am not sure the "file based" KO_CONFIG_PATH actually work, I probably missed than when updating the publish-release task. This commit made me think it works but I don't think it does.

$ KO_CONFIG_PATH=/tmp/.ko.yaml ko resolve -f config > /tmp/foo.yaml
# […]
2023/01/04 10:20:09 Using base cgr.dev/chainguard/static@sha256:be400c5f4fa4d8b07fa6a4c6f0e264403f348c7b13606d49fef3f5b5e97f16d8 for github.com/tektoncd/pipeline/cmd/entrypoint
# […]
$ rm .ko.yaml
$ KO_CONFIG_PATH=/tmp/.ko.yaml ko resolve -f config > /tmp/foo.yaml
# […]
2023/01/04 10:20:39 Using base distroless.dev/static:latest@sha256:be400c5f4fa4d8b07fa6a4c6f0e264403f348c7b13606d49fef3f5b5e97f16d8 for github.com/tektoncd/pipeline/cmd/entrypoint
# […]
$ KO_CONFIG_PATH=/tmp/ ko resolve -f config > /tmp/foo.yaml
# […]
2023/01/04 10:21:08 Using base cgr.dev/chainguard/static@sha256:be400c5f4fa4d8b07fa6a4c6f0e264403f348c7b13606d49fef3f5b5e97f16d8 for github.com/tektoncd/pipeline/cmd/webhook
# […]
2023/01/04 10:21:09 Using base ghcr.io/vdemeester/test/github.com/tektoncd/pipeline/combined-base-image@sha256:33a5146f205123032bce00d2785d62729f55d91b9d2befee37091a153a0fee18 for github.com/tektoncd/pipeline/cmd/entrypoint
# […]
$ git co .ko.yaml # trying with a .ko.yaml in path
$ KO_CONFIG_PATH=/tmp/ ko resolve -f config > /tmp/foo.yaml
2023/01/04 10:28:30 Using base cgr.dev/chainguard/static@sha256:be400c5f4fa4d8b07fa6a4c6f0e264403f348c7b13606d49fef3f5b5e97f16d8 for github.com/tektoncd/pipeline/cmd/webhook
# […]
2023/01/04 10:28:31 Using base ghcr.io/vdemeester/test/github.com/tektoncd/pipeline/combined-base-image@sha256:33a5146f205123032bce00d2785d62729f55d91b9d2befee37091a153a0fee18 for github.com/tektoncd/pipeline/cmd/entrypoint
# […]

Created https://github.com/ko-build/ko/issues/919 to track ko issue, will update the task with the folder instead.

tekton-robot commented 1 year ago

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale with a justification. Stale issues rot after an additional 30d of inactivity and eventually close. If this issue is safe to close now please do so with /close with a justification. If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.

/lifecycle stale

Send feedback to tektoncd/plumbing.

vdemeester commented 1 year ago

/remove-lifecycle stale

tekton-robot commented 1 year ago

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale with a justification. Stale issues rot after an additional 30d of inactivity and eventually close. If this issue is safe to close now please do so with /close with a justification. If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.

/lifecycle stale

Send feedback to tektoncd/plumbing.

tekton-robot commented 1 year ago

Stale issues rot after 30d of inactivity. Mark the issue as fresh with /remove-lifecycle rotten with a justification. Rotten issues close after an additional 30d of inactivity. If this issue is safe to close now please do so with /close with a justification. If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.

/lifecycle rotten

Send feedback to tektoncd/plumbing.

tekton-robot commented 1 year ago

Rotten issues close after 30d of inactivity. Reopen the issue with /reopen with a justification. Mark the issue as fresh with /remove-lifecycle rotten with a justification. If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.

/close

Send feedback to tektoncd/plumbing.

tekton-robot commented 1 year ago

@tekton-robot: Closing this issue.

In response to [this](https://github.com/tektoncd/operator/issues/1199#issuecomment-1703085409): >Rotten issues close after 30d of inactivity. >Reopen the issue with `/reopen` with a justification. >Mark the issue as fresh with `/remove-lifecycle rotten` with a justification. >If this issue should be exempted, mark the issue as frozen with `/lifecycle frozen` with a justification. > >/close > >Send feedback to [tektoncd/plumbing](https://github.com/tektoncd/plumbing). Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.