This moves licenses of vendored code from one monolith file into a tree
of individual files for easier reviews. This fixes both the bash and
bazel paths.
- add ./hack/tools/go.mod, this makes ./hack/tools a distinct module
- hack/tools/tools.go undescore imports bazel related tools, over time we
can add others.
- hack/*.sh scripts will cd to hack/tools and go install tools from there
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
pull-kubernetes-e2e-gce-rbe are still failing with the following:
```
INFO: Waited 10 seconds for server process (pid=72) to terminate.
FATAL: Attempted to kill stale server process (pid=72) using SIGKILL, but it did not die in a timely fashion.
make: *** [Makefile:626: bazel-release] Error 36
make: Leaving directory '/home/prow/go/src/k8s.io/kubernetes'
```
we have added a pkill just after the line for bazel shutdown, so let's
continue to give the pkill a chance to run.
The upgrade of dependencies in #78187 introduced a regression in
detecting if SELinux is enabled or not. As the library requires
the golang build tag `selinux` to be enabled after that version update.
Fixes bug report #83679
There are two ways of building kubemark: 1) via Dockerfile and 2) via
bazel.
In CI/CD tests we use the 1) way and use debian:jessie as the base
image.
But if you build kubemark via bazel it will use the discouraged busybox
base image.
This PR fixes that by using debian:jessie everywehre and pinning exact
sha version to make the kubemark image hermetic.
Use GNU Make 4.2.1(such as fedora-29) to build k8s in a long directory,
it failed with `execvp: /bin/bash: Argument list too long'
[snip]
$ cd /buildarea1/hjia/wrlinux-1019/I_/suspect_/that_/if_/you_/create_/your_/project_/in_/a_/very_/deep_/directory/build_master-wr_qemux86-64_faw_2019090509/build/tmp-glibc/work/core2-64-wrs-linux/kubernetes/v1.16.0-alpha+git7054e3ead7e1a00ca6ac3ec47ea355b76061a35a-r0/kubernetes-v1.16.0-alpha+git7054e3ead7e1a00ca6ac3ec47ea355b76061a35a/src/import
$ make cross KUBE_BUILD_PLATFORMS=linux/amd64 GOLDFLAGS=""
|+++ [0804 16:38:32] Building go targets for linux/amd64:
| ./vendor/k8s.io/code-generator/cmd/deepcopy-gen
|make[1]: execvp: /bin/bash: Argument list too long
|make[1]: *** [Makefile.generated_files:184: pkg/kubectl/cmd/testing/zz_generated.deepcopy.go] Error 127
|make: *** [Makefile:557: generated_files] Error 2
...
[snip]
From make manual [1]
$?
The names of all the prerequisites that are newer than the target, with spaces between them.
While two `$?' was passed to bash in a line, it caused above failure,
drop a duplicated one could workaround the issue.
[1] https://www.gnu.org/software/make/manual/html_node/Automatic-Variables.html
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Preemptible instances are cheaper, and the small chanse of a vm being
killed doesn't matter when running during development. This is a
tradeoff the user should be able to decide on.
More info here:
https://cloud.google.com/compute/docs/instances/preemptible
The default setting is false, so unless setting
PREEMPTIBLE_INSTANCES=true, everything will behave as before.
Signed-off-by: Odin Ugedal <odin@ugedal.com>