Skip to content
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

Integration tests for Katib experiments #103

Closed
i-chvets opened this issue Jul 27, 2023 · 6 comments · Fixed by #105 or #127
Closed

Integration tests for Katib experiments #103

i-chvets opened this issue Jul 27, 2023 · 6 comments · Fixed by #105 or #127
Labels
enhancement New feature or request

Comments

@i-chvets
Copy link
Contributor

Description

Integration tests for Katib experiments need to be created to ensure all Katib images are functioning as expected.
Integration tests should be a part of bundle test which already has a test for creating a single experiment.
These integration tests should cover the following Katib container images:

  • katib/cmd/earlystopping/medianstop/v1beta1
  • katib/cmd/metricscollector/v1beta1/tfevent-metricscollector
  • katib/cmd/metricscollector/v1beta1/file-metricscollector
  • katib/cmd/suggestion/hyperopt/v1beta1
  • katib/cmd/suggestion/hyperband/v1beta1
  • katib/cmd/suggestion/pbt/v1beta1
  • katib/cmd/suggestion/goptuna/v1beta1
  • katib/cmd/suggestion/skopt/v1beta1
  • katib/cmd/suggestion/optuna/v1beta1
  • katib/cmd/suggestion/nas/darts/v1beta1
  • katib/cmd/suggestion/nas/enas/v1beta1

Design

TO-DO: Add any related design points here.

Testing

@kimwnasptd
Copy link
Contributor

kimwnasptd commented Jul 28, 2023

@i-chvets after taking an extensive look on the suggestion images of Katib I see the following pattern:

  • All of the images are just a server
  • The server doesn't serve any static files, it's just an executable
  • They don't require any K8s context
  • Don't require to communicate with any other service (i.e. KFP server needs to talk to db)

So I would suggest that it would be OK for these ROCKs to just have regular smoke tests, that only verify that the servers can start. WDYT?

@i-chvets
Copy link
Contributor Author

Sound goods good to me, as long as we have a way to verify that server starts for each image, i.e. hit metrics or some other endpoint.
What about these?
katib/cmd/earlystopping/medianstop/v1beta1
katib/cmd/metricscollector/v1beta1/tfevent-metricscollector
katib/cmd/metricscollector/v1beta1/file-metricscollector

@kimwnasptd
Copy link
Contributor

For katib/cmd/earlystopping/medianstop/v1beta1 we can reuse a yaml they already have in https://github.com/kubeflow/katib/blob/master/examples/v1beta1/early-stopping/median-stop.yaml#L19

And for katib/cmd/metricscollector/v1beta1/file-metricscollector we can use the yaml they have in https://github.com/kubeflow/katib/blob/master/examples/v1beta1/metrics-collector/file-metrics-collector.yaml

For the last one katib/cmd/metricscollector/v1beta1/tfevent-metricscollector upstream is testing with Training Operator. Since this could complicate a lot our CI we can postpone this one for now

@NohaIhab
Copy link
Contributor

NohaIhab commented Aug 7, 2023

Based on katib-config ConfigMap, the following examples utilize these images:

Image upstream example
katib/cmd/earlystopping/medianstop/v1beta1 median-stop.yaml
katib/cmd/metricscollector/v1beta1/tfevent-metricscollector tfjob-mnist-with-summaries.yaml
katib/cmd/metricscollector/v1beta1/file-metricscollector file-metrics-collector.yaml
katib/cmd/suggestion/hyperopt/v1beta1 random.yaml
katib/cmd/suggestion/hyperband/v1beta1 hyperband.yaml
katib/cmd/suggestion/pbt/v1beta1 simple-pbt.yaml
katib/cmd/suggestion/goptuna/v1beta1 cma-es.yaml
katib/cmd/suggestion/skopt/v1beta1 bayesian-optimization.yaml
katib/cmd/suggestion/optuna/v1beta1 grid.yaml
katib/cmd/suggestion/nas/darts/v1beta1 darts-cpu.yaml
katib/cmd/suggestion/nas/enas/v1beta1 enas-cpu.yaml

@i-chvets
Copy link
Contributor Author

PR is created #105

@NohaIhab
Copy link
Contributor

re-opening to add a test for the katib/cmd/metricscollector/v1beta1/tfevent-metricscollector image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
3 participants