Commit Graph

907 Commits

Author SHA1 Message Date
Benjamin Elder
db9c760ee7 remove clearly unnecessary lingering BUILD file references 2022-10-04 16:47:25 -07:00
Tim Hockin
7afaf23b01
Copy make's codegen logic to update-codegen.sh
The `make` rules which auto-generate some of our API stuff are
incredibly baroque, and hard to maintain.  They were originally added on
the assumption that we would stop checking generated files into git.
Since then we have moved away from that goal, and the worst problems
with generated files have been resolved.

Reasons to kill this:
* It is slow on every build, as opposed to just being slow when running
  the generators.  It is even slow to calculate that there's nothing to
  update.
* Most development work doesn't involve changing APIs.
* It only covers about half (or less) of the generated code, and making
  it cover more would be even slower.
* Approximately 1 person knows how this all works.
* We have CI to make sure changes do not get merged without updating
  this code.
* We have corner cases where this does the WRONG thing and tracking
  those down is ugly and hard in perpetuity.

So this commit puts all the same logic that WAS in the
Makefile.generated_files into update-codegen.sh.

I do not love this script, especially WRT sub-packages, but I am trying
not to boil the ocean.  I hope to follow up with some more cleanups over
time.

I have tested this manually and with the scripts and it still seems to
catch errors properly.

This includes a change to kube::util::read-array to make it not unset
variables and not over-write non-array variables.
2022-10-04 08:48:39 -07:00
Kubernetes Prow Robot
9720af2ba3
Merge pull request #112306 from tkashem/v1beta3
add v1beta3 for Priority And Fairness
2022-10-03 10:06:14 -07:00
Kubernetes Prow Robot
dfa4143086
Merge pull request #112724 from dims/update-instructions-to-install-cfssl
Update instructions to install cfssl
2022-09-26 09:20:38 -07:00
Davanum Srinivas
5fd6b0a980
Update instructions to install cfssl
Use the newer "go install" variant as we are above go 1.18

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-09-25 15:53:02 -04:00
Davanum Srinivas
866ef3c46e
run hack/update-vendor.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-09-24 13:27:13 -04:00
Abu Kashem
e1a764d635
apiserver: enable v1beta3 for apf 2022-09-21 18:54:19 -04:00
Davanum Srinivas
0f6b9b883c
etcd: Updated to v3.5.5
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-09-15 21:05:13 -04:00
m.nabokikh
00dfba473b Add auth API to get self subject attributes
Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>
2022-09-14 18:00:26 +02:00
Kubernetes Prow Robot
759785ea14
Merge pull request #109090 from sarveshr7/multicidr-rangeallocator
Enhance NodeIPAM to support multiple ClusterCIDRs
2022-08-07 15:40:18 -07:00
Sarvesh Rangnekar
7093b10416 Introduce networking/v1alpha1 api, ClusterCIDR type
Introduce networking/v1alpha1 api group.

Add `ClusterCIDR` type to networking/v1alpha1 api group, this type
will enable the NodeIPAM controller to support multiple ClusterCIDRs.
2022-08-05 00:54:00 +00:00
Davanum Srinivas
a2408f39c7
[golang] Fix things commented out in 1.19rc2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-08-04 10:27:09 -04:00
Davanum Srinivas
1380fc5e7b
Avoid hard coding Operating System and Architecture in hack/lib/etcd.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-08-01 15:33:13 -04:00
Davanum Srinivas
4784b58e17
golang: Update to 1.19rc2 from 1.18.3
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-07-26 13:14:05 -04:00
Kubernetes Prow Robot
a0fe0d6b37
Merge pull request #111131 from thockin/coverage-handle-relative-paths
Make coverage handle relative-path pkgs
2022-07-15 02:26:25 -07:00
Kubernetes Prow Robot
7e2c02d4c8
Merge pull request #111133 from thockin/comment-build_binaries_for_platform
Add comment on build_binaries_for_platform
2022-07-14 16:26:47 -07:00
Kubernetes Prow Robot
08117cdd76
Merge pull request #111132 from thockin/remove-unused-platform-envs-func
Remove unused `unset_platform_envs` func
2022-07-14 16:26:36 -07:00
Tim Hockin
8461a645d6 Add comment on build_binaries_for_platform 2022-07-13 20:33:32 -07:00
Tim Hockin
4b8e3a0b54 Remove unused unset_platform_envs func 2022-07-13 20:33:24 -07:00
Tim Hockin
15cab6d085 Make coverage handle relative-path pkgs 2022-07-13 20:33:12 -07:00
Tim Hockin
0863919807 Add comments around go install 2022-07-13 20:33:03 -07:00
Kubernetes Prow Robot
9cf41a6766
Merge pull request #110899 from HecarimV/update-doc-220701
Remove invalid comments in hack/lib/version.sh
2022-07-08 18:03:46 -07:00
Patrick Ohly
f7427d07e0 build: add ginkgo aliases for WHAT
The alias for vendor/github.com/onsi/ginkgo/ginkgo ensures that code like
30e99cb2a9/experiment/kind-conformance-image-e2e.sh (L110)
continues to work. The one without "vendor/" is there just in case that it
was used because it also worked.

