cluster-api-provider-azure icon indicating copy to clipboard operation
cluster-api-provider-azure copied to clipboard

Use Helm to install Calico CNI in e2e tests instead of ClusterResourceSets

Open CecileRobertMichon opened this issue 3 years ago • 42 comments

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

CecileRobertMichon avatar Jul 22 '22 01:07 CecileRobertMichon

[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.

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

k8s-ci-robot avatar Jul 22 '22 01:07 k8s-ci-robot

oooh 👀👀👀👀👀👀👀

jackfrancis avatar Jul 22 '22 14:07 jackfrancis

/retest

CecileRobertMichon avatar Jul 27 '22 18:07 CecileRobertMichon

/test pull-cluster-api-provider-azure-e2e-optional

CecileRobertMichon avatar Jul 29 '22 20:07 CecileRobertMichon

/test pull-cluster-api-provider-azure-e2e-optional

CecileRobertMichon avatar Jul 29 '22 22:07 CecileRobertMichon

/test pull-cluster-api-provider-azure-e2e-optional

CecileRobertMichon avatar Jul 29 '22 23:07 CecileRobertMichon

/test pull-cluster-api-provider-azure-e2e-optional

CecileRobertMichon avatar Aug 05 '22 00:08 CecileRobertMichon

/test pull-cluster-api-provider-azure-e2e-optional

CecileRobertMichon avatar Aug 05 '22 16:08 CecileRobertMichon

/test pull-cluster-api-provider-azure-e2e-optional

CecileRobertMichon avatar Aug 05 '22 23:08 CecileRobertMichon

/test pull-cluster-api-provider-azure-e2e-optional /test pull-cluster-api-provider-azure-capi-e2e

CecileRobertMichon avatar Aug 05 '22 23:08 CecileRobertMichon

/test pull-cluster-api-provider-azure-e2e-optional /test pull-cluster-api-provider-azure-capi-e2e

CecileRobertMichon avatar Aug 08 '22 23:08 CecileRobertMichon

/test pull-cluster-api-provider-azure-e2e-optional

CecileRobertMichon avatar Aug 10 '22 19:08 CecileRobertMichon

/test pull-cluster-api-provider-azure-e2e-optional /test pull-cluster-api-provider-azure-capi-e2e

CecileRobertMichon avatar Aug 10 '22 19:08 CecileRobertMichon

/test ls

CecileRobertMichon avatar Aug 10 '22 19:08 CecileRobertMichon

@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-apidiff
  • pull-cluster-api-provider-azure-build
  • pull-cluster-api-provider-azure-ci-entrypoint
  • pull-cluster-api-provider-azure-coverage
  • pull-cluster-api-provider-azure-e2e
  • pull-cluster-api-provider-azure-e2e-exp
  • pull-cluster-api-provider-azure-test
  • pull-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.

k8s-ci-robot avatar Aug 10 '22 19:08 k8s-ci-robot

/test pull-cluster-api-provider-azure-e2e-workload-upgrade /test pull-cluster-api-provider-azure-conformance

CecileRobertMichon avatar Aug 10 '22 19:08 CecileRobertMichon

/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

CecileRobertMichon avatar Aug 10 '22 19:08 CecileRobertMichon

/test pull-cluster-api-provider-azure-apiversion-upgrade

CecileRobertMichon avatar Aug 10 '22 19:08 CecileRobertMichon

/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

CecileRobertMichon avatar Aug 11 '22 00:08 CecileRobertMichon

/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

CecileRobertMichon avatar Aug 11 '22 01:08 CecileRobertMichon

/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

CecileRobertMichon avatar Aug 11 '22 20:08 CecileRobertMichon

/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

CecileRobertMichon avatar Aug 11 '22 21:08 CecileRobertMichon

/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

CecileRobertMichon avatar Aug 11 '22 23:08 CecileRobertMichon

/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

CecileRobertMichon avatar Aug 12 '22 17:08 CecileRobertMichon

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

CecileRobertMichon avatar Aug 15 '22 16:08 CecileRobertMichon

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.

CecileRobertMichon avatar Aug 17 '22 01:08 CecileRobertMichon

/test pull-cluster-api-provider-azure-capi-e2e

CecileRobertMichon avatar Aug 26 '22 19:08 CecileRobertMichon

/retest

CecileRobertMichon avatar Aug 26 '22 21:08 CecileRobertMichon

/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

CecileRobertMichon avatar Aug 26 '22 23:08 CecileRobertMichon

/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

CecileRobertMichon avatar Aug 26 '22 23:08 CecileRobertMichon

/retest

CecileRobertMichon avatar Aug 29 '22 17:08 CecileRobertMichon