Commit Graph

18329 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
f0ec1eccb2 Merge pull request #116622 from Jefftree/add-metrics-openapiv3
Add additional metrics for OpenAPI V3
2023-03-15 09:54:16 -07:00
Kubernetes Prow Robot
9bb778d48e Merge pull request #116630 from aramase/aramase/c/rm_key_hierarchy
[KMSv2] remove key hierarchy in reference implementation
2023-03-14 22:02:14 -07:00
Igor Velichkovich
5e5b3029f3 Matchconditions admission webhooks alpha implementation for kep-3716 (#116261)
* api changes adding match conditions

* feature gate and registry strategy to drop fields

* matchConditions logic for admission webhooks

* feedback

* update test

* import order

* bears.com

* update fail policy ignore behavior

* update docs and matcher to hold fail policy as non-pointer

* update matcher error aggregation, fix early fail failpolicy ignore, update docs

* final cleanup

* openapi gen
2023-03-14 20:28:26 -07:00
Kubernetes Prow Robot
c072cae4d0 Merge pull request #108838 from nckturner/webhook-framework
Webhook framework for cloud controller manager
2023-03-14 20:28:14 -07:00
Kubernetes Prow Robot
228722578a Merge pull request #116584 from justinsb/parallel_discovery
kubectl prunev2: issue discovery requests in parallel
2023-03-14 19:27:14 -07:00
Kubernetes Prow Robot
815b1bf0d8 Merge pull request #116558 from klueska/update-dra-kubeletplugin-v1alpha2
Update kubeletplugin API for DRA to v1alpha2
2023-03-14 19:27:06 -07:00
Kubernetes Prow Robot
ae36991498 Merge pull request #116332 from klueska/extend-resourceclaimstatus
Update resource.AllocationResult with a slice of ResourceHandlers
2023-03-14 19:26:50 -07:00
Kubernetes Prow Robot
9053b5dc2c Merge pull request #116119 from vinaykul/restart-free-pod-vertical-scaling-fixes
Restructure resize policy naming and set default resize policy values
2023-03-14 19:26:42 -07:00
Lior Lieberman
812d55d230 Updated: Redefine AppProtocol field description and add new standard values (#115433)
* redefine app protocol and add standard values

* change k8s.io/http2 to k8s.io/h2c

* address feedback

* Update staging/src/k8s.io/api/discovery/v1/types.go

Co-authored-by: Rob Scott <rob.scott87@gmail.com>

* remove kubernetes.io/tcp and change wording

---------

Co-authored-by: Rob Scott <rob.scott87@gmail.com>
2023-03-14 19:26:33 -07:00
Kubernetes Prow Robot
15040e1c86 Merge pull request #115123 from aramase/v2beta1
[KMSv2] Generate proto API and update feature gate for beta
2023-03-14 19:26:25 -07:00
Kubernetes Prow Robot
f44d561c1f Merge pull request #115075 from aojea/ipaddress
IPAddress allocator
2023-03-14 19:26:13 -07:00
Anish Ramasekar
804d8b2052 [KMSv2] remove key hierarchy in reference implementation
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2023-03-15 01:28:08 +00:00
Kubernetes Prow Robot
6df64241d0 Merge pull request #116598 from natasha41575/updateKustV5
Update kubectl kustomize to kyaml/v0.14.1, cmd/config/v0.11.1, api/v0…
2023-03-14 17:44:55 -07:00
Kubernetes Prow Robot
f22504a9ba Merge pull request #116539 from pohly/ginkgo-gomega-update
dependencies: ginkgo v2.9.1, gomega v1.27.3
2023-03-14 17:44:40 -07:00
Kubernetes Prow Robot
52559dc6fb Merge pull request #116536 from alexanderConstantinescu/pr-115204-followup
[KCCM] service controller - #115204 follow-up
2023-03-14 17:44:33 -07:00
Kubernetes Prow Robot
2467eb8a7b Merge pull request #116345 from aramase/aramase/f/kms_cache_key
[KMSv2] use encDEK, keyID and annotations to generate cache key
2023-03-14 17:44:25 -07:00
Kubernetes Prow Robot
f3aebc85b9 Merge pull request #114930 from kannon92/add-new-labels
Add batch.kubernetes.io to labels created in the Job controller.
2023-03-14 17:44:13 -07:00
Jefftree
9ad7d96451 Add metrics for OpenAPI V3 2023-03-15 00:07:37 +00:00
Kubernetes Prow Robot
9c1d73bfd6 Merge pull request #116581 from humblec/csiNodeExpand
Update NodeExpandSecretRef comment for beta
2023-03-14 16:34:56 -07:00
Kubernetes Prow Robot
f7bcff44cd Merge pull request #116425 from jsafrane/flip-selinux
Flip SELinuxMountReadWriteOncePod to Beta
2023-03-14 16:34:41 -07:00
Kubernetes Prow Robot
1586138519 Merge pull request #115750 from saschagrunert/otel-beta
Graduate `KubeletTracing` feature to beta
2023-03-14 16:34:33 -07:00
Kubernetes Prow Robot
98b1980a42 Merge pull request #114242 from austince/feat/per-queue-metrics
Allow setting per-workqueue metrics providers
2023-03-14 16:34:26 -07:00
Kubernetes Prow Robot
5469b170fe Merge pull request #107826 from smarterclayton/context_wait
wait: Introduce new methods that allow detection of context cancellation
2023-03-14 16:34:14 -07:00
Nick Turner
86f4136003 Webhook framework for cloud controller manager
Provides framework for CCMs to host webhooks.
2023-03-14 23:28:05 +00:00
Anish Ramasekar
ad698cc0ae [KMSv2] Generate proto API and update feature gate for beta
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2023-03-14 23:18:16 +00:00
Kevin Klues
579295e727 Update kubeletplugin API for DynamicResourceAllocation to v1alpha2
This PR makes the NodePrepareResources() and NodeUnprepareResource()
calls of the kubeletplugin API for DynamicResourceAllocation
symmetrical. It wasn't clear how one would use the set of CDIDevices
passed back in the NodeUnprepareResource() of the v1alpha1 API, and the
new API now passes back the full ResourceHandle that was originally
passed to the Prepare() call. Passing the ResourceHandle is strictly
more informative and a plugin could always (re)derive the set of
CDIDevice from it.

This is a breaking change, but this release is scheduled to break
multiple APIs for DynamicResourceAllocation, so it makes sense to do
this now instead of later.

Signed-off-by: Kevin Klues <kklues@nvidia.com>
2023-03-14 23:09:44 +00:00
Antonio Ojea
ba42ed9a49 make update
Change-Id: I19e12ca05d977dca63043cb07ecf8a90e0e525c5
2023-03-14 22:58:12 +00:00
Antonio Ojea
53dbf1752b kubectl describe IPAddress
Change-Id: I201c2980830058c92b66e2386bfe8bedd8f0dcd4
2023-03-14 22:56:44 +00:00
Antonio Ojea
036f57f3cb Add IPAddress API
Change-Id: I9cf710f011b58409ab880d3b2e7f841f228ee5ee
2023-03-14 22:56:44 +00:00
Kevin Klues
452f345c47 Update generated code for resource.k8s.io/v1alpha2
Signed-off-by: Kevin Klues <kklues@nvidia.com>
2023-03-14 22:41:44 +00:00
Kevin Klues
53dda4ffe2 Update AllocationResult and ResourceHandle for resource.k8s.io/v1alpha2
This implements the change outlined in the following KEP update:
https://github.com/kubernetes/enhancements/pull/3802

Signed-off-by: Kevin Klues <kklues@nvidia.com>
2023-03-14 22:34:18 +00:00
Kubernetes Prow Robot
a9fd6dfc73 Merge pull request #116603 from seans3/discovery-resilience
Aggregated discovery client resilient to nil GVK in response
2023-03-14 15:14:42 -07:00
Kubernetes Prow Robot
fbfc887a09 Merge pull request #116556 from pohly/dra-podschedulingcontext
dra: PodScheduling -> PodSchedulingContext
2023-03-14 15:14:34 -07:00
Kubernetes Prow Robot
900278dd41 Merge pull request #116390 from alexzielenski/kubectl/explain/openapiv3/on-by-default
kubectl explain: use openapiv3 by default
2023-03-14 15:14:26 -07:00
Kubernetes Prow Robot
715e957084 Merge pull request #115374 from pacoxu/add-net.ipv4.ip_local_reserved_ports
add net.ipv4.ip_local_reserved_ports to safe sysctls
2023-03-14 15:14:14 -07:00
justinsb
82eee59d0f prunev2: find resources in parallel
To improve wall-clock speed, we run list operations in parallel.  This
particularly helps when the round-trip time is high.

We issue requests as quickly as possible, kube-apiservers should all
have priority and fairness at this point and we don't want to
duplicate/fight that system.
2023-03-14 22:06:38 +00:00
Patrick Ohly
fe59e091eb dependencies: ginkgo v2.9.1, gomega v1.27.4
They contain some nice-to-have improvements (for example, better printing of
errors with gomega/format.Object) but nothing that is critical right now.

"go mod tidy" was run manually in
staging/src/k8s.io/kms/internal/plugins/mock (https://github.com/kubernetes/kubernetes/pull/116613
not merged yet).
2023-03-14 22:26:27 +01:00
Anish Ramasekar
8eacf09649 [KMSv2] use encDEK, keyID and annotations to generate cache key
It is possible for a KMSv2 plugin to return a static value as Ciphertext
and store the actual encrypted DEK in the annotations. In this case,
using the encDEK will not work. Instead, we are now using a combination
of the encDEK, keyID and annotations to generate the cache key.

Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2023-03-14 21:24:44 +00:00
Kubernetes Prow Robot
3c6ad6df1d Merge pull request #116580 from justinsb/applyset_refactor
kubectl prunev2: Refactor the applyset to be more reusable
2023-03-14 14:13:26 -07:00
Kubernetes Prow Robot
a99779eb63 Merge pull request #116579 from justinsb/kubectl_diff_split_tracker_from_prune
kubectl diff: refactor tracker into a separate type
2023-03-14 14:13:19 -07:00
Kubernetes Prow Robot
f2e1a67c05 Merge pull request #116535 from denkensk/fix-match
feat: forbid to set matchLabelKeys when labelSelector isn’t set in topologySpreadConstraints
2023-03-14 14:13:04 -07:00
Kubernetes Prow Robot
c0ef73222f Merge pull request #116522 from robscott/topology-1-27-updates
Introducing Topology Mode Annotation, Deprecating Topology Hints Annotation
2023-03-14 14:12:48 -07:00
Kubernetes Prow Robot
83cd5ec710 Merge pull request #115935 from enj/enj/i/unsafe_str_byte
token/cache: use go 1.20's approach for no-copy string/bytes conversions
2023-03-14 14:12:33 -07:00
Kubernetes Prow Robot
28fa3cbbf1 Merge pull request #115847 from moshe010/pod-resource-api-dra-upstream
Extend the PodResources API to include resources allocated by DRA
2023-03-14 14:12:26 -07:00
Kubernetes Prow Robot
89a9c0c8bb Merge pull request #96120 from LorbusChris/kubelet-journal-logs
KEP 2258: add node log query
2023-03-14 14:12:14 -07:00
Alexander Zielenski
0c0a91d4d9 throw missing field in std err 2023-03-14 12:47:08 -07:00
Kubernetes Prow Robot
9c2d28f7d5 Merge pull request #116595 from MadhavJivrajani/bump-kubectl-subresource-beta
kubectl: Change subresource flag to beta
2023-03-14 12:38:50 -07:00
Alexander Zielenski
180c312f31 log name of mising field, not path 2023-03-14 12:20:11 -07:00
Clayton Coleman
133dd61578 wait: Deprecate legacy Poll methods for new context aware methods
The Poll* methods predate context in Go, and the current implementation
will return ErrWaitTimeout even if the context is cancelled, which
prevents callers who are using Poll* from handling that error directly
(for instance, if you want to cancel a function in a controlled fashion
but still report cleanup errors to logs, you want to know the difference
between 'didn't cancel', 'cancelled cleanly', and 'hit an error).

This commit adds two new methods that reflect how modern Go uses
context in polling while preserving all Kubernetes-specific behavior:

	PollUntilContextCancel
	PollUntilContextTimeout

These methods can be used for infinite polling (normal context),
timed polling (deadline context), and cancellable poll (cancel context).
All other Poll/Wait methods are marked as deprecated for removal in
the future. The ErrWaitTimeout error will no longer be returned from the
Poll* methods, but will continue to be returned from ExponentialBackoff*.
Users updating to use these new methods are responsible for converting
their error handling as appropriate. A convenience helper
`Interrupted(err) bool` has been added that should be used instead of
checking `err == ErrWaitTimeout`. In a future release ErrWaitTimeout will
be made private to prevent incorrect use. The helper can be used with all
polling methods since context cancellation and deadline are semantically
equivalent to ErrWaitTimeout. A new `ErrorInterrupted(cause error)` method
should be used instead of returning ErrWaitTimeout in custom code.

The convenience method PollUntilContextTimeout is added because deadline
context creation is verbose and the cancel function must be called to
properly cleanup the context - many of the current poll users would see
code sizes increase. To reduce the overall method surface area, the
distinction between PollImmediate and Poll has been reduced to a single
boolean on PollUntilContextCancel so we do not need multiple helper methods.

The existing methods were not altered because ecosystem callers have been
observed to use ErrWaitTimeout to mean "any error that my condition func
did not return" which prevents cancellation errors from being returned
from the existing methods. Callers must make a deliberate migration.

Callers migrating to `PollWithContextCancel` should:

1. Pass a context with a deadline or timeout if they were previously using
	`Poll*Until*` and check `err` for `context.DeadlineExceeded` instead of
	`ErrWaitTimeout` (more specific) or use `Interrupted(err)` for a generic
	check.
2. Callers that were waiting forever or for context cancellation should
	ensure they are checking `context.Canceled` instead of `ErrWaitTimeout`
	to detect when the poll was stopped early.

Callers of `ExponentialBackoffWithContext` should use `Interrupted(err)`
instead of directly checking `err == ErrWaitTimeout`. No other changes are
needed.

Code that returns `ErrWaitTimeout` should instead define a local cause
and return `wait.ErrorInterrupted(cause)`, which will be recognized by
`wait.Interrupted()`. If nil is passed the previous message will be used
but clients are highly recommended to use typed checks vs message checks.

As a consequence of this change the new methods are more efficient - Poll
uses one less goroutine.
2023-03-14 13:14:11 -06:00
Sean Sullivan
26bf8a7ceb Aggregated discovery resilient to nil GVK 2023-03-14 18:50:06 +00:00