Commit Graph

20744 Commits

Author SHA1 Message Date
Marek Siarkowicz
1f4f2a5d60 Refactor common WithRange case
From API call WithRange and WithPrefix work the same, they just set the range end.
The difference is when the range end is provided:
* WithRange(end) requires providing the end while calling
* WithPrefix() calculates the end based on key provided to the Get.

For example, those are equal:
* client.Get(ctx, "/pods/", WithPrefix())
* client.Get(ctx, "/pods/", WithRange(GetPrfixRangeEnd("/pods/")))

As keyPrefix is equal preparedKey there should not be a difference.
2023-08-31 09:31:58 +02:00
Anish Ramasekar
9e1ff1e512 add loading config and wire feature flag
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2023-08-30 23:14:56 +00:00
Jefftree
57b27fd3cd Fallback to legacy discovery on a wider range of conditions in aggregator 2023-08-30 16:10:51 -04:00
Wojciech Tyczyński
160589a0ed Refactor transformers for watch to implement Encoder interface 2023-08-30 20:53:43 +02:00
Dan Winship
04f0b4a014 Bump CloudDualStackNodeIPs to beta for 1.29 2023-08-30 13:22:39 -04:00
Quan Tian
bf41b0462c Fix OpenAPI aggregation cleanup
There were four issues in OpenAPI aggregation cleanup:
1. When removing an APIService, openAPIAggregationController was called
   twice while openAPIV3AggregationController was never called, leading
   to OpenAPI v3 for the APIService not cleaned up.
2. When removing a local APIService, v2 specAggregator should not return
   ErrAPIServiceNotFound when it doesn't find the APIService because
   local APIServices were never added to its cache, otherwise confusing
   error logs would be generated. Besides, the method's comment
   indicates that the desired behavior is that no error is returned if
   the APIService does not exist.
3. When removing an APIService, v3 specProxier should update
   openapiv2converter's cache, like when updating an APIService,
   otherwise the API would not be removed from "/openapi/v3".
4. When v3 AggregationController reconciles an APIService, it should
   stop requeueing it if it fails with ErrAPIServiceNotFound as the
   APIService has been removed, like what v2 AggregationController does,
   otherwise it would keep reconciling the APIService forever.

Signed-off-by: Quan Tian <qtian@vmware.com>
2023-08-31 00:01:14 +08:00
Quan Tian
2b69daa960 Allow specifying ExternalTrafficPolicy for ClusterIP Services with ExternalIPs
When defining a ClusterIP Service, we can specify externalIP, and the
traffic policy of externalIP is subject to externalTrafficPolicy.
However, the policy can't be set when type is not NodePort or
LoadBalancer, and will default to Cluster when kube-proxy processes the
Service.

This commit updates the defaulting and validation of Service to allow
specifying ExternalTrafficPolicy for ClusterIP Services with
ExternalIPs.

Signed-off-by: Quan Tian <qtian@vmware.com>
2023-08-30 23:56:47 +08:00
Marek Siarkowicz
be4692864b Remove duplicated returnRV variable
returnRV was was equal to withRev, but updated at different time.

When preparing the request they are set equal to each other.

The only difference was during the for loop.
returnRV was always set no matter if pagination was enabled, while withRev only when paginating.
2023-08-30 17:36:09 +02:00
SataQiu
2825519da2 apf: remove v1alpha1 API 2023-08-30 20:48:42 +08:00
Kubernetes Prow Robot
1144c85a92 Merge pull request #119649 from wackxu/Paginatelist
paginate initial list inside the storage watcher
2023-08-30 00:36:58 -07:00
Paco Xu
7e7b67f2cc remove GAed FG GRPCContainerProbe 2023-08-30 10:29:37 +08:00
Kubernetes Prow Robot
0b70423e24 Merge pull request #119537 from ardaguclu/kubectl-debug-cleaning
kubectl debug: Introduce customizable AttachFunc instead static one
2023-08-29 11:21:22 -07:00
Kubernetes Prow Robot
8b4f5bb54b Merge pull request #120218 from rakshitgondwal/feat/protobuf-version-update
feat: update google.golang.org/protobuf to v1.31.0
2023-08-29 08:11:36 -07:00
Kubernetes Prow Robot
8374067038 Merge pull request #120177 from stevekuznetsov/skuznets/generate-crd-applyconfigurations
apiextensions-apiserver: generate applyconfigurations
2023-08-29 08:11:22 -07:00
wackxu
f5d6c65186 paginate initial list inside the storage watcher
Signed-off-by: wackxu <xushiwei5@huawei.com>
2023-08-29 17:24:36 +08:00
Kubernetes Prow Robot
6eca142082 Merge pull request #120212 from p0lyn0mial/upstream-etcd-watcher-validation
storage/etcd3: error when progressNotify option set and newFunc was not provided for a registry
2023-08-29 01:27:21 -07:00
Rakshit Gondwal
709721e0df feat: update google.golang.org/protobuf to v1.31.0
Signed-off-by: Rakshit Gondwal <rakshitgondwal3@gmail.com>
2023-08-28 23:38:32 +05:30
Kubernetes Prow Robot
a3374795e4 Merge pull request #120204 from mimowo/make-onpodconditions-optional
Mark Job onPodConditions as optional in pod failure policy
2023-08-28 09:47:42 -07:00
Wojciech Tyczyński
3fcc045bce Minor cleanup tranformers interface 2023-08-28 18:46:37 +02:00
Wojciech Tyczyński
172a41192c Cleanup setting non-nil Items field 2023-08-28 18:46:08 +02:00
Lukasz Szaszkiewicz
1988c31fc8 storage/etcd3: error when progressNotify option set and newFunc was provided for a registry 2023-08-28 17:50:42 +02:00
Damian Sawicki
8716530346 Add unit tests for extract tag functions in prereleaselifecyclegenerators 2023-08-28 12:44:35 +00:00
Steve Kuznetsov
0ea6522807 apiextensions-apiserver: generate applyconfigurations
These were omitted on accident.

