eclipse-archived / codewind

The official repository of the Eclipse Codewind project
https://codewind.dev
Eclipse Public License 2.0
114 stars 44 forks source link

Investigate Prow for Codewind PR test coverage on Kube #345

Open johnmcollier opened 5 years ago

johnmcollier commented 5 years ago

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:

johnmcollier commented 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

Optional 1) Set up a Google Cloud Storage (GCS) account for bucket storage to store the logs from the prow jobs

deboer-tim commented 5 years ago

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.

johnmcollier commented 5 years ago

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.

johnmcollier commented 5 years ago

Adding back the techtopics label to discuss options from a security perspective this Thurs

@cccanderson FYI