Skip to content
This repository has been archived by the owner on Nov 1, 2022. It is now read-only.

build: do not create kind clusters in parallel #290

Merged
merged 3 commits into from
Feb 12, 2020

Conversation

stefansedich
Copy link
Contributor

@stefansedich stefansedich commented Feb 12, 2020

Noticing the test flakes and saw the discussion in kubernetes-sigs/kind#1288 changing to 2 parallel jobs to see if that has any effect on stability of the e2e suite in CI, @hiddeco any objection to trying this out?

I also factored the e2e tests out into a CircleCI command which IMO cleans things up a little but required an update to the 2.1 build (which should not break anything else).

@stefansedich stefansedich force-pushed the e2e-job-limit branch 3 times, most recently from 2425aaa to ad7f013 Compare February 12, 2020 07:22
@stefansedich
Copy link
Contributor Author

Looks like 6 When rollback.maxRetries is set to 1, upgrade is only retried once is giving me grief but looking at previous builds looks like that test has been known to do that.

@hiddeco
Copy link
Member

hiddeco commented Feb 12, 2020

@stefansedich looks like changing this to 2 clusters has made the flakiness of the test persistent, while this is great to debug what goes wrong, it doesn't help to reduce the flakiness of the cluster bootstrapping.

@hiddeco hiddeco added the build About the build or test scaffolding label Feb 12, 2020
@hiddeco
Copy link
Member

hiddeco commented Feb 12, 2020

For the (public) record: persistent failure happens due to Tiller not being properly cleaned up in the teardown, as helm reset --force deletes the instance but keeps the releases.

Two options:

  1. Remove all releases before nuking Tiller
  2. Install Tiller into the same namespace as the operator is in, this would require a bit more wiring but would give the advantage of testing the Tiller configuration flags while also making the teardown itself easier as the namespace can just be nuked.

@stefansedich
Copy link
Contributor Author

Have gone for option #2, pushed and 🤞 for a solid CI experience.

kubectl delete clusterrolebinding tiller-cluster-rule
kubectl --namespace kube-system delete sa tiller
kubectl --namespace "$E2E_NAMESPACE" delete sa tiller
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this isn't really needed as we nuke the namespace but it does not hurt.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This function is not aware of how it is utilized and should simply undo what its install companion creates, so this is perfect.

kubectl delete clusterrolebinding tiller-cluster-rule
kubectl --namespace kube-system delete sa tiller
kubectl --namespace "$E2E_NAMESPACE" delete sa tiller
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This function is not aware of how it is utilized and should simply undo what its install companion creates, so this is perfect.

fi
}

function uninstall_tiller() {
helm2 reset --force
helm2 reset --tiller-namespace "$E2E_NAMESPACE" --force
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add a note here about the --force flag, and the fact that this only resets the Tiller instance and not the release storage.

@stefansedich stefansedich force-pushed the e2e-job-limit branch 2 times, most recently from bea42f8 to 2e8685c Compare February 12, 2020 18:07
@hiddeco hiddeco merged commit 1daace2 into fluxcd:master Feb 12, 2020
@hiddeco hiddeco changed the title build: limit e2e parallel jobs to 2 build: do not create kind clusters in parallel Feb 12, 2020
@stefansedich stefansedich deleted the e2e-job-limit branch February 12, 2020 19:39
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
build About the build or test scaffolding
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants