Commit Graph

10005 Commits

Author SHA1 Message Date
Ed Bartosh
83de1586e0 boilerplate_test:fix pylint warnings
Fixed the following Pylint warnings:

boilerplate_test.py:34:8: R0205: Class 'Args' inherits from object, can be safely removed from bases in python3 (useless-object-inheritance)
boilerplate_test.py:46:8: W0612: Unused variable 'ret' (unused-variable)
boilerplate_test.py:18:0: C0411: standard import "import unittest" should be placed before "import boilerplate" (wrong-import-order)
boilerplate_test.py:19:0: C0411: standard import "from io import StringIO" should be placed before "import boilerplate" (wrong-import-order)
boilerplate_test.py:20:0: C0411: standard import "import os" should be placed before "import boilerplate" (wrong-import-order)
boilerplate_test.py:21:0: C0411: standard import "import sys" should be placed before "import boilerplate" (wrong-import-order)
2024-01-24 11:05:26 +02:00
Ed Bartosh
4473dfebbf fix boilerplate test
Fixed AttributeError: type object '_io.StringIO' has no attribute 'StringIO'
2024-01-24 11:04:52 +02:00
Ed Bartosh
9dc1da1e5b boilerplate_test: fix bad indentation 2024-01-24 10:36:52 +02:00
Kubernetes Prow Robot
7bb00356f0
Merge pull request #122857 from nilo19/chore/cleanup-azure
chore: Cleanup in-tree credential provider azure and cloud provider a…
2024-01-23 21:31:11 +01:00
Kubernetes Prow Robot
89dcee65a2
Merge pull request #121735 from vlasebian/issue-115175-testing-import-presubmit-check
Add script for restricting import of test only libraries
2024-01-23 20:03:46 +01:00
Jordan Liggitt
8b22cb4696
Revert "Make verify-typecheck.sh only check valid targets for a platform"
This reverts commit e48aa09340.
2024-01-22 20:45:25 -08:00
bells17
62eb7cb4f9 make update: add update-golangci-lint-config 2024-01-23 03:09:13 +09:00
Qi Ni
3bf2bf8191 chore: Cleanup in-tree credential provider azure and cloud provider azure 2024-01-20 15:18:31 +08:00
Kubernetes Prow Robot
418ae605ec
Merge pull request #122879 from liggitt/verbose-local-up
Make local-up-cluster non-verbose by default
2024-01-20 03:50:35 +01:00
Kubernetes Prow Robot
fbb2e6293f
Merge pull request #122871 from oxxenix/minor-fix
Print error message regardless verbosity value
2024-01-19 21:04:18 +01:00
Jefftree
1a38fb3c35 init.sh fix 2024-01-19 13:14:09 -05:00
Jordan Liggitt
6ae264464c
Make local-up-cluster non-verbose by default 2024-01-19 08:27:28 -08:00
Oksana Baranova
a4afaeda37 print error message regardless verbosity level
Signed-off-by: Oksana Baranova <oksana.baranova@intel.com>
2024-01-19 13:57:27 +02:00
Jordan Liggitt
1192f313b8
Fix local-up-cluster on darwin 2024-01-18 08:51:45 -08:00
Tim Hockin
0d366dd99a
codegen: Use long flag names for clarity 2024-01-14 16:12:09 -08:00
Kubernetes Prow Robot
dcee8834b5
Merge pull request #122775 from thockin/codegen_s_base_file_g
update-codegen: rename "base"->"file" for clarity
2024-01-15 01:08:39 +01:00
Kubernetes Prow Robot
908a958bb1
Merge pull request #122771 from thockin/make_verify-fieldname-docs_actually_error
Make verify-fieldname-docs actually error
2024-01-14 23:57:44 +01:00
Tim Hockin
0f849d3b55
update-codegen: rename "base"->"file" for clarity 2024-01-14 10:41:59 -08:00
Tim Hockin
f2b550180c
codegen: don't use xargs w/ maybe-empty input
GNU xargs has a `-r, --no-run-if-empty` option but I don't think we want
to depend on GNU (thanks, MacOS).

Why?  Sometimes, when you are messing with codegens, you end up with an
empty input and then it just hangs.
2024-01-14 10:38:34 -08:00
Tim Hockin
8b8f0a70cd
Make verify-fieldname-docs actually error
Sadly, cmd/fieldnamedocscheck did not exit non-zero when it needed to.

