cluster-api-provider-azure
cluster-api-provider-azure copied to clipboard
Use Helm to install Calico CNI in e2e tests instead of ClusterResourceSets
What type of PR is this?
/kind cleanup
What this PR does / why we need it:
This PR replaces the existing ClusterResourceSet-dependent solution for automating calico CNI delivery onto test clusters (and reference cluster templates) with a helm solution. For the private cluster scenario, we're keeping the CRS-dependent solution as a practical way to install the CNI from the management cluster (we have no direct access to the apiserver to helm install gestures and we don't yet have a E2E solution to indirectly access the apiserver in such scenarios).
This work is a continuation of @jackfrancis' work in #2334.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes https://github.com/kubernetes-sigs/cluster-api-provider-azure/issues/2063
Contributes to https://github.com/kubernetes-sigs/cluster-api-provider-azure/issues/2179
Special notes for your reviewer:
Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.
TODOs:
- [ ] squashed commits
- [ ] includes documentation
- [ ] adds unit tests
Release note:
Use Helm to install Calico CNI
[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from cecilerobertmichon by writing /assign @cecilerobertmichon in a comment. For more information see:The Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
oooh 👀👀👀👀👀👀👀
/retest
/test pull-cluster-api-provider-azure-e2e-optional
/test pull-cluster-api-provider-azure-e2e-optional
/test pull-cluster-api-provider-azure-e2e-optional
/test pull-cluster-api-provider-azure-e2e-optional
/test pull-cluster-api-provider-azure-e2e-optional
/test pull-cluster-api-provider-azure-e2e-optional
/test pull-cluster-api-provider-azure-e2e-optional /test pull-cluster-api-provider-azure-capi-e2e
/test pull-cluster-api-provider-azure-e2e-optional /test pull-cluster-api-provider-azure-capi-e2e
/test pull-cluster-api-provider-azure-e2e-optional
/test pull-cluster-api-provider-azure-e2e-optional /test pull-cluster-api-provider-azure-capi-e2e
/test ls
@CecileRobertMichon: The specified target(s) for /test were not found.
The following commands are available to trigger required jobs:
/test pull-cluster-api-provider-azure-build/test pull-cluster-api-provider-azure-ci-entrypoint/test pull-cluster-api-provider-azure-e2e/test pull-cluster-api-provider-azure-test/test pull-cluster-api-provider-azure-verify
The following commands are available to trigger optional jobs:
/test pull-cluster-api-provider-azure-apidiff/test pull-cluster-api-provider-azure-apiversion-upgrade/test pull-cluster-api-provider-azure-capi-e2e/test pull-cluster-api-provider-azure-conformance/test pull-cluster-api-provider-azure-conformance-with-ci-artifacts/test pull-cluster-api-provider-azure-coverage/test pull-cluster-api-provider-azure-e2e-csi-migration/test pull-cluster-api-provider-azure-e2e-exp/test pull-cluster-api-provider-azure-e2e-optional/test pull-cluster-api-provider-azure-e2e-workload-upgrade/test pull-cluster-api-provider-azure-windows-containerd-upstream-with-ci-artifacts/test pull-cluster-api-provider-azure-windows-containerd-upstream-with-ci-artifacts-serial-slow
Use /test all to run the following jobs that were automatically triggered:
pull-cluster-api-provider-azure-apidiffpull-cluster-api-provider-azure-buildpull-cluster-api-provider-azure-ci-entrypointpull-cluster-api-provider-azure-coveragepull-cluster-api-provider-azure-e2epull-cluster-api-provider-azure-e2e-exppull-cluster-api-provider-azure-testpull-cluster-api-provider-azure-verify
In response to this:
/test ls
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
/test pull-cluster-api-provider-azure-e2e-workload-upgrade /test pull-cluster-api-provider-azure-conformance
/test pull-cluster-api-provider-azure-e2e-optional /test pull-cluster-api-provider-azure-capi-e2e /test pull-cluster-api-provider-azure-e2e-workload-upgrade /test pull-cluster-api-provider-azure-conformance
/test pull-cluster-api-provider-azure-apiversion-upgrade
/test pull-cluster-api-provider-azure-e2e-optional /test pull-cluster-api-provider-azure-capi-e2e /test pull-cluster-api-provider-azure-e2e-workload-upgrade /test pull-cluster-api-provider-azure-conformance /test pull-cluster-api-provider-azure-apiversion-upgrade
/test pull-cluster-api-provider-azure-e2e-optional /test pull-cluster-api-provider-azure-capi-e2e /test pull-cluster-api-provider-azure-e2e-workload-upgrade /test pull-cluster-api-provider-azure-conformance /test pull-cluster-api-provider-azure-apiversion-upgrade
/test pull-cluster-api-provider-azure-e2e-optional /test pull-cluster-api-provider-azure-capi-e2e /test pull-cluster-api-provider-azure-e2e-workload-upgrade /test pull-cluster-api-provider-azure-conformance /test pull-cluster-api-provider-azure-apiversion-upgrade
/test pull-cluster-api-provider-azure-e2e-optional /test pull-cluster-api-provider-azure-capi-e2e /test pull-cluster-api-provider-azure-e2e-workload-upgrade /test pull-cluster-api-provider-azure-conformance
/test pull-cluster-api-provider-azure-e2e-optional /test pull-cluster-api-provider-azure-capi-e2e /test pull-cluster-api-provider-azure-e2e-workload-upgrade /test pull-cluster-api-provider-azure-conformance
/test pull-cluster-api-provider-azure-e2e-optional /test pull-cluster-api-provider-azure-capi-e2e /test pull-cluster-api-provider-azure-e2e-workload-upgrade /test pull-cluster-api-provider-azure-conformance
This is overall ready for review, added some docs and cleaned up commits.
The only thing blocking at this point is the self-hosted test which is failing, I still need to figure out why. In the meantime we can start reviewing and I'll keep this on hold so it doesn't merge.
/hold
/assign @jackfrancis @Jont828 @sonasingh46
The self-hosted test is failing due to https://github.com/projectcalico/calico/issues/3145 which we worked around in the manifest by adding featureDetectOverride: ChecksumOffloadBroken=true to Felix configuration in manifest. It's not as easy to workaround with Helm chart as it doesn't allow direct configuration of the FelixConfiguration CRD.
Trying to understand why the bug still happens in the first place since the root cause kernel bug has been fixed (https://github.com/torvalds/linux/commit/ea64d8d6c675c0bb712689b13810301de9d8f77a) since April 2020.
/test pull-cluster-api-provider-azure-capi-e2e
/retest
/test pull-cluster-api-provider-azure-e2e-optional /test pull-cluster-api-provider-azure-capi-e2e /test pull-cluster-api-provider-azure-e2e-workload-upgrade /test pull-cluster-api-provider-azure-conformance
/test pull-cluster-api-provider-azure-e2e-optional /test pull-cluster-api-provider-azure-capi-e2e /test pull-cluster-api-provider-azure-e2e-workload-upgrade /test pull-cluster-api-provider-azure-conformance
/retest