Open johnmcollier opened 5 years ago
Investigated this further this week and got Prow up on IKS.
Adding back the tech-topics label to discuss the following: 1) IKS cluster to run the tests
codewind-test
or codewind-bot
, or something more creative)public_repo
and repo:status
scopes for the Codewind repositories that we want prow to run on
Optional 1) Set up a Google Cloud Storage (GCS) account for bucket storage to store the logs from the prow jobs
Discussed on tech topics, no objections. Need to pull Carl in to confirm things can be locked down securely. Will estimate GCS requirements and confirm we can fund it.
So it looks like Prow supports running tests on a separate target cluster (separate from where Prow itself is running). However, it's only supported on Google Kubernetes (GKE) right now, and not on IKS or ROKS.
Adding back the techtopics label to discuss options from a security perspective this Thurs
@cccanderson FYI
Background
As part of our long-term plan to get test coverage on Kubernetes for our Codewind PRs (and knowing we can’t run Kube on the Eclipse VPS) we should consider looking at Prow to supplement Jenkins and to get Kube test coverage.
Prow is a CI/CD solution designed for Kubernetes and is used by a number of Kube projects like: Tekton, OpenShift, Istio, Jenkins-X, and Kubernetes itself. From the Prow repo, some notable features that it has are:
For Codewind, we could configure a job to set up a Codewind on Che install and run all of our existing functional tests. We might also have another job that runs our end-to-end tests. We could configure these to be triggered automatically, or manually by a committer (with a comment like
/test all
to the PR). If we wanted, we could extend it even further and look at using prow for merge automation (have Prow automatically merge PRs that meet certain criteria). Prow jobs also just run as pods/containers on the cluster (or the remote cluster), meaning there's much less to worry about with regards to cluster setup for the tests.Prow can even be run its jobs against remote clusters, allowing us to have test coverage against multiple distributions of Kubernetes, without having to define multiple jobs,.
Todo:
We should investigate Prow's feasibility for Codewind to see how well it could work for us and what all would need to be done to get it running: