e2e-framework icon indicating copy to clipboard operation
e2e-framework copied to clipboard

provider: added k3d provider and node lifecycle handlers

Open harshanarayana opened this issue 1 year ago • 11 comments

What type of PR is this?

/kind feature

What this PR does / why we need it:

This PR enables a new E2EClusterProvider for k3d based infra.

This change includes the following changes and features.
  1. Added a new Interface type E2EClusterProviderWithImageLoaderAndNodeLifecycle which can be used to setup providers that extend the cluster lifecycle function around the nodes.
  2. Enabled a k3d based provider with support for Node lifecycle management.
  3. Existing Image loader related function and interfaces were augmented with args ...string to be able to provide additional arguments in case if the image load handlers need some of the additional config.

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

I have also extended the E2EClusterProviderWithImageLoader 's Image load related methods to take an additional arg ...string value to account for additional options that one can pass while performing image load operation alone.

This comes in handy with k3d where it provides a few different mode of loading images and cleanup workflows.

This change also doesn't break any existing API contract extended by the envfuncs.

Does this PR introduce a user-facing change?

enabled a new `E2eClusterProvider` for `k3d` that can be used as a new cluster provider for running e2e tests.

Additional documentation e.g., Usage docs, etc.:

NA

harshanarayana avatar Jul 13 '24 14:07 harshanarayana

/cc @cpanato

harshanarayana avatar Jul 13 '24 14:07 harshanarayana

go install of k3d is failing due to an issue similar to https://github.com/k3d-io/k3d/issues/1324

harshanarayana avatar Jul 14 '24 16:07 harshanarayana

/hold

Holding this under the k3d install issue is resolved.

harshanarayana avatar Jul 14 '24 16:07 harshanarayana

/unhold

harshanarayana avatar Jul 16 '24 05:07 harshanarayana

/hold

harshanarayana avatar Jul 16 '24 11:07 harshanarayana

Holding this until @cpanato @vladimirvivien @ShwethaKumbla also takes look

harshanarayana avatar Jul 16 '24 11:07 harshanarayana

/retest

harshanarayana avatar Jul 16 '24 12:07 harshanarayana

@vladimirvivien PTAL. I has pushed the requested changes.

harshanarayana avatar Jul 22 '24 05:07 harshanarayana

@vladimirvivien PTAL when you can. Addressed the required changes in the message for wait for control plane.

harshanarayana avatar Aug 15 '24 13:08 harshanarayana

The Kubernetes project currently lacks enough contributors to adequately respond to all PRs.

This bot triages PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the PR is closed

You can:

  • Mark this PR as fresh with /remove-lifecycle stale
  • Close this PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Nov 29 '24 13:11 k8s-triage-robot

/remove-lifecycle stale

harshanarayana avatar Dec 01 '24 00:12 harshanarayana

@harshanarayana is this still on your radar for 2025?

vladimirvivien avatar Dec 19 '24 15:12 vladimirvivien

I will get this done before we cut the christmas release..

harshanarayana avatar Dec 20 '24 12:12 harshanarayana

@vladimirvivien @cpanato PTAL. I have reorganised all the providers under third_party as suggested in the comments, and added backward compatibility type alias to make sure we do not break existing behaviours for the users who are already consuming this in some form.

harshanarayana avatar Jan 08 '25 14:01 harshanarayana

/test pull-e2e-framework-test

harshanarayana avatar Jan 08 '25 15:01 harshanarayana

/test pull-e2e-framework-test

harshanarayana avatar Jan 09 '25 13:01 harshanarayana

/test pull-e2e-framework-verify

harshanarayana avatar Jan 10 '25 11:01 harshanarayana

/test pull-e2e-framework-verify

harshanarayana avatar Jan 15 '25 06:01 harshanarayana

@harshanarayana rebase after we merge https://github.com/kubernetes-sigs/e2e-framework/pull/480

cpanato avatar Jan 15 '25 09:01 cpanato

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cpanato, harshanarayana

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:
  • ~~OWNERS~~ [cpanato,harshanarayana]

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 Jan 15 '25 10:01 k8s-ci-robot

/unhold

cpanato avatar Jan 15 '25 11:01 cpanato