Comments (4)
@helayoty I opened a quick POC of the changes to enable Helm support for the e2e-framework. Please let me know if you are already working on it and I will be happy to close up my PR if you have started working on this already.
from e2e-framework.
I made the support helper a little more generic and to do now just install but a simple way to wrap all commands for helm.
proc := helm.NewManager().Run(
helm.WithMode("install"),
helm.WithName("memcached"),
helm.WithReleaseName("bitnami/memcached"),
helm.WithNamespace(namespace),
helm.WithArgs("--kubeconfig", config.KubeconfigFile()),
)
We can also write a simple wrapper to help few generic command with much simpler way to access as well. This way, one can do most of the workflow centric to helm in their test using the same framework helpers. Is this inline with what you thought about ?
cc @vladimirvivien What do you think about this model ?
from e2e-framework.
This is interesting.
My one suggestion is that helm shoul be kept in a package that clearly indicates it's not part of the core functionality. Possibly introduce package third-party/helm
.
I will add review comments on the PR directly.
from e2e-framework.
@vladimirvivien I kept the helm.go
under support/helm
like we did with support/kind
but moving that to third_party/helm
might be a good idea too. Makes the integration with other tools easier in the future. And if we do, should we define a standard interface through which we can introduce these new tool integration or is that too much of an expectation to start with and can be done at a later date ?
type Option func(*Opts)
type Opts struct {
name string
args []string
argMap map[string]interface{}
}
func WithName(name string) Option {
return func(opts *Opts) {
opts.name = name
}
}
func WithArgs(args ...string) Option {
return func(opts *Opts) {
opts.args = append(opts.args, args...)
}
}
func WithKWArg(key string, val interface{}) Option {
return func(opts *Opts) {
opts.argMap[key] = val
}
}
type Integration interface {
Run(opts ...Option) (proc *exec.Proc, err error)
}
from e2e-framework.
Related Issues (20)
- After panic recovery and performing of finish steps tests are not marked as failed HOT 2
- A few E2E Conformance test cases have failed on the OpenShift cluster. HOT 3
- `BeforeEachFeature` and `AfterEachFeature` are not skipped even though feature labels indicate so HOT 1
- Setup/Teardown run as subtest using provided name HOT 10
- Inspect kwok tests
- Expose `ko` features as a third-party Envfunc HOT 7
- Failed to create cluster with kind podman HOT 2
- Calling `Config`'s `Client()` in tests running parallel yields a data race HOT 6
- Create Kind Cluster without test Function HOT 6
- Allow adding custom labels and annotations when creating namespace HOT 3
- How to use BeforeEachTest HOT 11
- Ambiguous call to `cfg.Client()` in `CreateClusterWithConfig` HOT 4
- ,
- Do not share config across tests HOT 2
- Why does `-parallel` and `-fail-fast` can't be used together? HOT 4
- Running `t.FailNow()` in Assess does not fail the following assess HOT 4
- decoder.ApplyWithManifestDir fails to decode yaml with comments in it HOT 5
- Importing "sigs.k8s.io/e2e-framework/klient/conf" causes: ` k8s.io/api/flowcontrol/v1alpha1: module k8s.io/api@latest found (v0.29.3), but does not contain package k8s.io/api/flowcontrol/v1alpha1` HOT 7
- Better error output from Kwok provider
- Embedded Local Registry HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from e2e-framework.