Commit Graph

829 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
aa084d4919
Merge pull request #92491 from BenTheElder/fuzz-only-test
compile out gofuzz from prod binaries
2020-08-27 17:57:36 -07:00
Odin Ugedal
1524794231
Fix building with GOFLAGS=-v
With go1.15 running go version with "-v" fails, and we should support
it.
2020-08-15 17:44:07 +02:00
Jordan Liggitt
bdcffdced3 [go115] Require go1.15 in build helper scripts 2020-08-13 13:46:52 -04:00
Jordan Liggitt
4d1b34a582 Speed up update-swagger-docs
Only build genswaggertypedocs once per run instead of per-package

Speeds up the script from ~1:10 to ~0:18
2020-08-02 10:56:46 -04:00
Jordan Liggitt
d8b0f6fc50 Build code-generator tools directly 2020-08-02 10:56:46 -04:00
Jordan Liggitt
a8ae7aefd0 Lower default log verbosity 2020-08-02 01:22:59 -04:00
Kubernetes Prow Robot
5a4aa2026c
Merge pull request #92679 from RainbowMango/pr_etcd_debug_parameter
remove etcd deprecated parameters in scripts
2020-07-26 19:52:17 -07:00
Stephen Augustus
05ffc95347 [go1.15] Remove client support for darwin/386
Removed in go1.15 (GH/golang/go/issues/37610).

Signed-off-by: Stephen Augustus <saugustus@vmware.com>
2020-07-25 16:45:01 -04:00
Kubernetes Prow Robot
f9ad7db9a6
Merge pull request #92349 from jingyih/update_etcd_server_3p4p9
Update default etcd server to 3.4.9
2020-07-17 07:53:01 -07:00
Kubernetes Prow Robot
fe43b104ba
Merge pull request #91745 from Bisnode/gh-87369
Presence of bearer token should cancel exec action
2020-07-09 09:07:00 -07:00
jingyih
e9bf1c3c90 Update default etcd server to 3.4.9 2020-07-08 14:16:40 +08:00
Anders Eknert
b423216a3b Presence of bearer token should cancel exec action
If a bearer token is present in a request, the exec credential plugin should accept that as the chosen method of authentication. Judging by an [earlier comment in exec.go](c18bc7e9f7/staging/src/k8s.io/client-go/plugin/pkg/client/auth/exec/exec.go (L217)), this was already intended. This would however not work since UpdateTransportConfig would set the GetCert callback which would then get called by the transport, triggering the exec plugin action even with a token present in the request. See linked issue for further details.

See #87369 for further details.

Signed-off-by: Anders Eknert <anders.eknert@bisnode.com>
2020-07-02 12:12:32 +02:00
Chelsey Chen
75612c1746 Promote new Event API to v1 2020-07-01 10:50:28 -04:00
RainbowMango
23613a90aa remove etcd deprecated parameters 2020-07-01 11:48:27 +08:00
Benjamin Elder
42acb51e2c disable goffuzz in binaries 2020-06-30 20:30:59 -07:00
Jordan Liggitt
c82fe149a6 go1.14: update minimum required go version 2020-06-23 16:40:22 -04:00
Kubernetes Prow Robot
219c856ce2
Merge pull request #91555 from daixiang0/scr
*.sh: cleanup all white noise
2020-06-20 05:26:53 -07:00
bjrara
c8ac95321d Enhance kube-aggregator in standalone mode 2020-06-09 13:29:27 +08:00
Jordan Liggitt
e0f5cca410 Copy CSR v1beta1 to v1
* Remove prerelease tags
* Update copyright, package, imports to v1
* Remove signerName, usages, and condition status defaulting
2020-06-05 00:47:24 -04:00
Xiang Dai
e09bc312cb *.sh: cleanup all white noise
Signed-off-by: Xiang Dai <long0dai@foxmail.com>
2020-05-29 09:56:00 +08:00
David Eads
e857adbdfd remove-api 2020-05-27 16:58:05 -04:00
Tim Hockin
8d7adb7d94 Fix umask better
While the umask was previously set for builds (and in fact `docker run`
sets it to 0022 by default), the release pipeline `cp`'s files (with
`-a`) which respect the user's umask, and is outside of the build path.

