-
Notifications
You must be signed in to change notification settings - Fork 89
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
minikube testing #6
Comments
Some thoughts on possible approaches.
This should map pretty well to our existing E2E tests. Our existing E2E tests are Argo workflows that just run series of scripts. So the only change we'd need to make is to execute those scripts via ssh on the remote VM rather than in the pod itself. |
@jlewi can you link to the Argo workflows pls? I might be interested in taking care of this … |
Thanks. Every repo should have a prow_config.yaml at the root. If you look at the contents you can find links to our Argo workflows. This is our main workflow |
@mhausenblas Are you still thinking of taking this on? |
I did some initial experimentation this morning.
|
Thank you @jlewi and yes, I plan to work on it next week (on travel now) but if you want to have it earlier, feel free to start the work and I chime in when I'm back home? |
Sounds great. Let me see how far I can get this week. |
* Parameterize the E2E workflow with a parameter that controls the platform we are running on. * Related to kubeflow/testing#6
* When using minikube we don't want call configure_kubectl which calls gcloud container clusters get-credentials. * Instead we just need to call load_kube_config to load the kube config file. * Related to kubeflow/testing#6
* Support testing on minikube. * When using minikube we don't want call configure_kubectl which calls gcloud container clusters get-credentials. * Instead we just need to call load_kube_config to load the kube config file. * Related to kubeflow/testing#6 * Add a TODO. * Fix lint issue.
* Parameterize the E2E workflow with a parameter that controls the platform we are running on. * Related to kubeflow/testing#6 * Add environment variable to configure KUBECONFIG. * Split test_deploy into separate functions to deploy the kubeflow APP and get GKE credentials * This allows us to handle credentials and the kubeconfig file consistently for GKE and minikube; on subsequent steps we just set KUBECONFIG to point to the config. * Refactor the workflow to be a DAG. * Update the TFServing workflow to use the new version of test_deploy which uses a separate step to get credentials and store them in .kube_config. * The name for the test_runner step needs to be unique so that we will create different test cases in gubernator for the different platforms. * Parameterize the E2E workflow by a platform parameter that controls whether we use minikube or gke. * Always store kube config on an NFS share. * Fix lint and add a style .yapf file to autoformat files copied for tf-operator.
* Parameterize the E2E workflow with a parameter that controls the platform we are running on. * Related to kubeflow/testing#6 * Add environment variable to configure KUBECONFIG. * Split test_deploy into separate functions to deploy the kubeflow APP and get GKE credentials * This allows us to handle credentials and the kubeconfig file consistently for GKE and minikube; on subsequent steps we just set KUBECONFIG to point to the config. * Refactor the workflow to be a DAG. * Update the TFServing workflow to use the new version of test_deploy which uses a separate step to get credentials and store them in .kube_config. * The name for the test_runner step needs to be unique so that we will create different test cases in gubernator for the different platforms. * Parameterize the E2E workflow by a platform parameter that controls whether we use minikube or gke. * Always store kube config on an NFS share. * Fix lint and add a style .yapf file to autoformat files copied for tf-operator.
* Parameterize the E2E workflow with a parameter that controls the platform we are running on. * Related to kubeflow/testing#6 * Add environment variable to configure KUBECONFIG. * Split test_deploy into separate functions to deploy the kubeflow APP and get GKE credentials * This allows us to handle credentials and the kubeconfig file consistently for GKE and minikube; on subsequent steps we just set KUBECONFIG to point to the config. * Refactor the workflow to be a DAG. * Update the TFServing workflow to use the new version of test_deploy which uses a separate step to get credentials and store them in .kube_config. * The name for the test_runner step needs to be unique so that we will create different test cases in gubernator for the different platforms. * Parameterize the E2E workflow by a platform parameter that controls whether we use minikube or gke. * Always store kube config on an NFS share. * Fix lint and add a style .yapf file to autoformat files copied for tf-operator.
Note that you can also use nested virtualization and the kvm2 driver on gce for a more traditional minikube testing setup. |
* Changes to support running E2E tests on minikube. * Parameterize the E2E workflow with a parameter that controls the platform we are running on. * Related to kubeflow/testing#6 * Add environment variable to configure KUBECONFIG. * Split test_deploy into separate functions to deploy the kubeflow APP and get GKE credentials * This allows us to handle credentials and the kubeconfig file consistently for GKE and minikube; on subsequent steps we just set KUBECONFIG to point to the config. * Refactor the workflow to be a DAG. * Update the TFServing workflow to use the new version of test_deploy which uses a separate step to get credentials and store them in .kube_config. * The name for the test_runner step needs to be unique so that we will create different test cases in gubernator for the different platforms. * Parameterize the E2E workflow by a platform parameter that controls whether we use minikube or gke. * Always store kube config on an NFS share. * Fix lint and add a style .yapf file to autoformat files copied for tf-operator. * Fix merge issue. * Autoformat jsonnet file. * * Address reviewer comments. * Fix bad merge in workflow.libsonnet.
Basic testing is done. |
* Changes to support running E2E tests on minikube. * Parameterize the E2E workflow with a parameter that controls the platform we are running on. * Related to kubeflow/testing#6 * Add environment variable to configure KUBECONFIG. * Split test_deploy into separate functions to deploy the kubeflow APP and get GKE credentials * This allows us to handle credentials and the kubeconfig file consistently for GKE and minikube; on subsequent steps we just set KUBECONFIG to point to the config. * Refactor the workflow to be a DAG. * Update the TFServing workflow to use the new version of test_deploy which uses a separate step to get credentials and store them in .kube_config. * The name for the test_runner step needs to be unique so that we will create different test cases in gubernator for the different platforms. * Parameterize the E2E workflow by a platform parameter that controls whether we use minikube or gke. * Always store kube config on an NFS share. * Fix lint and add a style .yapf file to autoformat files copied for tf-operator. * Fix merge issue. * Autoformat jsonnet file. * * Address reviewer comments. * Fix bad merge in workflow.libsonnet.
* Support testing on minikube. * When using minikube we don't want call configure_kubectl which calls gcloud container clusters get-credentials. * Instead we just need to call load_kube_config to load the kube config file. * Related to kubeflow/testing#6 * Add a TODO. * Fix lint issue.
* Changes to support running E2E tests on minikube. * Parameterize the E2E workflow with a parameter that controls the platform we are running on. * Related to kubeflow/testing#6 * Add environment variable to configure KUBECONFIG. * Split test_deploy into separate functions to deploy the kubeflow APP and get GKE credentials * This allows us to handle credentials and the kubeconfig file consistently for GKE and minikube; on subsequent steps we just set KUBECONFIG to point to the config. * Refactor the workflow to be a DAG. * Update the TFServing workflow to use the new version of test_deploy which uses a separate step to get credentials and store them in .kube_config. * The name for the test_runner step needs to be unique so that we will create different test cases in gubernator for the different platforms. * Parameterize the E2E workflow by a platform parameter that controls whether we use minikube or gke. * Always store kube config on an NFS share. * Fix lint and add a style .yapf file to autoformat files copied for tf-operator. * Fix merge issue. * Autoformat jsonnet file. * * Address reviewer comments. * Fix bad merge in workflow.libsonnet.
We should run E2E tests on minikube.
kube_test is supposed to help with this.
The text was updated successfully, but these errors were encountered: