Commit Graph

6648 Commits

Author SHA1 Message Date
Keerthan Reddy Mala a94f726abf update the dependency sigs.k8s.io/structured-merge-diff/v4 to latest tag
Kubernetes-commit: d2df65ba6c91c1337e07373c254c2118aec3700a
2023-07-14 09:47:59 -07:00
Kubernetes Publisher 960d8698d0 Merge pull request #120433 from enj/enj/f/kmsv2_default_enable_kdf
kmsv2: enable KMSv2KDF feature gate by default

Kubernetes-commit: c0a38d01aaa2564125bd3496ed6d001f8ce6783d
2023-09-06 14:54:16 +00:00
Kubernetes Publisher 7e9df1cc2d Merge pull request #120365 from aramase/aramase/c/kms_scheme_cleanup
register API types only once for encryption config

Kubernetes-commit: 10d257889d2fc71572a9fb13044e56c3bb915fef
2023-09-06 02:38:48 +00:00
Kubernetes Publisher 7b9705b874 Merge pull request #120183 from aramase/aramase/c/kep_3331_use_local_vars_oidc
[StructuredAuthnConfig] use local variables in oidc pkg

Kubernetes-commit: e291b2799f34cdafa2345299bb1f953fc6a8a918
2023-09-06 02:38:46 +00:00
Kubernetes Publisher e663c84384 Merge pull request #119142 from aramase/aramase/f/kep_3331_add_feature_flag
[StructuredAuthenticationConfig] Add feature flag and wire up `--authentication-config` flag

Kubernetes-commit: f68c66f96dc7efd86c43bc6ca34bfdaa552a0892
2023-09-05 22:29:48 +00:00
Monis Khan 9c40486020 kmsv2: enable KMSv2KDF feature gate by default
Signed-off-by: Monis Khan <mok@microsoft.com>

Kubernetes-commit: 657cc2045ee46922b00d4fd7c126f57d1e8ecc43
2023-09-05 12:27:55 -04:00
Kubernetes Publisher 21bbcb57c6 Merge pull request #120370 from enj/enj/f/kmsv2_default_kdf
kmsv2: add legacy data integration test

Kubernetes-commit: 4619f7e9d9d64a0ae0b17270496ca3f7c67d24e8
2023-09-01 14:35:11 -07:00
Anish Ramasekar 9b1c514777 register API types only once for encryption config
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>

Kubernetes-commit: 418af0f4dcbe15147b21462b9e5db5a5ba769c12
2023-09-01 17:24:20 +00:00
Monis Khan 87aad93082 kmsv2: add legacy data integration test
Signed-off-by: Monis Khan <mok@microsoft.com>

Kubernetes-commit: 95121fe846f875c4f3feb2b1bf42a9553566f097
2023-09-01 11:21:38 -04:00
Kubernetes Publisher b2b97da960 Merge pull request #120221 from enj/enj/i/kms_cache_metrics_lock
kmsv2: fix race in simpleCache.set when setting cache size metric

Kubernetes-commit: a99e377a54b31071d3fcd6f640c90cc7d851f6ed
2023-09-01 18:13:45 +00:00
Kubernetes Publisher 9998872cea Merge pull request #120304 from p0lyn0mial/upstream-storage-options-progress-notification
storage: document ProgressNotify from storage.ListOptions

Kubernetes-commit: a42f4f61c2c46553bfe338eefe9e81818c7360b4
2023-09-01 18:13:43 +00:00
Lukasz Szaszkiewicz 957c305d94 storage/etcd: add TestWatchDispatchBookmarkEvents unit test
Kubernetes-commit: 875b00137fdfbc74756a0fc5b1c9b2adbeb78e55
2023-09-01 13:45:44 +02:00
Lukasz Szaszkiewicz 51e79bdd97 storage: document ProgressNotify from storage.ListOptions
At first glance, it seems that the fields storage.ListOptions.ProgressNotify and storage.ListOptions.Predicate.AllowWatchBookmarks
are the same. Unfortunately, this is not the case.

This PR documents the differences and motivations for why these fields are actually distinct.

Kubernetes-commit: 6058540f3d0edc405a1f1b8a96bd82ceca99c240
2023-09-01 10:48:36 +02:00
Kubernetes Publisher e74fcfcb78 Merge pull request #120327 from liggitt/json-patch
Revert to json-patch 4.12.0

Kubernetes-commit: 34aaf2b972c95c7a3591d8d49c798dba348ee5c9
2023-09-01 05:45:18 +00:00
Kubernetes Publisher 0ef5b594e1 Merge pull request #120265 from serathius/refactor-store
Refactor store