Signed-off-by: Steve Kuznetsov <skuznets@redhat.com>
2023-08-28 06:38:10 -06:00
Michal Wozniak
cc784cfe85 Mark Job onPodConditions as optional in pod failure policy 2023-08-28 11:42:56 +02:00
Kubernetes Prow Robot
91344b4008 Merge pull request #120174 from pohly/apiserver-etcd-metrics-race
apiserver: fix data race in etcd metrics
2023-08-28 02:11:54 -07:00
Arda Güçlü
fa37bebcd4 Add comment about why AttachFunc be overridable 2023-08-28 08:36:32 +03:00
ithrael
d680bc540b fix(test): fix error handling condition in test 2023-08-27 21:11:39 +08:00
Kubernetes Prow Robot
dbcbf5e952 Merge pull request #118401 from skitt/ioutil-sig-cli
cli: stop using deprecated io/ioutil
2023-08-26 00:51:25 -07:00
Anish Ramasekar
e410f86825 [StructuredAuthnConfig] use local variables in oidc pkg
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2023-08-25 19:39:32 +00:00
Anish Ramasekar
1bf90f9484 add StructuredAuthenticationConfiguration feature flag
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2023-08-25 18:56:08 +00:00
Kubernetes Prow Robot
0e86fa5115 Merge pull request #118984 from aramase/aramase/c/kep_3331_wiring_flag_with_api
[StructuredAuthenticationConfig] Create struct for authn config and re-wire OIDC flags to use it
2023-08-25 11:52:55 -07:00
Anish Ramasekar
1bad3cbbf5 wiring existing oidc flags with internal API struct
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2023-08-25 17:15:33 +00:00
Anish Ramasekar
f909eb630c add AuthenticationConfiguration v1alpha1 api
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2023-08-25 17:15:30 +00:00
Wojciech Tyczyński
ff56d3b691 Refactor WatchServer to prepare for using encoders 2023-08-25 16:51:36 +02:00
Patrick Ohly
13a8ad12b8 apiserver: fix data race in etcd metrics
7a63997c8a added a global variable which gets set multiple times by
different goroutines in integration tests, leading to a data race:

WARNING: DATA RACE
Write at 0x00000a626928 by goroutine 87080:
  k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/storage/etcd3/metrics.SetStorageMonitorGetter()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/storage/etcd3/metrics/metrics.go:231 +0x104
  k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/server/options.(*EtcdOptions).ApplyWithStorageFactoryTo()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/server/options/etcd.go:242 +0xbd
  k8s.io/kubernetes/pkg/controlplane/apiserver.BuildGenericConfig()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/controlplane/apiserver/config.go:124 +0x1c3d
  k8s.io/kubernetes/cmd/kube-apiserver/app.CreateKubeAPIServerConfig()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/server.go:218 +0xeb
  k8s.io/kubernetes/cmd/kube-apiserver/app.NewConfig()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/config.go:74 +0xd5
  k8s.io/kubernetes/cmd/kube-apiserver/app/testing.StartTestServer()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/testing/testserver.go:299 +0x2e97
  k8s.io/kubernetes/cmd/kube-apiserver/app/testing.StartTestServerOrDie()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/testing/testserver.go:423 +0xb2
  k8s.io/kubernetes/test/integration/controlplane.testReconcilersAPIServerLease.func3()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/integration/controlplane/kube_apiserver_test.go:486 +0x1dd
  k8s.io/kubernetes/test/integration/controlplane.testReconcilersAPIServerLease.func7()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/integration/controlplane/kube_apiserver_test.go:488 +0x47

