fix(deps): update module sigs.k8s.io/e2e-framework to v0.3.0 - autoclosed #13
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v0.2.0
->v0.3.0
Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
kubernetes-sigs/e2e-framework (sigs.k8s.io/e2e-framework)
v0.3.0
Compare Source
This is the third release of the 2023 after nearly four months of active contribution from the community. This release packs a great deal of interesting features, fixes, and documentation updates. Let's highlight some of them below.
Thread Safe Test Context
When Parallel test features where enabled and integrated into the framework, it was enabled with room for running into race conditions. In this release we have included changes that helps us mitigate these issues when the tests are being run in parallel. This has been achieved by doing the following mechanism.
BeforeEachTest
handlerAfterEachTest
handlerAs part of the said changes to mitigate the race condition, we also extended the
Environment.Test
andEnvironment.TestInParallel
function to return acontext.Context
back after the execution of the tests have been completed. This also allows for better debugging of test context to analyze failures better with the added advantage that this is not breaking any of the existing contracts. However, if you are using agolint
infra and haveerrcheck
linter enabled, you will have to make a few changes to your code to account for the newly returned value from theEnvironment.Test
andEnvironment.TestInParallel
functions.Limitations
Related Issues
Related Pull Requests
Continubutors
@phisco @maruina
FluxCD Integration
e2e-framework
has had helm workflow integrated under the third_party support package for a while and now, we are addingFluxCD
to that arsenal. With this integration, now you can integrate your e2e tests to run against a repository using fluxcd constructs. The supported features include the following.GitRepository
resourceKustomization
resourceRelated Pull Requests
Contributors
@matrus2
kwok
Integration as a Cluster ProviderBy default,
e2e-framework
has two ways to run tests. One could bring up a new cluster usingkind
and run thee2e
tests against them using the framework or integrate against a real cluster and run tests against them. In this release,kwok
is being added to that list of supported cluster providers.Since
kwok
provided a simulatedkubelet
instead of running a realkubelet
, this can helm create a cluster with large number of nodes with very quick turn around time, reducing the turn around time to run the e2e tests. With this support, end users of the framework can now standup a simplekwok
based cluster and run their tests against it. This also supports discovering thekowkctl
binary from non standard location in order to simplify the integration.Releated Issues
Related Pull Requests
Contributors
@reetasingh
Support for Custom Binary Paths
With this release,
e2e-framework
provides a mechanism where by, end users can provide a custom path from where the binaries such askwokctl
,helm
orkind
can be discovered. This helps consumers of the framework who wants to keep their binaries in non standard path outside of the$PATH
and consume them for the integration needs.Related Issues
Related Pull Requests
Contributors
@harshanarayana
Cluster Provider Interface for easy inclusion of additional Cluster providers
Until now,
e2e-framework
had a series of custom built hand crafted helper functions defined underenvfuncs
that enabled end users to perform operation such as instanciating a new cluster, destoring a cluster, collecting logs etc. However, with the interest in adding additional cluster providesr such askwok
,k3d
and possibly many others in the future, it became critical that we define a set of common interfaces that can be implemented by the provider so thatwe can avoid having duplication in the code provided under
envfuncs
package. What started as a discussion during the review ofkwok
provider integration turned into a full blown feature to enable better integration of providers in thefuture.
As part of this work,
e2e-framework
not provides an interface namedE2EClusterProvider
which can be implemented by any cluster provider that we want to integrate into the framework and the existingenvfuncs
can be used as is for the new provider without having to add new code to it.Providers can also implement an additonal optional interface
E2EClusterProviderWithImageLoader
which extends theE2EClusterProvider
and adds two more additional supported feature around being able to load a container image into the cluster. Either as individual images or as a archieve. (kind
currenrly supports this workflow)Deprecation
As part of this implementation, the following
envfuncs
have been deprecated and should be replaced with the respective alternative in the future.GetKindClusterFromContext
can be replaced withGetClusterFromContext
CreateKindCluster
can be replaced withCreateCluster
CreateKindClusterWithConfig
can be replaced withCreateClusterWithConfig
DestroyKindCluster
can be replaced withDestroyCluster
ExportKindClusterLogs
can be replaced withExportClusterLogs
Following section has a few example of what this replacement would look like. (Code snippets taken from examples)
Deprecated
kind
based Cluster setupSuggested
kind
based Cluster SetupRelated Issues
Related Pull Requests
Contributors
@harshanarayana
Subresource Update support via the
klient
'sresources
packageklient
'sresources
now supports a few new helper method that are aimed towards updating the sub resources.func (r *Resources) UpdateSubresource(ctx context.Context, obj k8s.Object, subresource string, opts ...UpdateOption) error {}
func (r *Resources) UpdateStatus(ctx context.Context, obj k8s.Object, opts ...UpdateOption) error {}
func (r *Resources) PatchSubresource(ctx context.Context, obj k8s.Object, subresource string, patch k8s.Patch, opts ...PatchOption) error {}
func (r *Resources) PatchStatus(ctx context.Context, objs k8s.Object, patch k8s.Patch, opts ...PatchOption) error {}
These new helper functions make it very easy to interact with subresources as part of your
e2e-framework
based testsRelated Pull Requests
Contributors
@wzshiming
Other notable changes
v1.27.x
by @harshanarayana in https://github.com/kubernetes-sigs/e2e-framework/pull/244--labels
where the selectors have the samekey
(i.e--labels="feature=foo,feature=bar"
) by @embano1 in https://github.com/kubernetes-sigs/e2e-framework/pull/248DeploymentAvailable
condition check helper by @ryankwilliams in https://github.com/kubernetes-sigs/e2e-framework/pull/251namespaces
passed to the test viacontext
by @maruina in https://github.com/kubernetes-sigs/e2e-framework/pull/253kind
Cluster provided by @mmanciop in https://github.com/kubernetes-sigs/e2e-framework/pull/256helm
command workflows by @bradbeam in https://github.com/kubernetes-sigs/e2e-framework/pull/262examples
along with actual code by @harshanarayana in https://github.com/kubernetes-sigs/e2e-framework/pull/281e2e-framework
adopters by @vladimirvivien in https://github.com/kubernetes-sigs/e2e-framework/pull/285New Contributors
Special Thanks
A special thanks to @cpanato, @ShwethaKumbla and @vladimirvivien for their incredible and continued support by providing valuable suggestions during the change reviews and their continued work in making sure the dependencies are upto date with the help of dependabot.
And special thanks to @harshanarayana for his invaluable help and contributions to the project and specially with preparing and getting this release out.
Full Changelog: kubernetes-sigs/e2e-framework@v0.2.0...v0.3.0
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.