Long term, "ginkgo" is a nicer, version independent alias. It gets used
internally to avoid future churn and gets documented also publicly in the
Makefile help.

The caveat is that there's no guarantee that a future v3 CLI will be compatible
with current invocations. But the most common usage is through
hack/ginkgo-e2e.sh, which can deal with such differences.
2022-07-08 10:46:11 +08:00
Dave Chen
375b2a5fb2 Build Ginkgo binary
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-07-08 10:46:11 +08:00
HaoJie Liu
4990214c6f
Remove invalid comments in hack/lib/version.sh
Signed-off-by: HaoJie Liu <liuhaojie@beyondcent.com>
2022-07-06 19:19:29 +08:00
Hemant Kumar
86cd654371 We need to all all=-N -l because some objects are being optimzied away
Without all=-N -l, some objects are being optimized away and
impossible to debug
2022-06-13 14:31:37 -04:00
Hemant Kumar
bfe34ab224 Disable trimpath in debug mode
This allows remote debugging with debuggers like vscode and Goland
2022-06-12 07:53:18 -04:00
Kubernetes Prow Robot
2d7dcf928c
Merge pull request #109594 from linux-on-ibm-z/fastbuild_s390x
Add fast build support for s390x
2022-06-05 23:42:23 -07:00
Manish Kumar
e9e8be304c etcd: Updated to v3.5.4 2022-06-01 07:52:46 +05:30
Jordan Liggitt
6cdaecfe0a Build in hermetic module mode 2022-05-05 08:47:33 -04:00
Jordan Liggitt
2a10ca650d drop vendor from test targets 2022-05-05 08:47:33 -04:00
Jordan Liggitt
39f5c13510 drop vendor from go install paths 2022-05-05 08:47:33 -04:00
vitt-bagal
969ddfbd72 Add fast build support for s390x 2022-04-21 01:47:26 -07:00
Jordan Liggitt
f97bc825d5 Update min golang version to 1.18.1 2022-04-14 09:53:20 -04:00
Stephen Augustus
3f85937b11
etcd: Update to v3.5.3
Signed-off-by: Stephen Augustus <foo@auggie.dev>
2022-04-13 19:04:00 -04:00
James Laverack
7d57d5c70d Revert "Introduce APIs to support multiple ClusterCIDRs (#108290)"
This reverts commit b9792a9dae.
2022-04-13 13:58:19 +01:00
Sarvesh Rangnekar
b9792a9dae
Introduce APIs to support multiple ClusterCIDRs (#108290)
* Introduce networking/v1alpha1 api, ClusterCIDRConfig type

Introduce networking/v1alpha1 api group.

Add `ClusterCIDRConfig` type to networking/v1alpha1 api group, this type
will enable the NodeIPAM controller to support multiple ClusterCIDRs.

* Change ClusterCIDRConfig.NodeSelector type in api

* Fix review comments for API

* Update ClusterCIDRConfig API Spec

Introduce PerNodeHostBits field, remove PerNodeMaskSize
2022-03-30 19:39:00 -07:00
Davanum Srinivas
b1fa9e2deb
Turn down log level for etcd
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-03-27 15:21:28 -04:00
Katrina Verey
af059a0731
Colorize string test helper results 2022-03-24 13:31:57 -04:00
Kir Kolyshkin
d8fdb00b34 Fix verify: generated-stable-metrics wrt go 1.18
This should fix the following error when running
./hack/update-generated-stable-metrics.sh:

	'go get' is no longer supported outside a module.
	To build and install a command, use 'go install' with a version,
	like 'go install example.com/cmd@latest'
	For more information, see https://golang.org/doc/go-get-install-deprecation
	or run 'go help get' or 'go help install'.

Using `go get` to download gopkg.in/yaml.v2 package into
KUBE_EXTRA_GOPATH directory no longer works. Interestingly, main repo
already has gopkg.in/yaml.v2@v2.4.0, same version that was installed by
that go get.

I guess that GOPATH with multiple elements no longer works either,
and since this code was the only user of KUBE_EXTRA_GOPATH, let's remove
it as well.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2022-03-23 10:19:59 -07:00
Davanum Srinivas
d8f1da5ecb
golang: Update to 1.18 from 1.18rc1
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-03-22 09:47:35 -04:00
Tim Hockin
bf27cad256 Build flags: use all= syntax
This has somewhat subtle implications.  For a concrete example, this
changes the `-trimpath` behavior from only affecting the named pkg to
affecting all pkgs, which broke ginkgo, which seems to try to strip its
own `pwd` prefix.  But since that runs in run-in-gopath, and not in
KUBE_ROOT, it fails to strip anything.

e.g.

before this, strings in the binary would be like
    /home/user/kube/_output/local/go/src/k8s.io/kubernetes/vendor/github.com/onsi/ginkgo/...
Ginkgo would find its own root as
    /home/user/kube/_output/local/go/src/k8s.io/kubernetes/
so it would produce
    vendor/github.com/onsi/ginkgo/...
in logs.

after this, strings in the binary strip the KUBE_ROOT and be like:
    _output/local/go/src/k8s.io/kubernetes/vendor/github.com/onsi/ginkgo/...
Ginkgo would find its own root as
    /home/user/kube/_output/local/go/src/k8s.io/kubernetes/
so it would not strip anything, and produce
    _output/local/go/src/k8s.io/kubernetes/vendor/github.com/onsi/ginkgo/...
in logs.
2022-03-01 08:48:31 -08:00
Tim Hockin
ed5e549cde Makefile: Add a DBG flag to build debug binaries
Now `make DBG=1` will produce binaries with no optimizaions and no
inlining, but with symbols and DWARF information.
2022-03-01 08:47:34 -08:00
Tim Hockin
4a0c6c2444 Slightly nicer output when building
before:

```
$ make generated_files
+++ [0226 13:42:17] Building go targets for linux/amd64:
    hack/make-rules/helpers/go2make
> non-static build: k8s.io/kubernetes/hack/make-rules/helpers/go2make
```

after:

```
$ make generated_files
+++ [0226 14:30:08] Building go targets for linux/amd64
    k8s.io/kubernetes/hack/make-rules/helpers/go2make (non-static)
```
2022-02-27 10:29:59 -08:00
Kubernetes Prow Robot
21c0f6f6ff
Merge pull request #107677 from pohly/scheduler-integration-benchmark
scheduler integration benchmark improvements
2022-02-14 01:23:28 -08:00
Patrick Ohly
535d885c29 test: fix info message for etcd startup
The output redirection in the info message did not match the actual
invocation (stdout and stderr swapped).
2022-02-07 08:59:19 +01:00
Patrick Ohly
259a8ad0b7 test: allow controlling etcd log level
When running an integration test that measures performance, like for example
test/integration/scheduler_perf, running etcd with debug level output is
undesirable because it creates additional load on the system and isn't
realistic.

The default is still "debug", but ETCD_LOGLEVEL=warn can be used to override
that.
2022-02-07 08:59:19 +01:00
Kubernetes Prow Robot
6dd234d85c
Merge pull request #107386 from ZeusPerez/fix-kubetest-errors-when-executing-local-provider
Fix kubetest errors when executing local provider
2022-01-31 19:56:17 -08:00
ZeusPerez
ddec2a9125 Apply changes requested in the pull-kubernetes-verify failed check 2022-01-20 17:25:52 +01:00
Patrick Ohly
798bdab3d0 kubectl: add integration test for result reporting
This currently covers two cases:
- "kubectl list" (the regression from https://github.com/kubernetes/kubernetes/issues/107012)
- "kubectl get pods/no-such-pod" (no particular reason except that the output
should be deterministic)

In contrast to some other tests that check for strings inside the
output (run_deprecated_api_tests) or compare after
sorting (run_kubectl_version_tests), stdout, stderr and the return code must
match exactly.

This ensures that there is no extra, unexpected output and that the right
output stream is used.
2022-01-11 09:04:56 +01:00