Comments (8)
Thanks Ben, I figured out in parallel exactly your point about the e2e test option vs the cluster config. Here's my stab at the right PR: kubernetes/kubernetes#111481.
Does that look like the right way to do things to you?
from kubetest2.
Just a point of clarity for others reading this discussion: ENABLE_STORAGE_GCE_PD_DRIVER
is only an option for the e2e tests, not cluster configuration.
For the e2e tests, they shouldn't be consuming many environment variables, we usually implement options in the e2e tests as flags to that binary upstream in Kubernetes, and then kubetest2 does allow passing through additional ginkgo flags. The upstream e2e framework has a lot of flags, and few environment variables.
I'm not sure why we used an environment variable for this e2e test option, but we can special case handling it in the ginkgo e2e tester or else revisit that decision upstream in Kubernetes.
For cluster environment based configuration ...
The "configure e2e clusters with inscrutably layered environment variables shell-expansion-interpolated-into-config" pattern we used previously with kubetest etc. is going to bite us badly when we have to move off cluster-up.sh to some other tool at some point. Possibly as GCE is removed from tree, so I'm not sure we want to go back on that now.
cluster-up.sh is barely maintained (I am one of the very few volunteer approvers), otherwise pretty much only begrudgingly patched on the go when PRing Kubernetes because it is used in presubmit today in-tree with in-tree GCE so you have to fix it before your PR merges. if it gets removed along with the in tree provider (I know people are pushing for it), those scripts are a nightmare and ~totally unstaffed. I would guess we will move to kops or cluster-API and those cluster-up.sh environment variables are going to be very tedious to interpret / track down / understand and port to some other form of config, whereas the kubetest2-gce flags we have today should mostly be a lot more easily ported.
Thank you for working on fixing this!
from kubetest2.
That looks right to me! thanks 👍
from kubetest2.
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.
This bot triages issues and 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 issue is closed
You can:
- Mark this issue or PR as fresh with
/remove-lifecycle stale
- Mark this issue or PR as rotten with
/lifecycle rotten
- Close this issue or PR with
/close
- Offer to help out with Issue Triage
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale
from kubetest2.
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.
This bot triages issues and 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 issue is closed
You can:
- Mark this issue or PR as fresh with
/remove-lifecycle rotten
- Close this issue or PR with
/close
- Offer to help out with Issue Triage
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle rotten
from kubetest2.
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.
This bot triages issues 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 issue is closed
You can:
- Reopen this issue with
/reopen
- Mark this issue as fresh with
/remove-lifecycle rotten
- Offer to help out with Issue Triage
Please send feedback to sig-contributor-experience at kubernetes/community.
/close not-planned
from kubetest2.
@k8s-triage-robot: Closing this issue, marking it as "Not Planned".
In response to this:
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.
This bot triages issues 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 issue is closedYou can:
- Reopen this issue with
/reopen
- Mark this issue as fresh with
/remove-lifecycle rotten
- Offer to help out with Issue Triage
Please send feedback to sig-contributor-experience at kubernetes/community.
/close not-planned
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.
from kubetest2.
This was fixed by k/k/111481.
from kubetest2.
Related Issues (20)
- Kubetest2 doesn not down on ginkgo failures HOT 1
- Implement minikube deployer HOT 7
- Implement AKS deployer HOT 5
- kubetest2-ginko tester overwrites local e2e.test HOT 6
- Ginkgo v2 flag changes break testing older k8s versions HOT 3
- Kubetest2 should support ginkgov2 for 1.25+ and ginkgov1 for 1.24- HOT 1
- Remove dependence on boskos and test-infra HOT 6
- Unsafe concurrent use of bytes.Buffer HOT 2
- Unable to go install kubetest2 with go 1.17
- Document kubetest2 deployers
- Stop building `k/cloud-provider-gcp` if all you are doing is building k8s clusters HOT 4
- Is gsutil package required to run kubetest2? HOT 2
- Stuck at the beginning HOT 5
- Clarify purpose of end-to-end tests HOT 4
- --flake-attempts flag need not be removed from ginkgo tester HOT 3
- How to narrow down target test cases HOT 2
- Writing custom tests HOT 2
- Junit report format is not correct HOT 3
- Problem with passing the provider to the tests HOT 7
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 kubetest2.