plumbing icon indicating copy to clipboard operation
plumbing copied to clipboard

Run Tekton tests and builds for other architectures

Open barthy1 opened this issue 4 years ago • 7 comments

At this moment tests and releases for Tekton parts (pipeline, triggers, dashboard, operator) are available only for amd64. Other architectures (s390x, ppc64le, arm64) usually require to run the tests and builds on the native hardware. Suggestion is to add to Tekton CI/CD system the ways to run the tests and builds on corresponding native hardware. My team (from IBM Z) can help with hardware, setup and run for s390x. Similar approach as we suggest will work for ppc64le (IBM Power). First step can be to setup nightly builds for s390x on dogfooding server. The steps:

  • setup access to Z server
  • install k8s on Z server
  • do the s390x builds of corresponding images and generate nightly build
  • install built Tekton version on s390x k8s cluster
  • run e2e builds

Next steps can be to have multi-arch images released; run s390x tests after each PR with Prow.

Repositories to cover:

  • https://github.com/tektoncd/triggers
  • https://github.com/tektoncd/pipeline
  • https://github.com/tektoncd/dashboard
  • https://github.com/tektoncd/operator
  • https://github.com/tektoncd/cli

Known problems:

  • No Z hardware available for community Solution: large Z server will be provided (by IBM) via tunneling approach similar to sshd-bastion for OCP (OCP itself is not used)
  • ko tool has no multi-arch support Solution: use ko version from the multi-arch PR
  • kaniko/executor is not available for Z Solution: for tests temporarily skip usage of kaniko/executor, for build process rewrite the code to avoid using it for specific architectures. Long term approach to get kaniko/executor on Z
  • gcloud tools is not available for Z Solution: use gcloud tools on main x86 server only. Z hardware will be used just for builds and tests.

Other discussions about multi-arch:

  • https://github.com/tektoncd/pipeline/issues/856

barthy1 avatar Jul 28 '20 05:07 barthy1

Hey @barthy1 ! This sounds really promising - any chance you'd be able to attend a future productivity working group meeting (https://github.com/tektoncd/community/blob/master/working-groups.md#productivity) to discuss further? and/or we can schedule a meeting in a timezone that works for you instead.

but I'm sure the TL;DR is that we'd be really excited to add tests on more architectures :D i think in addition to the hardware itself, we'd want to work out some details on when to run the tests (e.g. maybe nightly instead of on every PR), how to surface failures (the build cop currently looks at the dashboard, we might need another view as we add more periodic jobs), and how to deal with failures

bobcatfish avatar Jul 28 '20 14:07 bobcatfish

Hi @bobcatfish ! I'd be glad to visit next productivity working group meeting, however this Thursday I have already plans for 1pm EST :( Any chance for another time? (sorry)

Yep, sure, we need to discuss all these things. Goal from our side to provide evidence for community that Tekton can be running on Z( and Power), and how we can to do that - here we need experts input :) I have already some steps in mind (and even working on local POC), but I really need your opinion and "best path" here.

barthy1 avatar Jul 28 '20 16:07 barthy1

Hey @barthy1 ! No problem at all - we discussed this briefly at today's WG meeting (there should be a recording up soon) and I think @afrittoli will be reaching out to you soon. Also I've created a survey (https://forms.gle/3A7LG69Lct48fHKfA) to gauge interest in having an alternate time for the working group.

bobcatfish avatar Jul 30 '20 17:07 bobcatfish

Related issue in pipeline: https://github.com/tektoncd/pipeline/issues/856

bobcatfish avatar Aug 06 '20 17:08 bobcatfish

Plumbing images build issue - https://github.com/tektoncd/plumbing/issues/592

barthy1 avatar Sep 28 '20 12:09 barthy1

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 Dec 27 '20 13:12 tekton-robot

/remove-lifecycle stale /lifecycle frozen

vdemeester avatar Jan 04 '21 17:01 vdemeester