Fix the one thing it flagged.
Add it to verify-quick
2024-01-14 10:32:08 -08:00
Benjamin Elder
08645984b0 Revert "Save a list of images used by e2e.test"
This reverts commit a3c4a60995.
2024-01-12 13:15:01 -08:00
Patrick Ohly
d954b25b11 hack/tools: bump logcheck to v0.8.1
This enables the usage of the new SafePtr in code which needs to support
contextual logging.
2024-01-12 14:39:50 +01:00
Davanum Srinivas
ddbf3ab662
local-up-cluster: use the newly built library always
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-01-11 08:13:21 -05:00
Kubernetes Prow Robot
c9158e9a19
Merge pull request #122595 from dims/support-building-with-and-without-cloud-providers
KUBE_PROVIDERLESS - Support building with and without cloud providers
2024-01-11 05:42:23 +01:00
Davanum Srinivas
ce263d8828
Address comments during Review
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-01-09 15:52:16 -05:00
Ziqi Zhao
6b5e973e5f
Migrate cmd/kube-proxy to contextual logging (#122197)
* cmd/kube-proxy support contextual logging

Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>

* use ktesting.NewTestContext(t) in unit test

Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>

* use ktesting.NewTestContext(t) in unit test

Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>

* remove unnecessary blank line & add cmd/kube-proxy to contextual section in logcheck.conf

Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>

* add more contextual logging

Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>

* new lint yaml

Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>

---------

Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>
2024-01-08 17:30:18 +01:00
Davanum Srinivas
e25e1d39bd
Add KUBE_PROVIDERLESS for CI jobs to run with providerless tag
Also ensure `test/e2e` works with providerless tag in the verify
script

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-01-07 15:20:57 -05:00
Nikola
5704a58810 add test for the registered feature gates 2024-01-07 18:10:25 +02:00
Mahe Tardy
73bec0f6d9 api: remove SecurityContextDeny admission plugin 2024-01-05 15:11:18 +00:00
Davanum Srinivas
2431a964af
Drop hack/verify-govet-levee
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-01-04 21:06:52 -05:00
Kubernetes Prow Robot
7db7824d85
Merge pull request #122178 from saschagrunert/cni-plugins
Update cni-plugins to v1.4.0
2024-01-04 18:00:07 +01:00
Kubernetes Prow Robot
88d497d401
Merge pull request #118626 from borg-land/use-e2-instance-types
Switch to e2 machine types
2024-01-04 16:49:14 +01:00
Davanum Srinivas
a3c4a60995
Save a list of images used by e2e.test
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-01-03 08:07:47 -05:00
Kubernetes Prow Robot
be62153915
Merge pull request #122416 from pohly/e2e-gomega-be-true-or-false
e2e: forbid usage of gomega.BeTrue/False
2024-01-02 16:46:57 +01:00
Kubernetes Prow Robot
9680c84b9c
Merge pull request #121836 from skitt/verify-no-vendor-cycles-go
verify-no-vendor-cycles: set up Go environment
2024-01-02 16:46:39 +01:00
Kubernetes Prow Robot
58d023e178
Merge pull request #121894 from thockin/build_trimpath
build: use -trimpath in non-DBG mode
2023-12-29 04:38:51 +01:00
Tim Hockin
e3686246ea
Fix update-openapi-spec to not change caller CWD 2023-12-25 13:59:10 -08:00
Kubernetes Prow Robot
40c729c680
Merge pull request #122436 from pohly/log-warn-context
hack/tools: bump logtools to v0.8.0
2023-12-22 14:32:38 +01:00
Patrick Ohly
51f3b705c6 hack/tools: bump logtools to v0.8.0
This adds support for marking functions and methods as "don't use in code which
supports contextual logging".
2023-12-21 15:12:40 +01:00
Mohamed Omar Zaian
c8a2d5684d etcd: Update to version 3.5.11 2023-12-20 11:18:35 +01:00
Patrick Ohly
36cceff0a3 e2e: forbid usage of gomega.BeTrue/False
`BeTrue` without explanation in `Should` just prints "false is not true", which
isn't a useful failure message. Even with an explanation that message is still
printed, which is just noise. The new BeTrue/FalseBecause avoid that by
requiring that an explanation is provided and using that instead of "false is
not true".

In Kubernetes, we can enforce the usage of those better alternatives or the
if+Fail combination via forbidigo. Because we have existing code which still
needs to be updated, this can only be a hint for now.

Some examples found with this:

ERROR: test/e2e/apimachinery/protocol.go:75:20: use of `o.BeTrue` forbidden because "it does not produce a good failure message, use BeTrueBecause with an explicit printf-style failure message instead or plain Go: if ... { ginkgo.Fail(...) }" (forbidigo)
ERROR: 			o.Expect(ok).To(o.BeTrue())
ERROR: 			                ^

ERROR: test/e2e_node/unknown_pods_test.go:163:52: use of `gomega.BeTrue` forbidden because "it does not produce a good failure message, use BeTrueBecause with an explicit printf-style failure message instead or plain Go: if ... { ginkgo.Fail(...) }" (forbidigo)
ERROR: 			}, f.Timeouts.PodStart, f.Timeouts.Poll).Should(gomega.BeTrue())
ERROR: 			                                                ^

