Commit Graph

19321 Commits

Author SHA1 Message Date
Davanum Srinivas
889c8e919b New repo who dis? distribution/reference
github.com/docker/distribution/reference has a new home github.com/distribution/reference

and a new tag v0.5.0. Let's switch to that.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-08-31 21:53:40 -04:00
Kubernetes Prow Robot
34aaf2b972 Merge pull request #120327 from liggitt/json-patch
Revert to json-patch 4.12.0
2023-08-31 17:06:30 -07:00
Jordan Liggitt
741f146157 Revert to json-patch 4.12.0 2023-08-31 19:01:37 -04:00
Kubernetes Prow Robot
dd0c2d4eb1 Merge pull request #120108 from tnqn/fix-appgregator
Fix OpenAPI aggregation cleanup
2023-08-31 10:42:47 -07:00
Kubernetes Prow Robot
8777747c98 Merge pull request #119150 from tnqn/external-traffic-policy-external-ips
Allow specifying ExternalTrafficPolicy for Services with ExternalIPs
2023-08-31 08:24:48 -07:00
Kubernetes Prow Robot
61d87fdb2e Merge pull request #117502 from Nordix/drain-improvements/adil
Adding more callbacks in kubedrain helper
2023-08-31 06:58:48 -07:00
adil ghaffar
0323fe42e2 adding more callbacks in kubedrain helper 2023-08-31 14:35:09 +03:00
Kubernetes Prow Robot
8daecd125e Merge pull request #120265 from serathius/refactor-store
Refactor store
2023-08-31 02:48:47 -07:00
Kubernetes Prow Robot
def694bbe0 Merge pull request #119801 from wojtek-t/refactor_watch_encoders
Refactor apiserver endpoint transformers to more natively use Encoders
2023-08-31 01:44:48 -07:00
Marek Siarkowicz
e01bd64144 Avoid creating local variables that don't change
Having local variables gives false impression that this is overwritten
in the function block.
2023-08-31 09:34:37 +02:00
Marek Siarkowicz
10553a1966 Flatten switch case 2023-08-31 09:34:12 +02:00
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
Wojciech Tyczyński
160589a0ed Refactor transformers for watch to implement Encoder interface 2023-08-30 20:53:43 +02: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
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
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
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
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
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
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
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