chains icon indicating copy to clipboard operation
chains copied to clipboard

Multi-arch support for Tekton Chains

Open manojkumar238 opened this issue 3 years ago • 6 comments

Feature request

At this moment chain controller images are running only on linux/amd64 platform. Is it possible to publish multi-arch versions of controller images with linux/amd64, linux/s390x, linux/ppc64le and linux/arm64 support? In case if ko tool was used to build initial version, generate the multi-arch image is possible using --platform=linux/amd64,linux/s390x,linux/ppc64le,linux/arm64 extra parameter.

manojkumar238 avatar Jun 13 '22 06:06 manojkumar238

Hey @manojbison thanks for opening this issue.

The list of architectures we release can be found here in the release Pipeline:

https://github.com/tektoncd/chains/blob/a4fce9f22bef64775d5afb48cb123f633f0337ee/release/release-pipeline.yaml#L45-L46

We do provide images for linux/amd64 and linux/arm64.

Adding additional platforms linux/s390x, linux/ppc64le on line 46 should work. If anyone is able to add in the additional architectures & confirm locally that they compile then I'm happy to approve a PR!

priyawadhwa avatar Jun 13 '22 09:06 priyawadhwa

Thanks @priyawadhwa. We are currently compiling chains on ppc64le & s390x platform. There are some failures due to image dependencies. We will enable image builds for linux/s390x & linux/ppc64le using your suggest approach once we resolve the failures.

svghadi avatar Jun 14 '22 08:06 svghadi

@snehakpersistent could successfully compile controller image and use it to deploy chains on ppc64le. She also tried few tutorials on chains to validate the functionality. The image dependencies I mentioned in previous https://github.com/tektoncd/chains/issues/459#issuecomment-1154869850 are related to e2e tests. We are working on adding ppc64le support to these third-party test images. In the meantime, since local validation is working as expected. could we merge #461 to get chains image for ppc64le? - @priyawadhwa

For reference: list of unsupported ppc64le images used in e2e tests

# docker inspect gcr.io/spiffe-io/spire-agent:1.0.2 | grep -i arch
        "Architecture": "amd64",
# docker inspect gcr.io/tekton-releases/dogfooding/ko:latest | grep -i arch
        "Architecture": "amd64",
# docker inspect gcr.io/tekton-releases/dogfooding/koparse:latest | grep -i arch
        "Architecture": "amd64",
# docker inspect gcr.io/spiffe-io/wait-for-it:latest | grep -i arch
        "Architecture": "amd64",
# docker inspect gcr.io/spiffe-io/spire-agent:1.0.2 | grep -i arch
        "Architecture": "amd64"
# docker inspect gcr.io/spiffe-io/spire-server:1.0.2 | grep -i arch
        "Architecture": "amd64",
# docker inspect gcr.io/spiffe-io/oidc-discovery-provider:1.0.2 | grep -i arch
        "Architecture": "amd64",
# docker pull hashicorp/vault:1.9.2
1.9.2: Pulling from hashicorp/vault
no matching manifest for linux/ppc64le in the manifest list entries

svghadi avatar Jun 16 '22 13:06 svghadi

Hey @manojbison thanks for opening this issue.

The list of architectures we release can be found here in the release Pipeline:

https://github.com/tektoncd/chains/blob/a4fce9f22bef64775d5afb48cb123f633f0337ee/release/release-pipeline.yaml#L45-L46

We do provide images for linux/amd64 and linux/arm64.

Adding additional platforms linux/s390x, linux/ppc64le on line 46 should work. If anyone is able to add in the additional architectures & confirm locally that they compile then I'm happy to approve a PR!

we are able to build and run controller image successfully on s390x platform. This PR : https://github.com/tektoncd/chains/pull/463 to Multi-arch support.

manojkumar238 avatar Jun 17 '22 11:06 manojkumar238

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 avatar Sep 15 '22 12:09 tekton-robot

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 avatar Oct 15 '22 12:10 tekton-robot

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 avatar Nov 14 '22 12:11 tekton-robot

@tekton-robot: Closing this issue.

In response to this:

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.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

tekton-robot avatar Nov 14 '22 12:11 tekton-robot