This sets the umask in a common function called by all build tools,
which Stephen agreed was the simplest and most complete fix.  The
`verify-prereqs` function is already poorly named for what it does, and
this only makes it epsilon worse.
2020-05-11 13:23:54 -07:00
Tim Hockin
dff449ee9e Set umask 0022 when building
Some binaries now run as non-root (kube-scheduler).  When umask is 0027,
for example, the container image we build has the binary 0750, which is
not executable by the non-root UID.
2020-05-05 16:28:43 -07:00
Cecile Robert-Michon
7d6ba67da0
Update find-binary-for-platform to work with non-GNU versions of find 2020-05-01 16:19:00 -07:00
jingyih
394df132bd Update default etcd server to 3.4.7 2020-04-13 14:37:56 -07:00
Kubernetes Prow Robot
295b53f7b4
Merge pull request #89214 from jingyih/update_etcd_server_3p4p4
Update default etcd server to 3.4.4 in k8s v1.19
2020-03-26 01:14:24 -07:00
jingyih
f9e0e4c6b4 Update default etcd server to 3.4.4 2020-03-18 00:27:46 -07:00
Davanum Srinivas
d70d04f92b
zero out the build id for reproducible builds
We have been having issues with making builds reproducible, especially
with the `.note.go.buildid` ELF section. One tip from a golang issue was
to set `-ldflags=-buildid=` which seems to work well. You can confirm
that the buildid is set to empty by inspecting the binaries with the go
command example `go tool buildid _output/local/go/bin/kubectl`

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-03-15 20:43:19 -04:00
Kubernetes Prow Robot
1799706bdd
Merge pull request #88399 from chendave/arm_etcd
Fix etcd issues on ARM
2020-02-27 00:15:33 -08:00
Dave Chen
2543598628 Fix etcd issues on ARM
- On unstable arch like ARM, etcd needs the "ETCD_UNSUPPORTED_ARCH" to be set
  `# etcd --version
   etcd on unsupported platform without ETCD_UNSUPPORTED_ARCH=arm64 set`

- `tail -n +1 | head -n 1` is unnecessary, `head -n 1` is enough.
2020-02-27 12:55:53 +08:00
Claudiu Belu
6d3a18b0be test images: Image Promoter sed fix
The image used by the Image Promoter (gcr.io/k8s-testimages/gcb-docker-gcloud:v20190906-745fed4)
is based on busybox, and thus, the sed binary is actually busybox. image-util.sh calls
kube::util::ensure-gnu-sed several times, which ensures that a GNU sed binary exists
(it checks by greping GNU in its --help output). Obviously, it won't match the busybox sed
binary. But the sed usage in image-util.sh is fairly simple, and the busybox sed is sufficient.

This was previously fixed in: #87188, but it was reverted by #87653 as it was failing
on Mac (sed does not exist). This commit fixes that issue as well.
2020-02-18 19:58:35 -08:00
Kubernetes Prow Robot
db1ee8add7
Merge pull request #87653 from JieJhih/shell/util
fix command variable exited with status 1
2020-02-07 05:56:50 -08:00
Davanum Srinivas
dfd8e4e467
Enable selinux tags in make targets
In 24d105995d, a fix was made in bazel
based builds to ensure that we add `selinux` tag when we build all
binaries especially the `kubelet`. We need to do the same for in our
hack scripts so things like `make release` will work properly as well.

