This fixes the following issue in ci-benchmark-scheduler-perf-master:
malformed import path " ": invalid char ' '
FAIL [setup failed]
Setting the non-empty string with just a space was broken, the right way to
disable the race detector is with an empty KUBE_RACE variable. This worked
before when test-integration.sh unconditionally overwrote the KUBE_RACE
variable and stopped working when 6cb1488 started to keep whatever was
set by the caller.
This then caused an empty string to be passed as additional parameter to "go
test".
this is handled centrally by make test which is called by make test-integration which this script calls
only make test's implementation actually calls gotestsum, and it also handles installing if needed
- stop setting ARTIFACTS from WORKSPACE, CI handles setting ARTIFACTS and WORKSPACE isn't used anymore (bazel?)
- stop cd-ing GOPATH, CI sets the working dir already and local users won't necessarily have GOPATH
- sop clobbering PATH with hardcoded assumptions, source install-etcd.sh instead (which updates PATH)
- don't redundantly set KUBE_COVER to the default
- pass logging env inline so the command can be pasted locally
- set -x so the command is visible
- add TODO about needing a wrapper script just to call install-etcd
This enables testing command and integration tests separately in CI jobs. The
goal is to reduce pull-kubernetes-integration to testing really just the Go
test/integration tests and to add a pull-kubernetes-cmd job for command tests.
hack/jenkins/test-dockerized.sh does the same as before because some jobs will
probably continue to use it.
Some scripts and tools still relied on the deprecated flags, the ones
which are about to be removed.
This is intentionally not a complete removal of all those flags in the entire
repo. This would lead to much more code churn also in places where commands
still accept the flags because they use klog directly.
This commit undoes the GODEBUG=x509sha1=1 workaround.
The problem should be fixed in Go 1.18.1 now.
Signed-off-by: Madhav Jivrajani <madhav.jiv@gmail.com>
The new benchmark requires the benchtime to be set to a very small number
so each test is run at most once. Some machines can have too powerfull resources
and decrease running time of some tests under the default 1s. Also, the old suite
expects the benchtime to be set to 1s. Allow to override the benchtime for the
new test suite will allow to run the same script from both suites.
make test-integration ran within jenkins job does not collect json file with generated metrics
from kube-scheduler. The artifacts dir needs to be set explicitly through new -data-items-dir
test flag. The metrics are required to provide more comphrehensive information about
kube-scheduler internals.
Right now, hack/jenkins/dockerized.sh is solely utilized by scheduler perf jenkins job.
There's an effort to extend the scheduler performance suite. In order to run
individual subsuites separately, we need a way to select a subset of benchmark tests
to be run. Golang exposes -bench option which allows to specify a prefix
of benchmark tests to be run.
* Added a extractor to extract raw logs from json format and then pipe
it into benchmark parser.
* Also added -alsologtostderr=false -logtostderr=false to reduce noisy logs.