Previous write at 0x00000a626928 by goroutine 87079:
  k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/storage/etcd3/metrics.SetStorageMonitorGetter()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/storage/etcd3/metrics/metrics.go:231 +0x104
  k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/server/options.(*EtcdOptions).ApplyWithStorageFactoryTo()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/server/options/etcd.go:242 +0xbd
  k8s.io/kubernetes/pkg/controlplane/apiserver.BuildGenericConfig()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/controlplane/apiserver/config.go:124 +0x1c3d
  k8s.io/kubernetes/cmd/kube-apiserver/app.CreateKubeAPIServerConfig()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/server.go:218 +0xeb
  k8s.io/kubernetes/cmd/kube-apiserver/app.NewConfig()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/config.go:74 +0xd5
  k8s.io/kubernetes/cmd/kube-apiserver/app/testing.StartTestServer()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/testing/testserver.go:299 +0x2e97
  k8s.io/kubernetes/cmd/kube-apiserver/app/testing.StartTestServerOrDie()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/testing/testserver.go:423 +0xb2
  k8s.io/kubernetes/test/integration/controlplane.testReconcilersAPIServerLease.func3()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/integration/controlplane/kube_apiserver_test.go:486 +0x1dd
  k8s.io/kubernetes/test/integration/controlplane.testReconcilersAPIServerLease.func7()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/integration/controlplane/kube_apiserver_test.go:488 +0x47

Mutex locking avoids the data race. Whether this variable really can be used
safely by those concurrent (?) tests is a different question...
2023-08-25 15:39:10 +02: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
714e77595c Merge pull request #120162 from tkashem/apf-promise-refactor
apf: refactor promise to use a context
2023-08-24 11:08:22 -07:00
ithrael
c7549fe340 fix(kubectl): delete pod declare no controllor note 2023-08-24 23:51:14 +08:00
Kubernetes Prow Robot
9ce03d9254 Merge pull request #120152 from p0lyn0mial/upstream-annotate-initial-ev-bookmark
storage/util: introduce AnnotateInitialEventsEndBookmark function
2023-08-24 05:22:41 -07:00
Kubernetes Prow Robot
df8bfdf55e Merge pull request #120102 from p0lyn0mial/upstream-storage-etcd-new-params
storage/factory: extend the Create method by newList and resourcePrefix params
2023-08-24 05:22:32 -07:00
Kubernetes Prow Robot
46e8cfd7d6 Merge pull request #119508 from nayihz/fix_finalizer_validation
validate crd finalizer name
2023-08-24 05:22:20 -07:00
Kubernetes Prow Robot
3737b76484 Merge pull request #120124 from p0lyn0mial/upstream-watch-terminated-logs-improv
storage/cacher: remove duplicate logging when a watch is closed due to unresponsiveness
2023-08-24 04:22:31 -07:00
Lukasz Szaszkiewicz
47d9a47a08 storage/util: introduce AnnotateInitialEventsEndBookmark function
// AnnotateInitialEventsEndBookmark adds a special annotation to the given object
// which indicates that the initial events have been sent.
//
// Note that this function assumes that the obj's annotation
// field is a reference type (i.e. a map).
2023-08-24 12:19:10 +02:00
Lukasz Szaszkiewicz
ccabc01093 storage/factory: extend the Create method by newList and resourcePrefix params 2023-08-24 11:23:05 +02:00
Kubernetes Prow Robot
dd3b1de792 Merge pull request #120060 from jpbetz/cel-features-1_29
Bump cel version to 1.17.5 and bump CEL strings library to version 2
2023-08-23 23:16:33 -07:00
nayihz
13b52a1848 fix crd finalizer validation 2023-08-24 13:43:57 +08:00
Michelle Au
f847565c08 Move mount warnings to info logs for normal expected paths 2023-08-24 04:14:22 +00:00
Joe Betz
980fa6a2b9 Add CEL library lifecycle linter 2023-08-23 17:31:27 -04:00
Joe Betz
3fb14cf4e7 Bump cel string lib to v2, add tests 2023-08-23 17:31:27 -04:00
Joe Betz
640a2ec332 Update k8s code to handle cel-go changes 2023-08-23 17:31:27 -04:00