Some scripts use `GOFLAGS=-tags=providerless` for example, So we should
support the tags to be specified in GOFLAGS as well. We parse out the
tags from there and ensure selinux is added to the list of tags we used
for building the binaries. Note that we add our own `-tags` with the
full set of tags and since we specify our parameter at the end, ours
full list takes precendence
2020-01-31 15:48:44 -05:00
JieJhih Jhang
8bd9c994ca fix command variable exited with status 1 2020-01-30 12:52:09 +08:00
Claudiu Belu
4c51eb9063 test images: Image Promoter fixes
Prior to the Image Centralization part 4 (https://github.com/kubernetes/kubernetes/pull/81170),
a PR merged that enables the Image Promoter to run on the k/k test images.

The Image Promoter currently only builds the Conformance-related images, but the
Image Centralization part 4 centralized some of those images into agnhost, so they
need to be removed from the conformance_images list.

Additionally, https://github.com/kubernetes/kubernetes/pull/81226 proposes mounttest-user
image to be removed, and RunAsUser to be used in tests instead.

The image used by the Image Promoter (gcr.io/k8s-testimages/gcb-docker-gcloud:v20190906-745fed4)
is based on busybox, and thus, the sed binary is actually busybox. image-util.sh calls
kube::util::ensure-gnu-sed several times, which ensures that a GNU sed binary exists
(it checks by greping GNU in its --help output). Obviously, it won't match the busybox sed
binary. But the sed usage in image-util.sh is fairly simple, and the busybox sed is sufficient.

Bumps image versions for: jessie-dnsutils, nonewprivs, resource-consumer, sample-apiserver. These
images are included in the conformance_images that are being built by the Image Promoter, so
we're bumping them just to make sure we're not breaking anything and cause all the CIs to fall.
We're going to bump the image versions used in tests in a subsequent PR. The image version was not
bumped for: agnhost, kitten, nautilus, as they were already bumped by the Image Centralization part 4
PR.
2020-01-06 09:08:51 -08:00
Howard Zhang
09d4d65b1b fix etcd version check error on ARM
"etcd -version" command output an additional line on ARM platform:
"running etcd on unsupported architecture "arm64" since
ETCD_UNSUPPORTED_ARCH is set"
Currently etcd version filtering code can not get correct version
number.

Signed-off-by: Howard Zhang <howard.zhang@arm.com>
2019-11-25 20:02:37 +08:00
Rob Scott
a7e589a8c6
Promoting EndpointSlices to beta 2019-11-13 14:20:19 -08:00
Kubernetes Prow Robot
e445d4d779
Merge pull request #84871 from liggitt/cmd-test
Make test-cmd effective again
2019-11-07 13:28:21 -08:00
Kubernetes Prow Robot
7a1eaa112e
Merge pull request #84696 from dims/BenTheElder-byebyehacke2e
Remove hack/e2e.go
2019-11-07 09:05:04 -08:00
Jordan Liggitt
1678f42970 Fix run_kubectl_sort_by_tests 2019-11-07 02:26:45 -05:00
Jordan Liggitt
59dfac587f Fix assert methods 2019-11-07 02:26:45 -05:00
Jordan Liggitt
e3ff39ffa0 Update build to go1.13.4 2019-11-06 17:39:05 -05:00
Jordan Liggitt
8618c09369 opt out of module mode for builds 2019-11-06 17:39:05 -05:00
Kubernetes Prow Robot
7b6369c803
Merge pull request #84249 from odinuge/bump-shellcheck
Bump shellcheck to v0.7.0
2019-11-04 06:19:40 -08:00
Benjamin Elder
83c56a0373
remove hack/e2e.go 2019-11-03 19:36:59 -05:00
Kubernetes Prow Robot
510fb38f27
Merge pull request #83671 from yue9944882/flow-control-api-model
Apiserver flowcontrol api models
2019-11-01 22:49:40 -07:00
Jingyi Hu
ccf4caf30f Update etcd.sh to use v3 endpoint 2019-10-29 13:10:29 -07:00
yue9944882
7c28a4b70e non-generated api models misc
rule list

rule

rule 2
2019-10-29 12:26:12 +08:00
Jingyi Hu
706cde51c5 Update default etcd server to 3.4.3 2019-10-28 18:29:37 -07:00
Odin Ugedal
cce1f32ea5
Fix shellcheck failures SC2034 2019-10-23 22:47:46 +02:00
Kubernetes Prow Robot
c634276498
Merge pull request #83497 from pivotal-k8s/allow-custom-tags
Allow users to use custom tags
2019-10-20 22:17:37 -07:00
Kubernetes Prow Robot
cb3b715de2
Merge pull request #83804 from jpbetz/etcd-3_3_17_server
Upgrade to etcd server 3.3.17
2019-10-15 12:50:09 -07:00
Joe Betz
c92bd5e7b5 Upgrade to etcd server 3.3.17 2019-10-13 17:17:15 -07:00
Kubernetes Prow Robot
457fa6b40d
Merge pull request #82413 from zhlhahaha/kube-proxy-error
local-up-cluster kube-proxy terminated error
2019-10-12 07:48:37 -07:00
Jonathan Tomer
d34f49b913 Up minimum go version to 1.12.4
https://github.com/kubernetes/kubernetes/pull/77222 removed a workaround for a
Go standard library bug (https://github.com/golang/go/issues/31125) that was
not fixed until that version, so we need to require it.
2019-10-07 15:55:33 -07:00
Hannes Hörl
6b1d1ccbf5 Allow users to use custom tags
When discovering the kube version we only consider tags that match the
glob 'v*'. By doing so users can create/use their custom tags as long as
they don't look like a version (starting with a 'v').

We already do a similar thing when building the pause container, see how
the `REV` is set in git.k8s.io/kubernetes/build/pause/Makefile.
2019-10-04 12:18:18 +03:00
Davanum Srinivas
138571b23f
Remove hyperkube from release artifacts
Change-Id: Ie09248d6fc688ffffbeb0271824817a5129346a0
2019-10-03 13:33:17 -04:00
Kubernetes Prow Robot
257040c472
Merge pull request #81882 from phenixblue/master
Updates to resolve shellcheck issues in hack/lib/test.sh
2019-09-18 20:43:00 -07:00
Han Kang
866ea74326 remove pkg/version and some of redundant copies of it
Change-Id: Ia58367c1b1274bfb49c8a4784051463abaf795de
2019-09-16 16:24:35 -07:00
howard
6ca5e0ed4d local-up-cluster kube-proxy terminated error
When using hack/local-up-cluster.sh deploy local cluster, it
failed with following message "kube-proxy terminated unexpectedly"
and "Failed to retrieve node info: nodes "127.0.0.1" not found" in
kube-proxy.log.

The root reason for this error is miss boot order of kubernetes
services in local-up-cluster.sh, kube-proxy and kubectl daemon.

When starting kube-proxy, it would check node information. And
these information are collected by kubelet daemon. However, in
the shell script, kube-proxy service start before kubelet daemon.

This patch changed the boot order of kubelet daemon and kube-proxy
and check if node stats ready for kube-proxy start.

Signed-off-by: Howard Zhang <howard.zhang@arm.com>
2019-09-16 10:36:42 +08:00
Joe Searcy
1b7ba643bb Updates to resolve shellcheck issues
Removed hack/lib/test.sh from /hack/shellcheck_failures
Removed  and }s to satisfy shellcheck SC2004
Added double quotes to satisfy shellcheck SC2086
Converted array reference to access all elements to satisfy shellcheck SC2128
Updates to satisfy shellcheck SC2143
Updates to satisfy shellcheck SC2178 & SC2124
Updates to satisfy shellcheck SC2128
Updates to satisfy shellcheck SC2207

Remove double quotes to allow expansion. Fixed piping to grep -q

Removed quotes to allow for expansion on flags
2019-09-13 11:32:54 -07:00
Davanum Srinivas
8fbfdf8267
Update default etcd server to 3.3.15 for kubernetes 1.16
Change-Id: I68f1a5e5339d83077a1a9f312c4e6e33848886c5
2019-08-30 21:29:45 -04:00
Rob Scott
f80cee9280
Adding discovery/v1alpha1 API for EndpointSlices 2019-08-26 14:50:00 -07:00
Han Kang
b037203082 move version logic directly into the component-base, to simplify legacyregistry logic
add version to vendor

move version into component-base top-level

update bazel build files

fix import
2019-08-21 09:43:20 -07:00
Davanum Srinivas
adbd1800c8 Drop cloud-controller-manager artifacts from k/k release 2019-08-06 13:51:27 -04:00
Jordan Liggitt
44930fc939 AdmissionReview: Install/register 2019-08-01 17:17:42 -04:00
Sean Sullivan
fb44be2d97 Move pkg/kubectl/version to staging 2019-07-26 15:48:09 -07:00
SataQiu
298909e20e kubeadm: use local copy of kubectl's version package 2019-07-16 09:51:10 +08:00
Jordan Liggitt
e24377f190 Install/register v1 admission registration types 2019-07-08 09:49:29 -04:00
Davanum Srinivas
543093e775
Add go-runner to the list of e2e test targets
Change-Id: I9c837d8f0a74014434308b46291ad1f81d67109a
2019-07-04 13:34:44 -04:00
John Schnake
b3f5a086ab Adds an optional golang runner to the conformance test image
Adds a go app which runs the e2e tests with ginkgo.

 - Supports all the existing env vars of the bash script
 - Improved flow control to avoid and better report issues
regarding the process PID
 - Adds flags for modifying where to find the test binary and
ginkgo binary so that you can run it locally
 - Adds 3 flags for specifying extra args before the double-dash,
extra args after the double-dash, and the seperator to use between
values in those env vars. This allows setting arbitrary, complex
values for use on the command such as flags which include spaces
or other characters.
2019-07-01 16:26:13 -05:00
Benjamin Elder
59c4eb2a38 fix hack/lib/version.sh shellcheck failures 2019-06-26 09:20:17 -07:00
Benjamin Elder
9b4b5098e1 fix hack/lib/init.sh shellcheck failures 2019-06-25 22:09:32 -07:00
Benjamin Elder
a101acc7eb fix hack/lib/swagger.sh shellcheck failures 2019-06-25 22:09:31 -07:00
Benjamin Elder
4aaa7b4da2 document KUBE_ROOT in util.sh 2019-06-24 11:43:04 -07:00
Benjamin Elder
29b7b2c4f8 add kube::util::list_staging_repos 2019-06-24 11:43:04 -07:00
Benjamin Elder
7b0ea99a3e copy kube::release:md5 to kube::util::md5 2019-06-23 12:08:05 -07:00
hui luo
6c8aabc832 Check KUBE_SERVER_PLATFORMS existence
when compile kubectl on platform other than
linux/amd64, we need to check the KUBE_SERVER_PLATFORMS
array emptiness before assign it.

the example command is:
make WHAT=cmd/kubectl KUBE_BUILD_PLATFORMS="darwin/amd64 windows/amd64"
2019-05-18 09:17:22 -07:00
Christoph Blecker
b8481b62fc
Don't use declare -g in build 2019-05-17 12:22:42 -07:00
adisky
7e2aa46f64
fix unbound variable release.sh 2019-05-16 23:09:19 +05:30
adisky
38b7f2125f
fix unbound array variable 2019-05-15 13:47:48 +05:30
Christoph Blecker
eaafa5952f
Don't use mapfile as it isn't bash 3 compatible 2019-05-06 15:55:12 -07:00
Michael Taufen
dcee810a3f Restrict builds to officially supported platforms
Prior to this change, including windows/amd64 in KUBE_BUILD_PLATFORMS
would, for example, attempt to build the server binaries/tars/images for
Windows, which is not supported. This can break downstream build steps.
2019-04-25 14:05:44 -07:00
Kubernetes Prow Robot
f980370fc0
Merge pull request #76608 from suigh/b1_etcd.sh
update the output of install-etcd.sh, show how to export the environment of etcd
2019-04-19 20:29:42 -07:00
suigh
c056a46ba9 update the output of install-etcd.sh, show how to export the environment of etcd. 2019-04-19 16:43:00 +08:00
Christoph Blecker
4543e68ae5
Fix shellcheck in hack/lib/golang.sh 2019-04-18 18:53:13 -07:00
Davanum Srinivas
7e01702a88
Move "-s -w" flags to GOLDFLAGS as an overridable default.
If GOLDFLAGS is set, whether it is empty or not, we should honor it.
Only if the GOLDFLAGS is totally not set, then we use "-s -w"

See Parameter Expansion section in the urls below:

https://stackoverflow.com/questions/3601515/how-to-check-if-a-variable-is-set-in-bash/16753536
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_02

Change-Id: I826c34efc63c77f0e3e9677fff30a3eb2219a377
2019-04-17 21:55:13 -04:00
SataQiu
4231fa0980 fix shellcheck failures of hack/lib/logging.sh hack/lib/protoc.sh 2019-04-12 16:00:23 +08:00
Jordan Liggitt
2ea3cbdcbc Update hack scripts to use go mod 2019-04-03 10:19:39 -04:00
Jordan Liggitt
7f246d461b Remove third_party/forked/godep 2019-04-03 10:19:39 -04:00
Sean Sullivan
d4d6e19f1e kubectl: removes pkg/version dependency 2019-03-28 16:08:34 -07:00
Kubernetes Prow Robot
f6c51d6e99
Merge pull request #75751 from BenTheElder/bash-fun
fix kube::golang::is_instrumented_package
2019-03-26 23:19:01 -07:00
Benjamin Elder
0833a9cc38 fix kube::golang::is_instrumented_package 2019-03-26 17:17:16 -07:00
Ed Bartosh
3d5d38607d fix 'make generated_files' build on MacOS
Recent change to hack/lib/golang.sh broke the build on MacOS this way:

$ make clean && make generated_files
+++ [0325 13:38:22] Verifying Prerequisites....
+++ [0325 13:38:23] Removing _output directory
k8s.io/kubernetes/vendor/github.com/spf13/pflag
k8s.io/kubernetes/hack/make-rules/helpers/go2make
+++ [0325 13:38:40] Building go targets for darwin/amd64:
    ./vendor/k8s.io/code-generator/cmd/deepcopy-gen
can't load package: package k8s.io/kubernetes: no Go files in k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes
!!! [0325 13:38:40] Call tree:
!!! [0325 13:38:40]  1: k8s.io/kubernetes/hack/lib/golang.sh:629 kube::golang::build_some_binaries(...)
!!! [0325 13:38:40]  2: k8s.io/kubernetes/hack/lib/golang.sh:764 kube::golang::build_binaries_for_platform(...)
!!! [0325 13:38:40]  3: hack/make-rules/build.sh:27 kube::golang::build_binaries(...)
make[1]: *** [_output/bin/deepcopy-gen] Error 1
make: *** [generated_files] Error 2

It was caused by 'binaries' array not being declared with 'local -a'.
It looks like MacOS' old bash version makes an array to contain first
empty element if declared this way.

The fix has been tested on MacOS High Sierra and Linux openSUSE 42.3 (x86_64)

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
2019-03-25 17:08:13 +01:00
toyoda
a52af3a9d5 fix shellcheck failure golang.sh 2019-03-22 13:29:26 +09:00
Han Kang
a5ddc3943a bump required minimum go version to 1.12.1 (strings package compatibility) 2019-03-20 16:07:07 -07:00
Tim Allclair
820a1dc96b Add node.k8s.io/v1beta1 API 2019-03-07 11:57:12 -08:00
Tim Allclair
63f61a6714 Migrate RuntimeClass to internal API 2019-03-07 11:07:54 -08:00
Ismo Puustinen
ecb6d13253 hack/lib/util.sh: fix empty array expansion with bash 3. 2019-03-05 21:34:08 +02:00
Ismo Puustinen
1e34d9df7d hack/lib/util.sh: replace sed with bash replace.
Test script:

  #!/bin/bash

  rev1="foo"
  rev2="\"bar\""
  rev3="'bar'"

  newrev1="${rev1//[\'\"]}"
  newrev2="${rev2//[\'\"]}"
  newrev3="${rev3//[\'\"]}"

  oldrev1=$(echo "${rev1}" | sed "s/['\"]//g")
  oldrev2=$(echo "${rev2}" | sed "s/['\"]//g")
  oldrev3=$(echo "${rev3}" | sed "s/['\"]//g")

  echo "$newrev1 vs. $oldrev1"
  echo "$newrev2 vs. $oldrev2"
  echo "$newrev3 vs. $oldrev3"

expected output:

  foo vs. foo
  bar vs. bar
  bar vs. bar
2019-03-04 23:23:20 +02:00