The solution might also be to write a custom matcher, but that is a bit hard to
explain in the forbidigo message.
2023-12-20 10:11:56 +01:00
James Blair
b6c1f8ef08
Fix etcd repository path to prevent redirects.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-12-16 19:50:02 +13:00
Kubernetes Prow Robot
d19420f3ec
Merge pull request #122210 from dims/trying-to-fix-local-up-cluster
Explicitly stop/start docker to fix local-up-cluster.sh
2023-12-15 09:45:49 +01:00
Patrick Ohly
ced99383d5 logcheck: remove redundant entry for pkg/scheduler
Contextual implies structured, so listing pkg/scheduler as contextual is
enough.
2023-12-14 20:22:04 +01:00
Patrick Ohly
b450224c12 golangci-lint: inline logcheck configuration
This has the advantage that the golangci-lint cache gets invalidated
automatically each time the logcheck config changes.
2023-12-14 20:21:58 +01:00
Patrick Ohly
49084fe577 golangci-lint: logcheck v0.7.0, golangci-lint v1.55.2
This adds support for the new golangci-lint plugin interface and settings
mechanism.
2023-12-14 20:21:19 +01:00
Kubernetes Prow Robot
e12d4b63d6
Merge pull request #121773 from pohly/zapr-update
dependencies: zapr v1.3.0, zap v1.26.0
2023-12-14 18:14:22 +01:00
Kubernetes Prow Robot
485e57c395
Merge pull request #122250 from thockin/fix_verify-licenses
Fix verify-licenses.sh
2023-12-14 07:27:39 +01:00
Kubernetes Prow Robot
407c2c3015
Merge pull request #122230 from thockin/update-vendor_cleanups
Small update-vendor cleanup
2023-12-14 07:27:12 +01:00
Kubernetes Prow Robot
abb336b9c9
Merge pull request #122228 from thockin/cleaner_make_clean
Simpler and less noisy make-clean
2023-12-14 07:26:54 +01:00
Ricardo Lopes
86ab185fa1
Migrate client-go/metadata to contextual logging (#122225)
* client-go: migrate metadata to contextual logging

Signed-off-by: Ricardo Lopes <ricardoapl.dev@gmail.com>

* client-go: test for metadata contextual logs

Signed-off-by: Ricardo Lopes <ricardoapl.dev@gmail.com>

* refactor: extract context for table driven testing

Signed-off-by: Ricardo Lopes <ricardoapl.dev@gmail.com>

* refactor: pass context as first parameter

Signed-off-by: Ricardo Lopes <ricardoapl.dev@gmail.com>

---------

Signed-off-by: Ricardo Lopes <ricardoapl.dev@gmail.com>
2023-12-14 07:26:45 +01:00
Kubernetes Prow Robot
909ad7e232
Merge pull request #121722 from danwinship/fix-typecheck
Make verify-typecheck.sh only check valid targets for a platform
2023-12-13 22:35:18 +01:00
Kubernetes Prow Robot
6d58ef4a7b
Merge pull request #121493 from BenTheElder/etcd-current
automatically setup etcd when running {verify,update}-openapi-spec.sh
2023-12-13 21:26:54 +01:00
Kubernetes Prow Robot
e8c265169b
Merge pull request #121478 from pohly/golangci-lint-message
verify-golangci-lint.sh: clarify intended usage of warnings
2023-12-13 21:26:45 +01:00
Sascha Grunert
1ae5594fb2
Update cni-plugins to v1.4.0
Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2023-12-13 09:33:31 +01:00
Tim Hockin
87c6b0d69f
Smallish update-vendor cleanup 2023-12-11 13:29:47 -08:00
Tim Hockin
7dfe3d866b
Fix verify-licenses.sh
This still feels like a hack, but less horrible now.  Running this pases
without error.
2023-12-09 17:48:48 -08:00
Tim Hockin
b9ff6b25f2
Simpler and less noisy make-clean 2023-12-08 09:20:44 -08:00
Davanum Srinivas
48671a3a20
explicitly stop/start docker to fix up local-up-cluster.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-12-06 20:54:08 -05:00
Tim Hockin
37b7ae6b93
build: use -trimpath in non-DBG mode 2023-11-27 09:12:45 -08:00
Vlad Vitan
3df90134ca add script for restricting import of test only libraries 2023-11-15 20:21:16 +01:00
Stephen Kitt
f040d9012c
verify-no-vendor-cycles: set up Go environment
This script relies on Go but doesn't set up the private Go environment
(which ensures that the go command meets k/k's requirements). This
fixes that.

As a drive-by improvement, drop two unnecessary backslashes from
regexes (before / which doesn't need to be escaped).

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2023-11-10 10:58:53 +01:00
Jordan Liggitt
819d1903a2
Add support for authorization-config to local-up-cluster 2023-11-08 14:36:05 -06:00
Patrick Ohly
166b71757b dependencies: zapr v1.3.0, zap v1.26.0
The new zapr adds support for slog. The new zap has various improvements. It no
longer depends on go.uber.org/atomic which enables dropping it from the
Kubernetes dependencies. github.com/pkg/errors is also no longer needed.
2023-11-07 20:24:28 +01:00
Dan Winship
e48aa09340 Make verify-typecheck.sh only check valid targets for a platform
e.g., don't try to compile kube-proxy on darwin, since we don't build
it there anyway.
2023-11-04 10:24:19 -04:00
Mohamed Omar Zaian
3c268b7524 etcd: Update to version 3.5.10 2023-11-02 10:30:41 +01:00
Kubernetes Prow Robot
9e84a02950
Merge pull request #121672 from pohly/golangci-lint-comment-check-fix
golangci-lint: tone down comment checking
2023-11-01 17:47:45 +01:00
Patrick Ohly
248100ce6d golangci-lint: tone down comment checking
39df946c06 was meant to enable stricter comment checking only for cmd/kubeadm
because the maintainers of that want that. However, the exclude rule didn't
capture all possible error texts and therefore some checks were enabled across
the entire code base.

The extended pattern is now based on the golangci-lint source code.

Also, the hint config didn't suppress any of these checks.
2023-11-01 14:59:28 +01:00
guangli.bao
bc1df9e7da bump to newest etcd: v3.5.10
Signed-off-by: guangli.bao <guangli.bao@daocloud.io>
2023-11-01 11:59:31 +08:00
upodroid
e2227a24fb switch to e2 machine types 2023-10-31 21:46:14 +00:00
Davanum Srinivas
bd233a2aa5
typo/api change in cadvisor / updated unwanted-dependencies.json
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-10-31 14:30:57 -04:00
Kubernetes Prow Robot
84fb7b5ce0
Merge pull request #121504 from pohly/golangci-lint-godoc
golangci-lint: enable doc comment checking for cmd/kubeadm
2023-10-31 12:09:17 +01:00
Abu Kashem
b24dd44904
apiserver: enable apf v1 API 2023-10-30 07:48:22 -04:00
Kubernetes Prow Robot
de4aa52171
Merge pull request #121476 from pohly/golangci-lint-update
golangci-lint v1.55.1
2023-10-27 17:43:21 +02:00
Kubernetes Prow Robot
a5ac4be4d0
Merge pull request #121549 from pohly/verify-file-sizes
verify-file-sizes.sh: ensure that no large binary files get added
2023-10-27 16:05:41 +02:00
Kubernetes Prow Robot
fd5c406112
Merge pull request #120933 from mengjiao-liu/contextual-logging-scheduler-remaining-part
kube-scheduler: convert the remaining part to use contextual logging
2023-10-27 10:30:58 +02:00
Patrick Ohly
b6afba18fb verify-file-sizes.sh: ensure that no large binary files get added
We recently had an accident were a 64MB executable got included in a PR and
wasn't caught during the manual review. This new verify script would have
caught that file.

The maximum file size is 10MB. This is intentionally low. If some legitimate
file needs to be added that is larger, then an entry in a .ignorefilesize file
in the directory of the large file can exclude that file from the check.
2023-10-26 20:08:09 +02:00
Patrick Ohly
27f6fb2fa7 hack/tools: golangci-lint v1.55.1
No particular reason for updating to it besides staying up-to-date. The new
checks in the updated ginkgolinter found issues.
2023-10-26 15:32:43 +02:00
Kubernetes Prow Robot
d0084356b3
Merge pull request #121338 from dims/working-otel-bump
Bump otel and other dependencies for CVE-2023-45142
2023-10-26 08:34:47 +02:00
Davanum Srinivas
702d911e22
working-config-otel
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-10-25 16:31:21 -04:00
Benjamin Elder
3c530eea2d automatically setup etcd when running verify/update openapi-spec.sh
1. automatically add etcd to current PATH when calling kube::etcd::install

2. call kube::etcd::install from update-openapi-spec

3. don't call kube::golang::setup_env twice
2023-10-25 11:22:45 -07:00
Patrick Ohly
39df946c06 golangci-lint: enable doc comment checking for cmd/kubeadm
Some code owners might want this for specific packages, like cmd/kubeadm.

This cannot be enabled for everything because:
- a lot of existing code doesn't pass (-> can't be in base config)
- a lot of packages don't need it (-> shouldn't even be a hint)
2023-10-25 12:30:28 +02:00
Patrick Ohly
d20edf697a verify-golangci-lint.sh: support arbitrary GOBIN
The in-tree configs use a relative path to find logcheck.so. This is useful
because then the invocation of golangci-lint also works outside of the script.
But when running with a containerized build, GOBIN points somewhere else. For
that case, a temporary copy of the configuration has to be created with an
absolute path.
2023-10-25 09:25:53 +02:00
Patrick Ohly
ae5bf8e4c6 verify-golangci-lint.sh: clarify intended usage of warnings
Contributors have created PRs because the linter found them. That is often not
necessary and should be discussed before working on a PR.

While at it, output formatting gets updated a bit (extra blank lines, wording).
2023-10-24 14:42:14 +02:00
Mengjiao Liu
2cea51221a hack/logcheck.conf: enable contextual logging in kube-scheduler 2023-10-24 17:56:59 +08:00
Jonathan Gonzalez V
a7adde53be
bump golang.org/grpc to v1.56.3
Bumping golang.org/grpc in light of CVE-2023-44487.

Signed-off-by: Jonathan Gonzalez V <jonathan.abdiel@gmail.com>
2023-10-19 15:20:07 -03:00
Davanum Srinivas
757597fabf
track unmaintained repo - mailru/easyjson
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-10-16 16:49:50 -04:00
Kubernetes Prow Robot
4c8fca2f06
Merge pull request #112894 from pohly/e2e-framework-test-labels
e2e framework: test labels
2023-10-13 02:40:43 +02:00
Kubernetes Prow Robot
5faebe11b4
Merge pull request #120562 from ArkaSaha30/govulncheck-script
Add govulncheck script to expose go vulnerabilities
2023-10-12 18:50:19 +02:00
John Howard
dc334b953d
dependencies: update otel-go dependencies 2023-10-10 19:16:07 +00:00
Patrick Ohly
535ab74346 e2e framework: track and report internal bugs
If something goes wrong during the test registration phase, the only solution
so far was to panic. This is not user-friendly and only allows to report one
problem at a time.

If initialization can continue, then a better solution is to record a bug,
continue, and then report all bugs together.

This also works when just listing tests. The new verify-e2e-suites.sh uses that
to check all test suites (identified as "packages that call
framework.AfterReadingAllFlags", with some exceptions) as part of
pull-kubernetes-verify.

Example output for a fake

    framework.RecordBug(framework.NewBug("fake bug during SIGDescribe", 0))

in test/e2e/storage/volume_metrics.go:
```
$ hack/verify-e2e-suites.sh
go version go1.21.1 linux/amd64
ERROR: E2E test suite invocation failed for test/e2e.
   ERROR: E2E suite initialization was faulty, these errors must be fixed:
   ERROR: test/e2e/storage/volume_metrics.go:49: fake bug during SIGDescribe
E2E suite test/e2e_kubeadm passed.
E2E suite test/e2e_node passed.
```
2023-10-10 18:15:46 +02:00
Patrick Ohly
f538be659c hack: fix update of golangci-lint verify scripts
b190ea0c9 accidentally enabled verify-golangci-lint-pr-hints.sh (non-blocking!)
in the normal "make verify" (blocking!).
2023-10-10 09:03:20 +02:00
Patrick Ohly
b190ea0c96 hack: update golangci-lint verify scripts
Instead of invoking verify-golangci-lint.sh directly from Prow jobs,
those Prow jobs should use "make verify WHAT=...". The advantage is
that the common code for running verify targets will be used, which
includes producing JUnit files.

Providing simple wrappers for strict linting of PRs (=
verify-golangci-lint-pr.sh) and event stricter linting of PRs with hints
enabled (= verify-golangci-lint-pr-hints.sh) enables those WHAT targets.
2023-10-09 20:14:47 +02:00
Kubernetes Prow Robot
f19b62fc09
Merge pull request #120959 from pohly/e2e-test-whitespace-cleanup
e2e: remove redundant spaces in test names
2023-10-05 00:41:59 +02:00
Kubernetes Prow Robot
f936f69cf9
Merge pull request #120729 from pohly/events-context
k8s.io/client-go/tools/[events|record]: support context
2023-10-04 15:45:16 +02:00
Kubernetes Prow Robot
56f330493c
Merge pull request #120822 from akhilerm/change-from-deprecated-fields
update rules to switch from deprecated dir field
2023-10-04 14:00:38 +02:00
Anish Ramasekar
2f5708833a
[KMSv2] pkcs11 reference implementation using SoftHSM
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2023-09-29 16:57:26 +00:00
Patrick Ohly
0e8a1f1816 e2e: remove redundant spaces in test names
The spaces are redundant because Ginkgo will add them itself when concatenating
the different test name components. Upcoming change in the framework will
enforce that there are no such redundant spaces.
2023-09-29 08:30:57 +02:00
ArkaSaha30
7437ad2617
Add/update prechecks to verify-govulncheck.sh
Signed-off-by: ArkaSaha30 <arkasaha30@gmail.com>
2023-09-27 21:05:17 +05:30
Patrick Ohly
27a68aee3a k8s.io/client-go/tools: support context for event recording
Using StartRecordingToSinkWithContext instead of StartRecordingToSink and
StartLogging instead of StartStructuredLogging has several advantages:

- Spawned goroutines no longer get stuck for extended periods of
  time during shutdown when passing in a context that gets canceled.
- Log output can be directed towards a specific logger instead of the global
  default, for example one which writes to a testing.T instance.
- The new methods return an error when something went wrong instead of
  merely recording the error.

That last point is the reason for deprecating the old methods instead of merely
adding new alternatives.

Setting a context when constructing an EventBroadcaster makes calling Shutdown
optional. It can also be used to specify the logger.

Both EventRecorder interfaces in tools/events and tools/record now have a
WithLogger helper. Using that method is optional, but recommended to support
contextual logging properly. Without it, errors that occur while emitting an
event are not associated with the caller.
2023-09-27 09:06:09 +02:00
Kubernetes Prow Robot
ca1371ebfa
Merge pull request #120423 from saschagrunert/gci-mounter-static
Document `cluster/gce/gci/mounter` as static binary
2023-09-26 06:50:00 -07:00
Akhil Mohan
2ce4f85a46
update verify script to check deprecated fields
Signed-off-by: Akhil Mohan <makhil@vmware.com>
2023-09-25 21:37:40 +05:30
Joseph Anttila Hall
1b602ffd9a
Bump Konnectivity to 0.28.0 2023-09-22 13:10:24 -07:00
Arka Saha
9e34aa306c
Update hack/verify-govulncheck.sh
Co-authored-by: LX <hwdefcom@outlook.com>
Signed-off-by: ArkaSaha30 <arkasaha30@gmail.com>
2023-09-13 12:58:33 +05:30
Kubernetes Prow Robot
921fd1b6fa
Merge pull request #120312 from HirazawaUi/cni-auto-arch-select
Add automatic arch and os selection for the deploy cni plugin
2023-09-12 07:48:13 -07:00
Kubernetes Prow Robot
14ed7e8609
Merge pull request #120579 from BenTheElder/cleanup
remove unnecessary kube::golang::verify_go_version calls
2023-09-11 22:16:15 -07:00
Kubernetes Prow Robot
95c6295636
Merge pull request #120279 from BenTheElder/gotoolchain
handle GOTOOLCHAIN in kube::golang::verify_go_version
2023-09-11 17:04:10 -07:00
Benjamin Elder
7ad0e451ac remove unnecessary kube::golang::verify_go_version calls
These scripts don't use go, GOPATH, etc.

They only need to cd to KUBE_ROOT and run git/grep. verify_go_version is wasting time.
2023-09-11 14:06:28 -07:00
Benjamin Elder
d1b5a9953a handle GOTOOLCHAIN in kube::golang::verify_go_version
for now:
- shim FORCE_HOST_GO to GOTOOLCHAIN=local
- treat GOTOOLCHAIN set and !=auto like FORCE_HOST_GO
- otherwise set GOTOOLCHAIN=go${GO_VERSION} and fallback to gimme if necessary

TODO: set toolchain statements in go.mod files and keep them in sync
2023-09-11 12:04:45 -07:00
ArkaSaha30
190f9d0d4b
Add govulncheck script to expose go vulnerabilities
Signed-off-by: ArkaSaha30 <arkasaha30@gmail.com>
2023-09-11 16:34:50 +05:30
HirazawaUi
c1a0aa08e3 Add cni plugin auto Arch and OS selection 2023-09-09 20:33:12 +08:00
Kubernetes Prow Robot
9068bec08e
Merge pull request #120454 from pohly/golangci-lint-hint-deprecated
golangci-lint: warn about deprecated APIs only as hints
2023-09-08 00:32:25 -07:00
SataQiu
dbd3eb5419 remove logcheck.yaml 2023-09-07 18:24:13 +08:00
Jordan Liggitt
6cd446a206
Add cloud library to unwanted deps 2023-09-06 21:48:30 -04:00
Jordan Liggitt
9f76d8d45a
Track vendor status of unwanted deps 2023-09-06 21:48:30 -04:00
Patrick Ohly
c4dd16a1f8 golangci-lint: warn about deprecated APIs only as hints
This particualar warning didn't make it into
https://github.com/kubernetes/kubernetes/issues/117288.  Discussion on Slack
concluded that "it's hard to have a universal policy for all functions marked
deprecated" and thus this can only be a hint which must be considered on a
case-by-case basis.

For example, APIs like sets.String are very unlikely to ever go away, therefore
it is entirely up to developers whether they switch to sets.Set even though
sets.String is marked as deprecated.

Ideally, the deprecation message should explain this. It doesn't for sets ("use
generic Set instead"), so a better message in that case would have been
"consider using generic Set instead".
2023-09-06 13:30:51 +02:00
cpanato
67858e1ff0
Bump images, dependencies and versions to go 1.21.0
Signed-off-by: cpanato <ctadeu@gmail.com>
2023-09-06 12:06:51 +02:00
Sean Sullivan
a0d6a815fc WebSocket Client and V5 RemoteCommand Subprotocol 2023-09-05 11:37:18 -07:00
Sascha Grunert
e190e179b3
Document cluster/gce/gci/mounter as static binary
The binary is already statically linked so we should mark it correctly
as-is.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2023-09-05 13:37:50 +02:00
Jordan Liggitt
3e252857c1
Add unwanted cloud deps to track 2023-09-01 08:58:21 -04:00
Kubernetes Prow Robot
8dc002532b
Merge pull request #120284 from vbatts/add_unwanted_modules
Add unwanted modules
2023-08-31 20:52:41 -07:00
Vincent Batts
f22d854072
unwanted-dependendencies: updating references, and jq
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2023-08-31 08:22:27 -04:00
Vincent Batts
3bc6ee6fef
unwanted-dependencies: sort this list
Seperated this commit from the prior, to keep it clear the additions.

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2023-08-30 21:50:31 -04:00
Vincent Batts
eb5695b0c5
unwanted-dependencies: adding archived repos
Ref: #120276

This is a first step, and then we'll work to clean the code next.

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2023-08-30 21:49:17 -04:00
SataQiu
2825519da2 apf: remove v1alpha1 API 2023-08-30 20:48:42 +08:00
Kevin Hannon
5dbec5c715 local debugging should utilize the same defaults as prod 2023-08-29 16:38:24 -04:00
Kubernetes Prow Robot
10c622e99a
Merge pull request #119994 from SataQiu/remove-scheduler-v1beta3
scheduler: remove deprecated v1beta3 KubeSchedulerConfiguration component config
2023-08-24 15:31:17 -07:00
Kubernetes Prow Robot
232d343d58
Merge pull request #119969 from saschagrunert/cni-plugins
Update CNI plugins to v1.3.0
2023-08-23 12:41:57 -07:00
Patrick Ohly
ce9e668a93 golangci-lint: suppress one issue, demote others to "hints"
The voting in https://github.com/kubernetes/kubernetes/issues/117288 led to
one check that got rejected ("ifElseChain: rewrite if-else to switch
statement") and several that are "nice to know".

golangci-lint's support for issue "severity" is too limited to identify "nice
to know" issues in the output (filtering is only by linter without considering
the issue text; not part of text output). Therefore a third configuration gets
added which emits all issues (must fix and nits). The intention is to use
the "strict" configuration in pull-kubernetes-verify and the "hints"
configuration in a new non-blocking pull-kubernetes-linter-hints.

That way, "must fix" issues will block merging while issues that may be useful
will show up in a failed optional job. However, that job then also contains
"must fix" issues, partly because filtering out those would make the
configuration a lot larger and is likely to be unreliably (all "must fix"
issues would need to be identified and listed), partly because it may be useful
to have all issues in one place.

The previous approach of manually keeping two configs in sync with special
comments didn't scale to three configs. Now a single golangci.yaml.in with
text/template constructs contains the source for all three configs. A new
simple CLI frontend for text/template (cmd/gotemplate) is used by
hack/update-golangci-lint-config.sh to generate the three flavors.
2023-08-22 20:39:23 +02:00
Patrick Ohly
6a16c076e7 hack: move common "verify generated" shell code into function
Several verify scripts used the same pattern of "check for clean working tree,
generated files, check for diffs". The code for that is now in
kube::verify::generated, defined in hack/lib/verify-generated.sh, and those
scripts just source that.
2023-08-22 20:39:23 +02:00
Davanum Srinivas
3e9a4c15a8
Restrict what imports get into code within test/e2e_node
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-08-21 15:04:23 -04:00
Madhav Jivrajani
a422d11c77 prep for go1.21: use -e in go list
For some reason, in go1.21, go list does not allow
importing main packages anymore, even if it is for
the sake of tracking dependencies (which is a valid
use case).

A suggestion to work around this is to use -e flag to
permit processing of erroneous packages. However, this
doesn't seem prudent.

Signed-off-by: Madhav Jivrajani <madhav.jiv@gmail.com>
2023-08-17 17:46:30 +05:30
Kubernetes Prow Robot
f563910656
Merge pull request #119728 from pohly/ssa-forbid-extract-calls
SSA: prevent usage of Extract calls via forbidigo
2023-08-17 03:25:33 -07:00
Sascha Grunert
7933368460
Update CNI plugins to v1.3.0
Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2023-08-17 09:50:53 +02:00
SataQiu
427b703c37 scheduler: remove deprecated v1beta2 KubeSchedulerConfiguration 2023-08-17 13:27:21 +08:00
Kubernetes Prow Robot
aef70da210
Merge pull request #119860 from pohly/golangci-lint-update
golangci-lint update and support for Go 1.21
2023-08-16 11:37:01 -07:00
Kubernetes Prow Robot
63351cce1c
Merge pull request #119977 from liggitt/optional-gomaxprocs
Make gomaxprocs install optional, limit to tests
2023-08-16 08:24:26 -07:00
Jordan Liggitt
bd36be0218
Make gomaxprocs install optional, limit to tests 2023-08-16 09:33:02 -04:00
Patrick Ohly
9742e276b9 update to golangci-lint v1.54.1 + go-ruleguard v0.4.0
That release is the first one with official support for Go 1.21. go-ruleguard
must be >= 0.3.20 because of
https://github.com/quasilyte/go-ruleguard/issues/449 with Go
1.21. golangci-lint itself doesn't depend on a recent enough release yet, so
this was done manually.
2023-08-16 09:07:30 +02:00
Kubernetes Prow Robot
ad15077193
Merge pull request #119742 from liggitt/unwanted-deps
Catch direct references to unwanted dependencies in kubernetes modules
2023-08-15 21:04:27 -07:00
Jeremy Rickard
ae86051ec5
Bump protoc
Signed-off-by: Jeremy Rickard <jeremyrrickard@gmail.com>
2023-08-07 17:26:05 -06:00
Jordan Liggitt
a5fff9a5d0
Catch direct references to unwanted dependencies in kubernetes modules 2023-08-02 15:44:25 -04:00
Patrick Ohly
4bc9434f99 SSA: prevent usage of Extract calls via forbidigo
Client-side extract calls depend on `managedFields`, which might not be
available. Therefore they should not be used in production code.

They are okay in test files (because the API has to be tested), in the
generated code (because the various type specific APIs still need to be
provided) and in unstructured.go (same reason).
2023-08-02 10:57:51 +02:00
upodroid
1c99f9591b add node-env and instance-type flags to node-e2e tests 2023-07-21 21:46:37 +00:00
Itamar Holder
f37aec6c57 Add LIMITED_SWAP env var to enable limited swap
Signed-off-by: Itamar Holder <iholder@redhat.com>
2023-07-14 14:52:27 +03:00
Patrick Ohly
7d064812bb kube-controller-manager: finish conversion to contextual logging
This removes all exceptions and fixes the remaining unconverted log calls.
2023-07-12 14:57:29 +02:00
Mengjiao Liu
19869478c1 Migrate /pkg/controller/disruption to structured and contextual logging 2023-07-12 11:30:45 +08:00
Naman
09849b09cf migrated pkg/controller/endpointslice to contextual logging
Signed-off-by: Naman <namanlakhwani@gmail.com>
2023-07-11 01:28:22 +05:30
Kubernetes Prow Robot
10a12165de
Merge pull request #116755 from my-git9/feat/endpoint/logging
Migrated `pkg/controller/endpoint` to contextual logging
2023-07-10 05:37:05 -07:00
Maciej Szulik
3f07fc3acc
Remove long/golang version information making short the default 2023-07-07 18:46:34 +02:00