Kubernetes-commit: 8daecd125e3e6ecf103405c94cce0e54e5c0d5f3
2023-09-01 05:45:16 +00:00
Kubernetes Publisher 1e20ddcb59 Merge pull request #119801 from wojtek-t/refactor_watch_encoders
Refactor apiserver endpoint transformers to more natively use Encoders

Kubernetes-commit: def694bbe02b81c2b034e151ed86f1d30d23814b
2023-09-01 05:45:15 +00:00
Jordan Liggitt 5f5ff7deb5 Revert to json-patch 4.12.0
Kubernetes-commit: 741f1461571007fcf4cf3edbd121d6ef0c596c72
2023-08-31 19:01:37 -04:00
Kubernetes Publisher 815b79171a Merge pull request #120266 from serathius/remove-returnRV
Remove duplicated returnRV variable

Kubernetes-commit: a0873d37c58757ac6c2a339af1e4f8d601cdef20
2023-08-30 12:30:47 -07:00
Marek Siarkowicz a8fba27b08 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.

Kubernetes-commit: be4692864bb983e94e8d7b6b6aa1a9c22fe23bce
2023-08-30 17:36:05 +02:00
Marek Siarkowicz 8b7824a7e8 Avoid creating local variables that don't change
Having local variables gives false impression that this is overwritten
in the function block.

Kubernetes-commit: e01bd641447a315e28fab8148e99ac6afba9bcd7
2023-08-30 16:51:40 +02:00
Marek Siarkowicz 90adbb75eb Flatten switch case
Kubernetes-commit: 10553a1966892e305252c65ebeb9043416304f48
2023-08-30 16:42:34 +02:00
Marek Siarkowicz 5f9b5dda94 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.

Kubernetes-commit: 1f4f2a5d6014dc8f98b25a9484d4a6064a6ae18e
2023-08-30 16:26:20 +02:00
Kubernetes Publisher dfbca900c7 Merge pull request #119649 from wackxu/Paginatelist
paginate initial list inside the storage watcher

Kubernetes-commit: 1144c85a929bb7a7d30e3343c660286511afb1e3
2023-08-30 12:13:26 +00:00
Kubernetes Publisher f4c85a1be0 Merge pull request #120218 from rakshitgondwal/feat/protobuf-version-update
feat: update google.golang.org/protobuf to v1.31.0

Kubernetes-commit: 8b4f5bb54b3c2f0e671e87f5038bf3257109edd4
2023-08-29 16:13:28 +00:00
Kubernetes Publisher cf1a15a1c5 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

Kubernetes-commit: 6eca14208217ebb72fc4e690357b4c41ddd22436
2023-08-29 12:04:18 +00:00
Rakshit Gondwal 87018d6669 feat: update google.golang.org/protobuf to v1.31.0
Signed-off-by: Rakshit Gondwal <rakshitgondwal3@gmail.com>

Kubernetes-commit: 709721e0df1940f0316f6b81e8ceaeb493634400
2023-08-28 23:38:32 +05:30
Lukasz Szaszkiewicz 206231e0d0 storage/etcd3: error when progressNotify option set and newFunc was provided for a registry
Kubernetes-commit: 1988c31fc8115bf9eec1adf2bffed3fd677d1a9f
2023-08-28 17:50:42 +02:00
Kubernetes Publisher 2faa5c8d3f Merge pull request #120174 from pohly/apiserver-etcd-metrics-race
apiserver: fix data race in etcd metrics

Kubernetes-commit: 91344b4008f6c5dfce82541b0c96cb8670b8350c
2023-08-28 11:36:59 +00:00
Monis Khan 49c6151dee kmsv2: fix race in simpleCache.set when setting cache size metric
Signed-off-by: Monis Khan <mok@microsoft.com>

Kubernetes-commit: b10697c7880848d7ec110fd6b3e67015bbe74fa8
2023-08-27 15:14:04 -04:00
Kubernetes Publisher 92c9e511f6 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

Kubernetes-commit: 0e86fa5115cb79a04bdb949d135e35a31ce806f2
2023-08-25 22:40:42 +00:00
Anish Ramasekar d4b9ebf180 [StructuredAuthnConfig] use local variables in oidc pkg
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>

Kubernetes-commit: e410f86825fa5df5b05cc3aed5417f7cd9716ebd
2023-08-25 19:39:32 +00:00
Patrick Ohly 037fa7c2c2 apiserver: fix data race in etcd metrics
7a63997c8a1a9ba1 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...

Kubernetes-commit: 13a8ad12b8296c0360afe3f66218027dae6c1805
2023-08-25 10:42:17 +02:00
Kubernetes Publisher a78d1b9b03 Merge pull request #120162 from tkashem/apf-promise-refactor
apf: refactor promise to use a context

