-
Notifications
You must be signed in to change notification settings - Fork 710
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use Argo workflow engine for CI/CD or releases #205
Comments
Seems interesting and with a "native" design. |
Personally, I think Argo (or any other mature k8s-native approach) would be a better fit than Airflow. It allows for better inter-operationality and a unified resource control and scheduling. Would love to give it a try soon. |
We're using Argo for google/kubeflow and its much better. I think we want to migrate ASAP because the friction around Airflow is impeding developer velocity. |
There is also https://github.com/argoproj/argo-ci in early stages. |
I haven't looked at argo-ci. Any idea what it provides relative to prow? |
I suppose that is an early stage CI Argo flavour (SCM integration, Artifact, Deployment etc..) |
Replacing Airflow with Argo will make it much easier for contributors to access the logs. I think we can make the Argo UI publicly available and I think its more friendly then the Airflow Ui. I think to dump Airflow we need to do the following Add a flag to py/release.py so we can control the label that will be used for the docker image and in the helm chart path.
At this point you can write a ksonnet component to run our E2E tests. You can look at what I did for Kubeflow. @ScorpioCPH Any help with this would be great. I think removing the friction around our E2E tests will allow us to iterate more quickly. |
@jlewi Thanks for the background information! Will take a look tomorrow :) |
@jlewi, Argo CI is envisioned as travis-ci like system, powered by argo workflows. I've briefly looked at prow and seems like argo ci is very similar. Roadmap is available here: https://github.com/argoproj/argo-ci/blob/master/ROADMAP.md . Requests and comments are very welcome. |
We've been using Prow for a quite a while and I think its been around longer then Argo. I think there's overlap between Prow and Argo CI. Its not obvious to me what benefit Argo CI would provide over the corresponding features in Prow. The current plan is to use Prow to trigger Argo workflows; this is what we do for google/kubeflow and it works pretty well. We'd like to do the same for tensorflow/k8s. |
I've started working on this. |
* Argo should be much easier to manage and use for our E2E tests Related to #205 * In particular it should provide better isolation between test runs and easier access to logs * Create an Argo workflow to replace our Airflow workflow for running E2E tests * Create a ksonnet application to manage our E2E workflows. * Need to modify some of the steps in the workflow to activate the service account. * Update the Docker image used by our prow jobs to trigger the workflow rather than use Airflow. * Delete all the files related to E2E pipelines using Airflow.
#358 is submitted. Tests are using Argo now. I deleted the cluster GKE cluster prow in project mlkube-testing which was used to run Airflow. |
https://applatix.com/open-source/argo/
This looks like it could be much lighter weight than Airflow. Looks like it would be simpler to allow testing of changes to the workflow in presubmits.
Might be interesting to experiment with Argo for our release pipeline and see if we like it more than Airflow.
The text was updated successfully, but these errors were encountered: