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

Improve speed of execution for integration tests #1086

Merged
merged 42 commits into from
Nov 14, 2019

Conversation

axsaucedo
Copy link
Contributor

@axsaucedo axsaucedo commented Nov 10, 2019

Fixes #1032 and #1084

This PR includes:

  • Namespaced tests (which could allow for running outside KIND in main cluster if we want in future)
  • Support for parallel run of tests (and also defaults to single execution)
  • Extra KIND cluster config to allocate memory to kubeadm and system pods
  • Refactor tests to remove replicated methods
  • Added retries to tests
  • Only build engine/wrapper/operator if files were modified
  • Speed of execution gone down to 20 mins (ran with pytest with 6 workers in larger cluster)

It seems that there are still some failures, which are caused from the master node crashing. This results in the Seldon (and cert) pods crashing, resulting in failure of kubectl apply for new models (due to the mutating/validating webhook not being reachable).

An attempt to fix this was to add the requirements for min memory/CPU for system components in the KIND config file, but it still seems to be an issue. Having larger instances would probably reduce the failures due to this.

This is something that should be investigated further, but seems to be a bug related to KIND. Here is an example of the pods which fail.

kube-system            kube-controller-manager-kind-control-plane   0/1     CrashLoopBackOff    7          38m
cert-manager           cert-manager-cainjector-5cd66c9c45-2wldz     0/1     CrashLoopBackOff    7          37m
seldon-system          seldon-controller-manager-86c88444c8-k6s4l   0/1     CrashLoopBackOff    7          36m

@axsaucedo
Copy link
Contributor Author

/test integration

@seldondev seldondev added size/XL and removed size/XS labels Nov 10, 2019
@axsaucedo axsaucedo changed the title WIP: Improve speed of execution for integration tests Improve speed of execution for integration tests Nov 11, 2019
@axsaucedo
Copy link
Contributor Author

/test integration

@axsaucedo
Copy link
Contributor Author

/test integration

@adriangonz
Copy link
Contributor

Niiice work! Getting it down to 20 mins it's awesome!

@axsaucedo
Copy link
Contributor Author

/test integration

@axsaucedo
Copy link
Contributor Author

/test integration

@axsaucedo
Copy link
Contributor Author

/test integration

@axsaucedo
Copy link
Contributor Author

/test integration

@axsaucedo
Copy link
Contributor Author

/test integration

1 similar comment
@axsaucedo
Copy link
Contributor Author

/test integration

@axsaucedo
Copy link
Contributor Author

/test integration

1 similar comment
@axsaucedo
Copy link
Contributor Author

/test integration

@axsaucedo
Copy link
Contributor Author

/test integration

1 similar comment
@axsaucedo
Copy link
Contributor Author

/test integration

@axsaucedo
Copy link
Contributor Author

/test integration

@axsaucedo
Copy link
Contributor Author

/test integration

@axsaucedo
Copy link
Contributor Author

/test integration

1 similar comment
@axsaucedo
Copy link
Contributor Author

/test integration

@axsaucedo
Copy link
Contributor Author

/cc @cliveseldon
/cc @adriangonz

Integration tests now all pass whenever KIND doesn't break 🚀

@ukclivecox
Copy link
Contributor

/approve

@seldondev
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cliveseldon

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improve speed of execution for integration tests
4 participants