Kubernetes-commit: 714e77595c8b19b693925bda2a96ab80c307d38f
2023-08-24 22:40:35 +00:00
Kubernetes Publisher 89074f262b Merge pull request #120152 from p0lyn0mial/upstream-annotate-initial-ev-bookmark
storage/util: introduce AnnotateInitialEventsEndBookmark function

Kubernetes-commit: 9ce03d9254cbd47d82a4b2d88e2a915943d90e26
2023-08-24 14:56:06 +00:00
Kubernetes Publisher 4e53a5e5a8 Merge pull request #120102 from p0lyn0mial/upstream-storage-etcd-new-params
storage/factory: extend the Create method by newList and resourcePrefix params

Kubernetes-commit: df8bfdf55ed8ed2c7ddc2757cf0829040f851abd
2023-08-24 14:56:05 +00:00
Kubernetes Publisher f42313972c Merge pull request #120124 from p0lyn0mial/upstream-watch-terminated-logs-improv
storage/cacher: remove duplicate logging when a watch is closed due to unresponsiveness

Kubernetes-commit: 3737b764841b6f8d5327323884a7c8078e209cde
2023-08-24 14:56:03 +00:00
Kubernetes Publisher c1ab2b8033 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

Kubernetes-commit: dd3b1de79251f4105b33f0beae9c505afff41eff
2023-08-24 10:56:37 +00:00
Lukasz Szaszkiewicz d8d65bebc5 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).

Kubernetes-commit: 47d9a47a08856613e2e6ae6aa8a1bdeb1e281f97
2023-08-24 12:19:10 +02:00
Kubernetes Publisher 01011a76dc Merge pull request #120087 from divyasri537/incorporating-feedback-PR-119341
Incorporating feedback on 119341

Kubernetes-commit: 8290c4c9c1904f160b8d297ffc052ce58222bc91
2023-08-24 03:01:39 +00:00
Kubernetes Publisher 3780c610f6 Merge pull request #119503 from wojtek-t/pagination_ga
Graduate APIListChunking to GA

Kubernetes-commit: 2e6eafca3f466b072f23aff4ff4d6d8a973f5606
2023-08-23 21:40:56 +00:00
Joe Betz eedba684cf Add CEL library lifecycle linter
Kubernetes-commit: 980fa6a2b9edae577d1b71a28834afe1ca7dfe82
2023-08-23 17:17:32 -04:00
Lukasz Szaszkiewicz 52849e2b21 storage/cacher: duplicate logging when a watch is closed due to unresponsiveness.
Kubernetes-commit: 1327a57aaf8f5ffaea3d33204dbe64dccef4e0ef
2023-08-23 12:51:50 +02:00
Kubernetes Publisher 2538d7ca48 Merge pull request #120097 from jpbetz/fix-ppc64le
Fix CEL cost handling of zero length replacement strings

Kubernetes-commit: 07f47d8b407ace1cf85f814b787718ba1e65ef6a
2023-08-23 00:01:40 +00:00
Kubernetes Publisher 6ab39bb78f Merge pull request #120090 from MikeSpreitzer/fix-120032
Handle edge cases in seat demand stats

Kubernetes-commit: 2792d913674ae44983505a3265df2ac6408b85b9
2023-08-22 20:02:09 +00:00
Joe Betz f0fbaa3fab Bump cel string lib to v2, add tests
Kubernetes-commit: 3fb14cf4e7a0230d57f579b86262d9df6997e5e3
2023-08-22 13:05:09 -04:00
Joe Betz 6f6cacf8bf check for overflow
Co-authored-by: Jordan Liggitt <jordan@liggitt.net>

Kubernetes-commit: b1223e0d1ac626d5472436ed2cd0bc2962394004
2023-08-22 10:02:10 -07:00
Joe Betz 3e172f1316 Fix CEL cost handling of zero length replacement strings
Kubernetes-commit: 87cf890632c538e83e961035e73f0f2e8d3ceeba
2023-08-21 22:48:11 -04:00
Mike Spreitzer 7c7ff34a5a Handle edge cases in seat demand stats
Signed-off-by: Mike Spreitzer <mspreitz@us.ibm.com>

Kubernetes-commit: b0e249f657a18c1435ace391fa752711dafce732
2023-08-21 15:26:38 -04:00
Kubernetes Publisher 08f8ff0d3f Merge pull request #119790 from seantywork/added-comment
added comment for clarifying steps related to kubernetes mutual (2-wa…

Kubernetes-commit: 55c86d6ad930d437931079318d740bdf8dac34f0
2023-08-21 20:27:23 +00:00
Abu Kashem 27772523df apf: refactor promise to use a context
Kubernetes-commit: 0039f24d74d0f57c8ba868ae361821d37fd908d6
2023-08-21 15:19:31 -04:00