Comments (10)
I believe we'll need to pass any extra args we take in via flags to the pod as an array of args. The E2E keys only work for a small subset of variables (https://github.com/kubernetes/kubernetes/blob/02aaad0de94708b00e95ba6e809ac07d34eff61c/test/conformance/image/go-runner/const.go#L35-L42) and don't have a direct one for one mapping to all possible conformance flags listed here https://github.com/kubernetes/kubernetes/blob/9b5e2dc54d2315402a462e75c168bfc4ce28ecf3/test/e2e/framework/test_context.go#L349-L466
from hydrophone.
I don't think it's reasonable or maintainable to keep a consistent mapping for all conformance image options. Likely the better solution would be to impliment a catch all flag that passes extra flags to the conformance image args. I don't have a good example for how to do that off the bat.
from hydrophone.
In the short term and to at minimum satisfy @soltysh concerns for testing openshift we could add specifically --allow-not-ready-nodes
to be passed as an argument.
from hydrophone.
/assign
from hydrophone.
I am interested in this . @Hii-Arpit are you looking at catch all flag option
or specifically --allow-not-ready-nodes
option? I can work on the other one
from hydrophone.
@rjsadow I thought about a solution for catch all flag
option
- Implement a CLI flag which takes multiple key value pair as input
rootCmd.Flags().VarP(&keyValue, "keyvalue", "k", "Multiple key/value pairs (e.g., key1=value1,key2=value2)")
. Since we now use viper for config management we can also pass this in a config file to not make it look messy on command line - for each of the defined key value pair pass it as input in the env variable list for the container by adding
Name = "E2E_<key>" and Value = <value>
https://github.com/kubernetes-sigs/hydrophone/blob/main/pkg/service/init.go#L149
The caveat is since its a catch all flag, we will not be able to to do validation when setting up the env variable for the container. the basic validation check we still need to do is not to allow duplicate keys when passing the key as env var
what do you think?
from hydrophone.
I will try with passing the arguments to the container. Also, looks like there is option to pass extra args through E2E keys using E2E_EXTRA_ARGS https://github.com/kubernetes/kubernetes/blob/02aaad0de94708b00e95ba6e809ac07d34eff61c/test/conformance/image/go-runner/const.go#L50
from hydrophone.
Good spot, if we can use E2E_EXTRA_ARGS then I agree, let's go down that path. We'll need to make sure we build some e2e tests for this.
from hydrophone.
Hey @Hii-Arpit, I'm going to reassign this issue to @reetasingh , her PR looks like it's going to cover all cases for adding extra arguments for users and we'd like to get this issue resolved to unblock some users from testing hydrophone. Feel free to reach out in slack or check out other issues that you'd like to help with!
/unassign @Hii-Arpit
/assign @reetasingh
from hydrophone.
Hey @rjsadow , Thanks for informing me.
from hydrophone.
Related Issues (20)
- run-e2e script CHECK_DURATION: unbound variable HOT 7
- Simplify Testing setup with Makefile HOT 4
- `#hydrophone` should be added to the README HOT 9
- Remove `cfg` and `config` from `PrintListImages()` HOT 3
- Fix different timezones in logs HOT 13
- Show some progress info for the tests HOT 3
- Redundant error check in client.PrintE2ELogs() function HOT 4
- Add a brew repo HOT 12
- hydrophone --cleanup is broken HOT 3
- Broken links in README HOT 5
- multiple typo and grammatical mistake in air-gapped.md HOT 2
- Improve logging for resource creation HOT 6
- `--parallel` flag not working?
- Use --verbosity to toggle between spinner and verbose Ginkgo output
- Ability to run Windows Operational Readiness tests from hydrophone HOT 2
- Confusing configuration file HOT 5
- Create an ADOPTERS.md to track who is using hydrophone HOT 1
- Refactor Conformance Testing Process HOT 13
- Improve `.gitignore`
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 hydrophone.