Commit Graph

454 Commits

Author SHA1 Message Date
Michael Gasch 0cdbc006ea Add etcd WithRequireLeader option to API watches
Watches against etcd in the API server can hang forever if the etcd
cluster loses quorum, e.g. the majority of nodes crashes. This fix
improves responsiveness (detection and reaction time) of API server
watches against etcd in some rare (but still possible) edge cases so
that watches are terminated with `"etcdserver: no leader"
(ErrNoLeader)`.

Implementation behavior described by jingyih:

```
The etcd server waits until it cannot find a leader for 3 election
timeouts to cancel existing streams. 3 is currently a hard coded
constant. The election timeout defaults to 1000ms.

If the cluster is healthy, when the leader is stopped, the leadership
transfer should be smooth. (leader transfers its leadership before
stopping). If leader is hard killed, other servers will take an election
timeout to realize leader lost and start campaign.
```

For further details, discussion and validation see
https://github.com/kubernetes/kubernetes/issues/89488#issuecomment-606491110
and https://github.com/etcd-io/etcd/issues/8980.

Closes: https://github.com/kubernetes/kubernetes/issues/89488

Signed-off-by: Michael Gasch <mgasch@vmware.com>

Kubernetes-commit: 70c9f770d7aa2194bfd3f58fe01756a7d200b866
2020-03-31 12:01:53 +02:00
jingyih 9303178e27 Add a metric exposing etcd database size
Kubernetes-commit: 922ec728de9248657f026eb6cfb8fdaeb11049ac
2020-03-16 07:55:38 -07:00
Abu Kashem 6d0de7f4cb Fix data race issue in unit test
TestDispatchingBookmarkEventsWithConcurrentStop can use processEvent
instead of `dispatchEvent` to avoid data race conditions with
`Cacher.watchersBuffer`.

Kubernetes-commit: 7dc075673c24ffd8bde08a4c7ec55a8b633b20e2
2020-03-16 17:43:32 -04:00
Jordan Liggitt 1a93b794ed Preserve target apiVersion when decoding into unstructured lists
Kubernetes-commit: fa12441ab99cac81b0034208fd10d8a4fc3d5bd0
2020-03-10 03:13:20 -04:00
Monis Khan f5c1e085ed storage: confirm that paging and predicate filtering work together
This change adds the TestListContinuationWithFilter test which
confirms that paging with a predicate that does not match everything
results in the correct amount of calls to TransformFromStorage and
KV.Get.  The partial result of each paging call is also asserted.

Signed-off-by: Monis Khan <mok@vmware.com>

Kubernetes-commit: 002c75442d768d2bcc51047667354ff16bbfa2e8
2020-02-28 15:35:22 -05:00
immutablet 66b663f223 Instrument DEK cache fill and request inter-arrival times.
Kubernetes-commit: 684d6fb0ade6ac088af391cedd70bc847941a54f
2020-02-18 16:39:53 -08:00
shaloulcy 2c701b633b validate storage cache indexers
Signed-off-by: shaloulcy <lcy041536@gmail.com>

Kubernetes-commit: fa9ba80a67deeb9089e1be8ebac21063ebc07904
2020-02-05 12:08:14 +08:00
shaloulcy 6099d76e39 add indexer for storage cacher
Signed-off-by: shaloulcy <lcy041536@gmail.com>

Kubernetes-commit: 87582e2c3c1cb8c8e10ec05a4700f865c759b7b2
2019-11-19 16:52:07 +08:00
Davanum Srinivas cde2338e26 update generated files
Kubernetes-commit: b3853138a4f1a0637ec3c38a5c59f8228765b261
2020-01-13 17:56:56 -05:00
danielqsj fdd895e164 remove last part of deprecated metrics
Kubernetes-commit: 606e4503cf4cea9f05cfd467b88c88cf9c5648d9
2019-12-27 14:23:11 +08:00
danielqsj 669e87efbe clean SinceInMicroseconds, convert to SinceInSeconds
Kubernetes-commit: ab182552b485ceed96c3b05d284ae9480377daf8
2019-04-15 16:18:01 +08:00
danielqsj b31ce5f20e remove deprecated metrics of apiserver
Kubernetes-commit: 060756babbb6991cf9426c38be595d23e7124b4e
2019-04-12 16:15:13 +08:00
danielqsj 400e5a4291 remove deprecated metrics of etcd
Kubernetes-commit: 447b17587b6df7cf5828cf32fb333f0a3b7957cd
2019-04-12 15:54:31 +08:00
willise f0281f38ec fix: typos in comments of admission
Kubernetes-commit: e8b5658bd11384d2796f9512f6edb95c632a0a59
2020-01-10 14:01:06 +08:00
Ted Yu 006e524c38 Log mvcc revision compaction as warning
Kubernetes-commit: 9fec783d805ebdb05f1936dffd9621702eb0f711
2019-10-31 07:24:17 -07:00
danielqsj 76c4ab8bb5 unify alias of api errors under pkg and staging
Kubernetes-commit: 5bc0e26c1902e7e28abfc828de19a2dbb3e492c2
2019-11-12 16:26:59 +08:00
immutablet 5cec6b4746 Add defaulting logic for EncryptionConfiguration.
Kubernetes-commit: a151aa35dc21881d178e498141e5f58df13fb400
2019-11-14 22:53:18 -08:00
RainbowMango 5f15b07078 Hide apiserver metrics that have been deprecated in 1.15
Kubernetes-commit: 627a9abc9edb2b06c3b30e53ccd422e15c1f6ea1
2019-10-12 21:17:01 +08:00
RainbowMango de8c866328 Hide apiserver metrics that have been deprecated in 1.14
Update E2E test accordingly.

Kubernetes-commit: 5e0695e339ff0887ebebddfa8630de191f7fa235
2019-10-12 20:25:10 +08:00
Joe Betz ee483f99bc Fix watch test to expect Expired instead of Gone
Kubernetes-commit: 57b451cfb6738fca45fc05cd50c1ff6d7240e3a7
2019-11-05 22:06:10 -08:00
Joe Betz 1ee386df74 Add HTTP 410 (Gone) status code checks to reflector and relist with RV=''
Kubernetes-commit: e2fe126d485af243d45f06bafd2ca83931881429
2019-10-09 16:45:32 -07:00
immutablet 29f5d9ba4a Move the common logic of checking for kms-plugin's version into gRPC client interceptor.
Kubernetes-commit: d2b4723302e61efdd942d59801f18ae3ec24887a
2019-10-25 15:08:52 -07:00
Wenjia Zhang e518fe04f6 Resolve uncompatibility from update: etcd CAFile -> TrustedCAFIle
Kubernetes-commit: 9ead9373f350c7ad438257a9e8b8977a67b900eb
2019-10-23 11:15:43 -07:00
Wenjia Zhang 41da2ced4c Replace github.com/coreos/etcd by go.etcd.io/etcd
Kubernetes-commit: 3b274fad2a719dc1fd0eaef6c55a0d344db10242
2019-10-15 22:38:43 -07:00
Ted Yu 0026dd975b etcd health check key should have proper prefix
Kubernetes-commit: f4941e265e1a41a1b8846eae61a4049785cabb7e
2019-10-21 17:03:24 -07:00
wojtekt a76d249b96 Tweak use of caching objects
Kubernetes-commit: c5170dfb66749b60a4a1611dc7b4a39e64b33e2e
2019-10-16 09:05:13 +02:00
immutablet 3079381054 Use single kms-plugin mock in unit and integration tests.
Kubernetes-commit: 4d24b41410f2253c7b2f9e2b6d56910894016c61
2019-10-11 15:25:05 -07:00
wojtekt b950ddfb46 Promote WatchBookmarks feature to GA
Kubernetes-commit: a22a4ed3c54d6e30edc972f501fbfddc789bea9b
2019-09-26 15:29:52 +02:00
Bob Killen 01b17215e9 Prune inactive owners from staging/src/k8s.io/apiserver/* OWNERS files.
Kubernetes-commit: 20285dd4608d4dbe7c86a4997c8975bfbf6d1b1c
2019-10-12 19:35:18 -04:00
RainbowMango dfdab3a0c8 Remove direct reference to prometheus from apiserver/pkg/storage/value.
Kubernetes-commit: 78d0f1827acfb8400d6e1622d55bdfed64b047ed
2019-10-09 21:58:51 +08:00
immutablet 5035dae3d5 Replace deprecated methods in the logic involved in the construction of gRPC connection to kms-plugin.
Kubernetes-commit: e50c264c35a32200febde3b10838b2ef2f986c39
2019-10-07 15:57:47 -07:00
RainbowMango 7687c3a4e8 Migrate prometheus bucket functionality to metrics stability framework.
Kubernetes-commit: 1f9ab1b85c5560a155b1702d1b5d28aa2d95a1b7
2019-09-12 17:10:44 +08:00
Joe Betz 1b75e5416d Use same 'minimum resource version' semantics both when watch cache is enabled and disabled
Kubernetes-commit: 1406f7adf20a9ceaf5b8270ec9a61dd9e450ae8a
2018-12-04 16:55:59 -08:00
Wojciech Tyczynski 20ecceebd3 Cache serializations
Kubernetes-commit: 25a728ae5eb0ae067d21679fad915c0555242470
2019-08-25 09:55:52 +02:00
Wojciech Tyczynski 4b6162fe6b CachingObject
Kubernetes-commit: 4cd81549f9a6a325183e6c43c831ecf79f434b8e
2019-08-25 06:16:49 +02:00
chenyaqi01 4f9778fb9d replace bytes.Compare() with bytes.Equal()
Kubernetes-commit: 66be69bb0e7fd147be650385d272ae14ee2857c8
2019-09-27 10:06:50 +08:00
Shihang Zhang 53db7e198a change envelope transformer to return status error for better monitoring
Change-Id: I8263c4673d5f57617acf315c7af6ebe5aacd9c7c

Kubernetes-commit: cba43530d77d7f28bc302912e8f43c4a69fdec3b
2019-09-10 13:12:31 -07:00
haoshuwei 5bce489f18 fix some ineffassigns
Signed-off-by: haoshuwei <haoshuwei24@gmail.com>

Kubernetes-commit: aaed9daf9b44757e767d93bd45d1bb0412c00243
2019-09-09 18:52:17 +08:00
Ted Yu 66fb39740e Return proper Kind in error for Cacher
Kubernetes-commit: e4d880bd62fc694bffc188a680c9c088a86a5167
2019-09-07 19:42:56 -07:00
Monis Khan 298cf1beec Encryption config: correctly handle overlapping providers
This change updates NewPrefixTransformers to not short-circuit on
the first transformer that has a matching prefix.  If the same type
of encryption ProviderConfiguration is used more than once, they
will share the same prefix.  A failure in the first one should not
prevent a later match from being attempted.

Added TestCBCKeyRotationWithOverlappingProviders unit test to
prevent regressions.  Note that this test explicitly exercises this
flow using an EncryptionConfiguration object as the structure of the
resulting transformer is an important part of the check.

Signed-off-by: Monis Khan <mkhan@redhat.com>

Kubernetes-commit: 4dc16f29a7285a4bcaff1915728953d8a55e1b6e
2019-09-06 12:09:43 -04:00
Haowei Cai a0989eba0f in GuaranteedUpdate, retry on precondition check failure if we are working with cached data
Kubernetes-commit: 88f0be6e59aa56570deaa2a9163d0eb3a3ae20f8
2019-09-03 17:26:39 -07:00
Walter Fender da748a626b Add support for konnectivity service to the etcd3 client.
If konnectivity service is enabled, the etcd client will now use it.
This did require moving a few methods to break circular dependencies.

Factored in feedback from lavalamp and wenjiaswe.

Kubernetes-commit: edbb0fa2fe2084d5d9ce0cf9dc0d1b2d820bb392
2019-08-27 15:58:06 -07:00
Gyuho Lee 1d75397d46 k8s/apiextensions-apiserver/test/integration: block etcd client creation until connection is up
The new etcd balancer (>3.3.14, 3.4.0) uses an asynchronous resolver for
endpoints. Without "WithBlock", the client may return before the
connection is up.

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>

Kubernetes-commit: a254d0e2a67645948c9631d4bf11ef60aa26f5ae
2019-08-14 17:28:54 -07:00
Han Kang 17306f6993 add comment about explicitly registering grpcprom client metrics
Kubernetes-commit: 1700a315c188e4b9d434d1e51de75426aa9d7867
2019-08-27 10:30:57 -07:00
Han Kang 3e6e1db500 add some documentation around the metrics stability migration changes for clarity
Kubernetes-commit: 4e5d906c4d008f914b0ede26ea91533d6343dec5
2019-08-26 19:15:30 -07:00
Han Kang b9084e350a migrate kube-apiserver metrics to stability framework
Kubernetes-commit: 466980dd747e06e55451301c624eecccfa505123
2019-08-22 15:38:42 -07:00
Jordan Liggitt 0c706a033c Plumb context to admission Admit/Validate
Kubernetes-commit: 61774cd7176cae0c0324d23ab20e6c6b3038153f
2019-08-19 10:48:08 -04:00
Shihang Zhang 7bf3105100 inject transformer prefix into metric
Change-Id: Iacab685a710d8f8d5b80ed0d35e5ccc22bd929cb

Kubernetes-commit: 099484ee5fb185e92cd154e29c63cf34201e803f
2019-08-01 14:49:37 -07:00
Joe Betz f103fcda51 Replace string concatination with trace fields
Kubernetes-commit: 46a04d50af78e01d06a9879d62cc71fbe892076f
2019-08-02 23:47:24 -07:00
Ted Yu 258e8e3387 Rename cacheWatcher#stop
Kubernetes-commit: 0b3c07a98c7c03e3edcf4f21ff96ea74082a54e5
2019-08-02 04:32:50 -07:00
Ted Yu 2fe1729c24 Refine watcher count calculation
Kubernetes-commit: 4ce92b05acf7fec89c8723ba1779bf9e2baf55f4
2019-07-30 23:04:54 -07:00
Ted Yu 06470a960d Pop expired watchers in case there is no update
Kubernetes-commit: 0204bc7e2594c297f146701132ee969721ada2ab
2019-07-30 06:49:01 -07:00
Antoine Pelisse 0c3358252b Regenerate
Kubernetes-commit: 6568325ca2bef519e5c8228cd33887660b5ed7b0
2019-07-24 15:21:55 -07:00
Ted Yu 4eb89249bd Rename TriggerPublisherFunc as IndexerFunc
Kubernetes-commit: 6e98aab26e4fb867a6d8b4342937823cf1597d89
2019-07-18 06:45:48 -07:00
wojtekt bb8cecbe8c Simplify trigger functions in cacher
Kubernetes-commit: 68fd329e00d1ddf19a7ec0db1607820a1c4c008a
2019-07-04 14:21:06 +02:00
wojtekt fa23498ce7 Propagate error from creating cacher and storage decorators up
Kubernetes-commit: ee13be28845e8c55f6e2a2207ca4f46cd67fdb4e
2019-07-15 09:34:08 +02:00
fansong.cfs ec1dcedb44 delivery event non blocking firstly
Kubernetes-commit: 5e493ab467472f38d7e78b19180bb6c7684170f0
2019-04-28 21:06:59 +08:00
wojtekt 15b0ff80e3 Move etcd/util to etcd3/
Kubernetes-commit: 23d9d6b1d0f835d7b342773149ded2c89c6b4507
2019-07-02 09:28:02 +02:00
Ted Yu de3970c505 Revert Provide resource version in error if available
Kubernetes-commit: 58b0a2769a57bc190eb5b2a424582270720b325a
2019-07-08 14:33:37 -07:00
Ted Yu 50569df906 Provide resource version in error if available
Kubernetes-commit: 6459b61bca8ea8d02ccd1771288345af498ae176
2019-07-06 00:59:20 -07:00
caohe ac25e63a3e Remove panic in storage and add log
Signed-off-by: caohe <caohe9603@gmail.com>

Kubernetes-commit: 99365063bac66b0cb9f2c3f7322e48b8cb3a0cf7
2019-07-06 17:01:20 +08:00
Vallery Lancey 6e15e9a893 Updated github.com/gogo/protobuf from SHA to nearest-pinnable tag (v1.0.0), as part of dependency management cleanup: #79234
Kubernetes-commit: fe59ee8aaf8c7399476d286349caca9e3c05c522
2019-07-02 21:44:06 -07:00
wojtekt 9698803236 Move etcd/testing to etcd3/testing
Kubernetes-commit: 7497260e54c555c1fb1def741267f9dc23fe7dce
2019-07-01 10:38:19 +02:00
Ted Yu 5f417af526 Clear valueWatchers instead of removing every entry using a loop
Kubernetes-commit: a06daff032f981672a47c71b23c62b9b85793893
2019-07-01 20:11:39 +08:00
wojtekt 6d99094b88 Move APIObjectVersioner
Kubernetes-commit: fd819f8fdc2528249efc94c18da434b61fe87925
2019-06-28 13:58:08 +02:00
wojtekt c8fac58c15 Move etcdtest to testing
Kubernetes-commit: 28fa6de62933bfb5d5b7c36db60873a8c8d85dea
2019-06-28 13:36:48 +02:00
wojtekt 01c4fe2028 Cleanup util file
Kubernetes-commit: 762518fd47bb058d11b26c60d9cf9f9a9c5b3c05
2019-06-28 13:30:43 +02:00
wojtekt cc7d4cc1f1 Move metrics to etcd3 and clean up
Kubernetes-commit: a06f2cfc3fa896d9edefe42387da65905b30ec8e
2019-06-28 13:05:58 +02:00
Sukeesh 8f207390a6 Update doc.go in staging/src/k8s.io/
Kubernetes-commit: c8bd20d1b289eadb6abc20f0868f4a5a6a668035
2019-06-25 22:43:44 +09:00
wojtekt f1e887e5d1 Remove dead metrics in etcd code
Kubernetes-commit: fd9fb50251fd130ffc797c6f7ab63d65565744c7
2019-06-28 11:17:27 +02:00
Jordan Liggitt 8b9440cfa5 Fix spurious .sock files running envelope unit tests
Kubernetes-commit: 04b6f1ea03f88abd9eb3a2635995a405f68527e0
2019-06-13 10:52:59 -04:00
Chao Xu d403146da2 Protect remainingItemCount behind a feature flag. Also updating the API doc
Kubernetes-commit: 1ad5cb5bb16c83bc7f0a3b78ad196a665a45996d
2019-05-31 15:32:26 -07:00
Jordan Liggitt 2c3ab14d64 Set expected in-memory version when decoding unstructured objects from etcd
Kubernetes-commit: 932553a08c5142fc7751555697e28bdc1f2eff09
2019-06-04 22:12:34 -04:00
Jordan Liggitt 00e2435130 Make GetRemainingItemCount/SetRemainingItemCount use pointers
Kubernetes-commit: 145e8c46cf81ff16b65ff729c392ced262984847
2019-05-27 12:03:26 -04:00
Chao Xu bba40a550f Make ListMeta.RemainingItemCount a pointer (*int64) to make sure it's omitted
when serialized to proto.

The SetRemainingItemCount() and GetRemainingItemCount() still takes and
returns an int64 to make developers life easier.

Kubernetes-commit: e28a1072d94d947f38db7abc4c66426b8f057b17
2019-05-24 17:35:00 -07:00
immutableT b5fd10ca67 Add transformation_operations_total to transformer metrics.
Kubernetes-commit: 90c94214147f16e57190895cb287bcbe0a6057fd
2018-11-06 13:48:02 -08:00
Joe Betz db6e870285 Add webhook converter integration test suite
Kubernetes-commit: e23769f018ff50763656f99edd907e91e8bfff3e
2019-05-08 22:42:41 -07:00
Chao Xu 5c9333e4d3 Run deleteValidation at the storage layer so that it will be retried on
conflict.

Adding unit test verify that deleteValidation is retried.

adding e2e test verifying the webhook can intercept configmap and custom
resource deletion, and the existing object is sent via the
admissionreview.OldObject.

update the admission integration test to verify that the existing object
is passed to the deletion admission webhook as oldObject, in case of an
immediate deletion and in case of an update-on-delete.

Kubernetes-commit: 7bb4a3bace048cb9cd93d0221a7bf7c4accbf6be
2019-04-09 13:49:16 -07:00
Jordan Liggitt fea4dc8e52 Terminate watchers when watch cache is destroyed
Kubernetes-commit: d304c9ecbbd81a32f2c2e059d79e3f79d458a960
2019-05-17 10:02:08 -04:00
Chao Xu d7f4ff742a In GuaranteedUpdate, retry on any error if we are working with stale data
Kubernetes-commit: 5e53522a9ef56f33d06c457c072c379131e127ef
2019-05-08 15:05:07 -07:00
fansong.cfs ef7e49ea6d fix data race in unittest
Kubernetes-commit: 3892f6698072827506dfb04acdbf4c6d67a3879d
2019-05-13 15:00:16 +08:00
Andrew Kim ef71315b08 update import of generic featuregate code from k8s.io/apiserver/pkg/util/feature -> k8s.io/component-base/featuregate
Kubernetes-commit: c91913924543e1d29f3f3d51354701df9df75def
2019-03-04 12:46:52 -05:00
Chao Xu 034ed25bbe Add RemainingItemCount to ListMeta
Kubernetes-commit: 58c18309a84f9e0fe05b92c202616e4ecf8062f7
2019-04-01 14:44:19 -07:00
Jordan Liggitt 24677e9349 Enable paging by default in etcd options, by feature flag in sample-apiserver
Kubernetes-commit: 90cd672ab690cb387684603316dcd4550af1006b
2019-04-30 17:37:46 -04:00
Jordan Liggitt c20c25cef4 Remove unused quorum field
Kubernetes-commit: 35757a4b96b49fc21bb9bc8b47c5a86f005b166a
2019-04-30 17:39:31 -04:00
Ryan McNamara cae815db01 Error when etcd3 watch finds delete event with nil prevKV
Kubernetes-commit: 504380682fce0b60318d64999554ccd518b8fc63
2019-04-16 12:55:15 -07:00
Ted Yu e65e768f58 Use read lock in ready#check
Kubernetes-commit: 04a7b50a020906e8e5cd32dfce378125606ce97d
2019-04-18 14:00:42 -07:00
wojtekt a3fd374f10 Reduce contention in watchcache by not calling event handler under lock
Kubernetes-commit: e6e43828284c6e83cf2b4658fa377b4cc7dec0c3
2019-04-17 12:53:36 +02:00
fansong.cfs d08e2bcfac add object type to cacheWatcher
Kubernetes-commit: 6c6d472039ea3628ac014d38a7ccc516554fce81
2019-04-23 00:35:56 +08:00
fansong.cfs 58fb117373 add watch bookmark
Kubernetes-commit: d70edd3d39d4430d71c4b7c9adba8df5ba7f16c8
2019-03-19 18:16:23 +08:00
YAMAMOTO Takashi a78eeebaec Fix a typo in a code example in a comment
Kubernetes-commit: d11e779f1d1fbdcd628212f57d9023a868ca1b7f
2019-03-08 15:36:20 +09:00
wojtekt 22832ea49c Minor cleanup in cacher
Kubernetes-commit: 5d368ff301d328e4ffa5abacb3c2f2aeddb7715a
2019-04-10 12:56:02 +02:00
wojtekt f8c5a84403 Slightly simplify watchcache
Kubernetes-commit: c93f889833a4e9b519409c60f326c9970b4ee02a
2019-04-09 14:20:18 +02:00
Manjunath A Kumatagi 470bc75262 Fix the formatting string
Kubernetes-commit: e9d1a90535e6afd32a65c6a99222229a8d9e8665
2019-04-07 12:01:07 +05:30
Wojciech Tyczynski 670ff8c10b Revert "delivery event non blocking firstly"
Kubernetes-commit: cea9d65a2c9add769b4f5c0473a1ba3ae6ce0d8b
2019-04-05 15:36:08 +02:00
fansong.cfs 73057f16b6 add timeout suuport for watch
Kubernetes-commit: b304a1f96d85cd351a0e22a091e17064d5edb35e
2019-04-03 09:37:48 +08:00
Joe Betz 4cc45f82fc Add resourceVersion=0 paginated list integration test for disabled and enabled watch cache
Kubernetes-commit: e5a4f09ab3ac15815ceb039fbc7f546266855fd6
2019-03-21 11:25:07 -07:00
Joe Betz f90442e3fb Paginate List call performed by Reflector's ListAndWatch call
Kubernetes-commit: 84723c2d3ef5ff5d30aadd1ad72068bf2254358c
2019-03-14 13:26:19 -07:00
fansong.cfs c302cc97dd delivery event non blocking firstly
Kubernetes-commit: 8910abfdf3d13faf2bf415dc1019006fb06cbc9f
2019-03-21 17:11:58 +08:00
Benjamin Elder 8ad12b3912 Revert "add timeout suuport for watch"
This reverts commit c676e234cc1036a2a1147f2eeef9c89468671330.

Kubernetes-commit: 30a56bab42ab14a3a2ee21f5581b02525d4fd110
2019-04-01 18:39:17 -07:00
wojtekt 1fd6bb259f Expose etcd client latency metrics
Kubernetes-commit: d5c9ad80499a9148a40b8a6c33c165cf12578649
2019-04-01 12:46:06 +02:00
fansong.cfs 4d2b8eee69 add timeout suuport for watch
Kubernetes-commit: c676e234cc1036a2a1147f2eeef9c89468671330
2019-03-30 20:07:41 +08:00
fansong.cfs 9130ee52b5 Refactor watchcache to support bookmark
Kubernetes-commit: b29e69c1562f66cf339ae7cd58979528791f035f
2019-03-29 17:49:15 +08:00
wojtekt 6c2f66a5b5 Add explanation about forgetFunc in cacher
Kubernetes-commit: 605522b0c714c173d0a1ec8d00e46c3629107267
2019-03-27 08:24:45 +01:00
wojtekt 6ef883ed27 Reduce critical sections in watchache
Kubernetes-commit: 010cb4480825b54afb85c9fa97e2edc950a6d185
2019-02-20 10:41:50 +01:00
ajatprabha ad205f8388 add ResourceVersion check to Preconditions#Check
Kubernetes-commit: 3135cea2cce02bc8c6796e97f4579d538f357f74
2019-02-15 12:30:34 +05:30
ajatprabha 10074505ca add ResourceVersion to DeleteOptions.Preconditions
Kubernetes-commit: 8f48d762717dfe1f479cfabaabc4fb9261a1bc8f
2019-02-14 04:09:12 +05:30
Chao Xu d99ef88606 Expose storage version hash
Kubernetes-commit: 3b618af0d435628feedf06f97bd1c69340d07d95
2019-01-14 19:31:25 -08:00
SataQiu a180120be2 fix golint failures in staging/src/k8s.io/apiserver/pkg/storage/errors, staging/src/k8s.io/apiserver/pkg/storage/etcd
Kubernetes-commit: 11451bbb5912ddc6874eec9e49160708f49778ac
2019-02-28 15:51:05 +08:00
danielqsj c2c5dfe9de convert latencies in mertics name to duration
Kubernetes-commit: c525d329effc6c6460cda947d1bf8092a927c2d3
2019-02-22 22:19:57 +08:00
danielqsj 822a44db47 convert latency in mertics name to duration
Kubernetes-commit: f7b437cae02c93a0c83a3ad6c044f43751c20346
2019-02-22 21:40:13 +08:00
wojtekt d087fef459 Reduce lock contention in watchcache.
Kubernetes-commit: 9452adc5c89a834cd34a7758089804db0063f316
2019-02-12 14:26:45 +01:00
Justin SB bf98046128 Remove executable file permission from OWNERS files
Kubernetes-commit: dd19b923b7c26420af39fcf4eedfa213b236c8d3
2019-01-03 12:18:20 -05:00
wojtekt 783162a9d2 Add metric exposing amount of processed init events in watchcache
Kubernetes-commit: 0a0835e92dddf98208e84d3ca5661739b7ebf164
2019-02-04 08:13:44 +01:00
wojtekt d8d5623948 Avoid going back in time in watchcache watchers
Kubernetes-commit: 1b436f1a2f8b735fea722254e09473e0707615dc
2019-02-08 12:30:04 +01:00
Roy Lenferink 4c9524b9fb Updated OWNERS files to include link to docs
Kubernetes-commit: b43c04452f3b563473b5c2a765d4ac18cc0ff58f
2019-01-30 20:05:00 +01:00
wojtekt 19dec1e94f Reduce Pool contention in cacher
Kubernetes-commit: c121632360355ce364f58f0babf20710522d8b0e
2019-02-06 10:44:57 +01:00
Lorenz Brun 278dec697f Consider prefix in health check
Kubernetes-commit: df3033a24095551db25dbab385ac3e630c8bd280
2019-01-15 21:22:07 +01:00
Lorenz Brun 901324b169 Fix etcd healthcheck for consensus failures
Kubernetes-commit: 19b2758919daa563522aec93956e326e786ff79f
2019-01-14 20:47:41 +01:00
Andrew Kim 2b43930b32 replace k8s.io/apiserver/pkg/util/trace with k8s.io/utils/trace
Kubernetes-commit: 93b086f6eafc1e94214fc1d946a1917482751cf3
2019-01-24 11:50:30 -05:00
Jordan Liggitt 80029a760c Deprecate and remove use of alpha metadata.initializers field, remove IncludeUninitialized options
Kubernetes-commit: 17aa60686ebe5fd04b4fe6f442dc36a8d70b6730
2019-01-17 09:19:28 -05:00
danielqsj da40ddb2dd Move etcd latency metrics to histogram and update test case
Kubernetes-commit: 8b418631c08cf66ee57c9ec31fe95372a0a3e075
2019-01-02 13:50:02 +08:00
danielqsj 6dc5bb594d Change storage metrics to conform guideline
Kubernetes-commit: 47938c373301a3a506d73f793ea3bc8256beb428
2018-12-26 17:51:16 +08:00
immutableT 9c474d9c53 require timeout to be greater than zero.
add unit test to cover timeout behaviour.

Kubernetes-commit: 39aca564749cd92ed1cfec7129eb3f6593549137
2019-01-04 17:06:07 -08:00
Dr. Stefan Schimanski b63cac0574 apiserver: start only one compactor per unique storage transport config
Kubernetes-commit: 00a717b572f3582d0d20633644e827dd60991dce
2018-09-12 11:54:14 +02:00
Dr. Stefan Schimanski 7d47897b55 apiserver: separate transport setting from storagebackend.Config
Kubernetes-commit: 7b242533a217bd809e2c846c3e3fadf7bf6edee8
2018-09-12 10:59:01 +02:00
Dr. Stefan Schimanski c3865fa725 apiserver: set klog as etcdclient logger
Kubernetes-commit: a00d08610f2303cd433e75cff7f73c0d0dc18b1d
2018-11-21 15:31:25 +01:00
Nikhita Raghunath e6d011f6fa Add license header to non-generated proto files
Kubernetes-commit: 6285db6576553e40aacb74579de57a77e19bb434
2018-10-30 22:29:07 +05:30
wojtekt d0a6ca6003 Use watch cache when rv=0 even when limit is set
Kubernetes-commit: 4242d1b760314adc69498b1f523a4759c446d7c0
2018-11-07 10:38:31 +01:00
Davanum Srinivas 2710b17b80 Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135

Kubernetes-commit: 954996e231074dc7429f7be1256a579bedd8344c
2018-11-09 13:49:10 -05:00
Jordan Liggitt 136e478e9f encryption-at-rest approvers/reviewers
Kubernetes-commit: 666c93a8343029a499ea64de8a6d09596097ccb3
2018-11-02 17:38:17 -04:00
Ibrahim AshShohail 47845b88c3 Update usages of http.ResponseWriter.WriteHeader to use http.Error
Signed-off-by: Ibrahim AshShohail <me@ibrasho.com>

Kubernetes-commit: 2fb3ba71f196031e9b36095d64c921cacc54f44e
2018-10-08 22:20:52 +03:00
Jordan Liggitt c7c9a358c2 etcd2 code cleanup, remove deserialization cache
Kubernetes-commit: c8db31b84adc40aa875917fbca27b2a787902088
2018-10-15 22:17:44 -04:00
Joe Betz 5c1ed41d69 Update etcd client to 3.3.9
Kubernetes-commit: 4263c752115c3796ee5715c7de4cbc2e237809d3
2018-10-01 16:53:57 -07:00
Jordan Liggitt bd604a62aa Remove deprecated --etcd-quorum-read flag
Kubernetes-commit: cff79c542130831f4a212099974570244a0c9586
2018-10-08 11:04:28 -04:00
immutableT d0ea04d52d Increase time-out of kms-service concurrency tests.
Kubernetes-commit: fd64c3bac6f2a611a154c86c93fd77404404aba5
2018-10-05 16:22:00 +00:00
Christoph Blecker 92e87e143a Update gofmt for go1.11
Kubernetes-commit: 97b2992dc191a357e2167eff5035ce26237a4799
2018-10-05 12:59:38 -07:00
Jordan Liggitt 3b6fc08803 Remove etcd2 storage backend
Kubernetes-commit: 85ae79500fba7d6e51292b12daff829027b59872
2018-10-01 16:48:14 -04:00
Mike Danese f8e0930b86 storage: propagate TransformFromStorage errors from List
Like we do everywhere else we use TranformFromStorage. The current
behavior is causing all service account tokens to be regenerated,
invalidating old service account tokens and unrecoverably breaking apps
that are using InClusterConfig or exported service account tokens.

If we are going to break stuff, let's just break the Lists so that
misconfiguration of encryption config or checkpoint corruption are
obvious.

Kubernetes-commit: e7bda4431da05b55b4e8f66ed308d4ed90efd2df
2018-10-03 13:30:29 -07:00
Mike Danese 93a015d36a refactor envelope to use cryptobytes
Kubernetes-commit: 36ab52b428f6b87df5bdd85f253758967bf0a240
2018-09-28 23:02:42 -07:00
gorilla1024 ff3eff6aa4 minor fix
Kubernetes-commit: 07fc593dcd8b4f3583876fc415df9fdf34632a03
2018-09-25 10:56:37 +08:00
immutablet e9bce895cf Lazily dial kms-plugin.
Kubernetes-commit: 07cbf2545f705d0448631f479a18d0b86b7055dc
2018-09-12 14:56:44 -07:00
fisherxu 164f30a663 use dailcontext
Kubernetes-commit: 89f3fa3d62791e756dcbd645818ea03d7c1a86b8
2018-08-24 10:18:21 +08:00
Chao Xu cc84cfddc9 support continueToken for inconsistent list
Kubernetes-commit: 0a7286c6b21a858f7397a0835776cb5900d98e87
2018-08-10 10:27:40 -07:00
wojtekt d3536986da Fix unnecessary too-old-errors from watch cache
Kubernetes-commit: 12021725922efc3a80c8a0673b28826a524eb0a0
2018-08-30 12:28:44 +02:00
Antoine Pelisse 30e2071cad storage: Move precondition check as a method of preconditions
Kubernetes-commit: b5258a53809bde48cac07848d787a0fc7db16b2a
2018-07-31 13:53:27 -07:00
David Eads cb5cac48ee make package name match all the import aliases
Kubernetes-commit: d3bd0eb1d5cefc25e4476d8dc086ebd90439ef4e
2018-08-01 10:01:32 -04:00
Joe Julian cdc300abf6 extend timeout to workaround slow arm64 math
The math/big functions are slow on arm64. There is improvement coming
with go1.11 but in the mean time if a server uses rsa certificates on
arm64, the math load for the multitude of watches over taxes the ability
of the processor and the TLS connections time out. Retries will also not
succeed and serve to exacerbate the problem.

By extending the timeout, the TLS connections will eventually be
successful and the load will drop.

Fixes #64649

Kubernetes-commit: 62b9d378666c4bd6c1e70ada0b5061883c7d8ba6
2018-07-16 19:43:30 -07:00
Russ Cox 58e15f2129 kubernetes: fix printf format errors
These are all flagged by Go 1.11's
more accurate printf checking in go vet,
which runs as part of go test.

Lubomir I. Ivanov <neolit123@gmail.com>
applied ammend for:
  pkg/cloudprovider/provivers/vsphere/nodemanager.go

Kubernetes-commit: 2bd91dda64b857ed2f45542a7aae42f855e931d1
2018-06-29 15:38:52 -04:00
Mikhail Mazurskiy 0f7bbcadfb Add missing error handling in schema-related code
Kubernetes-commit: bfe313d5f351dfae086a85a97e7103183173e5b5
2018-06-03 14:59:58 +10:00
Guoliang Wang 4d63612a17 enable etcdv3 client prometheus metics
Kubernetes-commit: 0d6c51656e1532e1a17a169ed8d9667c3b5a8073
2018-06-05 15:05:08 +08:00
Cong Ding 5081ebb434 cleanup: remove deadcode
Kubernetes-commit: 3bacb04a5f9805bb83e016e341a49d0f13a43598
2018-06-22 16:39:13 -07:00
fisherxu 9ffd3e56ff move cacher in separate dir
Kubernetes-commit: dbb448bbdcb9e440eee57024ffa5f1698956a054
2018-05-30 20:44:31 +08:00
fisherxu 42e1d03e08 resource version parsing should all be in one place
Kubernetes-commit: 6cb344e78ead86abc9507f14786ff16eb46436e5
2018-06-28 10:00:56 +08:00
immutablet 842873f83e Add support for linux abstract socket namespace.
Kubernetes-commit: 01008911687c27b15aee4766a70786684bdb3f01
2018-05-31 14:00:42 -07:00
fisherxu dd4ba939ef collapse the resource version parse
Kubernetes-commit: 68ec856b4506d4440b327141051bdf31fc92be42
2018-06-23 17:29:06 +08:00
Cong Ding 2496dc3852 apiserver: fix typo introduced in #57366
Kubernetes-commit: 42a19a3cb8983a3bd802f2facb4c2104af30e195
2018-06-21 16:40:59 -07:00
Cong Ding f230b000db etcd: reuse leases for keys in a time window
Reuse leases for keys in a time window, to reduce the overhead to etcd
caused by using massive number of leases

Fixes #47532

Kubernetes-commit: 163529bc202054d991f0ce2e21738cc18ffd6022
2018-05-30 17:27:00 -07:00
Jordan Liggitt 8d6d8aa36e Use actual etcd client for /healthz/etcd checks
Kubernetes-commit: b39cd00982c1696d8ae8afc99931919894044ee2
2018-06-12 14:33:48 -04:00
Jordan Liggitt 1f9c7bdd99 Quiet verbose apiserver logs
Kubernetes-commit: 862f8567bb4b1d4e9f63330cf3a516af61ae7cc5
2018-06-11 22:32:46 -04:00
immutablet 5ae492efc5 Add metrics for envelop transformer:
transformation_operation_count
    transformation_failures_count
    envelope_transformation_cache_misses_count
    data_key_generation_latencies_microseconds
    data_key_generation_failures_count

Kubernetes-commit: 695c3e32ad0ff144b36e4deed13a678120f5b6fb
2018-05-29 14:40:39 -07:00
Yang Li a362c0e81d apiserver: update tests to use sub-benchmarks (aes_test.go)
Kubernetes-commit: 19026bf9620a65ed2edb10cdfe096cd3afb6f87e
2018-05-27 15:52:05 +08:00
Yang Li 7acf498bec apiserver: update tests to use sub-benchmarks (secretbox_test.go)
Kubernetes-commit: 6647b92c86b2dd5dc5c6af457c400b3ee55c7c39
2018-05-27 16:19:11 +08:00
wojtekt 5d15c5549a Fix incorrectly set resource version in List
Kubernetes-commit: a3578c864ed7db5a73daa88839eed11d86af209b
2018-05-22 15:32:25 +02:00
Mikhail Mazurskiy 5b356b15a2 Use Dial with context
Kubernetes-commit: 5e8e570dbda6ed89af9bc2e0a05e3d94bfdfcb61
2018-05-19 08:14:37 +10:00
Justin Santa Barbara f9ec73e95b Fix typo in envelope transform error message
Kubernetes-commit: 8f87e5c7dab27671e1f68356e825deab879630bf
2018-05-09 09:36:29 -04:00
Martin Vladev 3c79460222 Register Prometheus etcdmetrics only for apiserver
Removed automatic registration with `init` funciton and use `Register` function
to register metrics for etcd storage only when requested.

Kubernetes-commit: 40cf7880135b56e2d88a04d5fce08303b249eb34
2018-04-20 17:19:13 +03:00
immutablet dfdceff3c6 Instrument transformer.go with latency metrics.
Kubernetes-commit: bfcb3cd91f93669b94ea80eadebdff769c88952e
2018-03-16 14:25:26 -07:00
immutablet f44ea185da Instrument transformer.go with latency metrics.
Kubernetes-commit: 04a6613fb565a54b6a74e5bfad8844928e98a59b
2018-03-15 14:13:24 -07:00
immutablet 959ee35394 Instrument transformer.go with latency metrics.
Kubernetes-commit: e54864f53de75cd56c0fe94777e1d3de0c559c7f
2018-02-27 17:24:27 -08:00
hzxuzhonghu 2515aae7de remove unused code
Kubernetes-commit: fffa40552cc9f6d372607d1ed40a44d97cecb314
2018-03-20 18:50:19 +08:00
hzxuzhonghu dff0e6ac00 check etcd servers by a random order
Kubernetes-commit: ea627f987507de38dfc46ab2d9c924690eba5ee9
2018-03-15 10:04:40 +08:00
hzxuzhonghu c5ff2cea2f etcd client add dial timeout
Kubernetes-commit: 814401fc902a7083bfd9933e245a2be62abfed60
2018-03-21 14:45:13 +08:00
hangaoshuai dbf3897e4f remove unused function getEncodedPod in etcd_helper_test.go
Kubernetes-commit: b07071f84bbfafb9dc525c5092573d11dcc6743a
2018-04-04 18:24:48 +08:00
hzxuzhonghu 6ab99203b7 Replace "golang.org/x/net/context" with "context"
Kubernetes-commit: 70e45eccf27726f0e63dd1024924ccc7e2cd35a0
2018-02-28 12:20:22 +08:00
fisherxu 716af975eb regenerated all files and remove all YEAR fields
Kubernetes-commit: b49ef6531c11f1c834e0d7591f5c965f6193c711
2018-01-22 20:37:53 +08:00
Kubernetes Publisher 627fa76a8b sync: initially remove files BUILD */BUILD BUILD.bazel */BUILD.bazel 2018-03-15 09:38:17 +00:00
Aleksandra Malinowska 2f4fe441f5 Fix initializing watch cache
Kubernetes-commit: 09606310ac86932152bb582d284d02958c089af8
2018-03-02 16:53:18 +01:00
Ryan Hitchman 43796a9895 Fix build tag for grpc_service_unix_test.go.
Kubernetes-commit: 4d2e43f53f3c057e7bddd6f09e5a82b0b97d276f
2018-02-09 12:10:25 -08:00
jennybuckley 9fa0aca343 Run hack/update-all.sh
Kubernetes-commit: c8dacd8e631f59ef158c79156d77a99fd2a632cc
2018-02-26 17:16:14 -08:00
Wang Guoliang 32fe314a1e fix some syntax related errors
Kubernetes-commit: d065157dd74fa02eec87f5849528b079a3736c3d
2018-02-11 19:50:49 +08:00
Marek Grabowski 25b054a72f generated
Kubernetes-commit: fb7101ef7c9892e0a5d3a718038b93e84b9314b5
2018-02-14 16:15:12 +00:00
Marek Grabowski e36f8069aa Add a metric exposing number of objects per type
Kubernetes-commit: f6e9ebffa2df10f7792fbea0a0fbe5ab8e388a26
2018-02-12 15:58:57 +00:00
Dr. Stefan Schimanski 1d8690c3c5 apiserver: fix testing etcd config in preparation for etcd 3.2.16+
Kubernetes-commit: 73971e69ac3d855b6ecbfa15c5bbe454d96e89b7
2018-02-23 13:58:08 +01:00
Mike Danese 3ec7dfbb59 kms: rename KMSService to KeyManagmentService
KMSService is redundent.

Kubernetes-commit: fc8ff61eb9e153d9e3f67549b8454cdea89bab30
2018-02-22 19:36:03 -08:00
Jeff Grafton 1ab12b2dc8 Autogenerated: hack/update-bazel.sh
Kubernetes-commit: ef56a8d6bb3800ab7803713eafc4191e8202ad6e
2018-02-16 13:43:01 -08:00
Wojciech Tyczynski 107aca480b Store labels and fields with object
Kubernetes-commit: 87a65b6c93db554bc91001df182672703e85edd8
2018-02-14 15:39:51 +01:00
Di Xu 9beeb59216 fix all the typos across the project
Kubernetes-commit: 48388fec7eaad4ac8d84fbe20673ffacf41964a1
2018-02-09 14:53:53 +08:00
Wu Qiang bed3e4f9ab Add generated script for kms api pb file
Kubernetes-commit: 9825018e4a004523492893433604439b1f2acd22
2018-01-29 06:00:57 +00:00
Wu Qiang be4ee1ba37 Remove configfile for kms in encryption config
Kubernetes-commit: 5ae61ed386e3fbc3b7e91d343afadadd52ac027d
2018-01-26 11:53:24 +00:00
Wu Qiang a32d2bb427 Update for review comments
Kubernetes-commit: 2e7af38d6b4c8ed9e1fb23930b98ed8d2ad68aa0
2018-01-25 05:39:48 +00:00
Wu Qiang 580a800cad Only support unix socket for kms gRPC, also add Version method
Kubernetes-commit: a6368bb04c1100d1dce1c6bf680056882835b395
2017-12-18 09:29:56 +00:00
Wu Qiang e4061faec3 Fix verify error and address review comments
Signed-off-by: Wu Qiang <qiang.q.wu@oracle.com>

Kubernetes-commit: 16b04d68b1ae180d61ea4ca06d1c8139c25a652f
2017-11-15 11:20:12 +08:00
Wu Qiang 25a4716f27 Add gRPC client service for envelope transformer
Kubernetes-commit: 772fa0f62fe232f24170e2c43afbd7031bfc160f
2017-11-14 09:05:01 +00:00
halfcrazy 6f8c3a80da fix typo in package apiserver
Kubernetes-commit: 0da91a8577ddfdeaff985cbb6c0da69d5a2ffc81
2018-02-01 03:04:33 +08:00
David Eads 531b9b5202 remove dead testing code
Kubernetes-commit: 3e6bfcb5dbc35a9e845504043a345fd42ed5ce27
2018-01-29 09:50:40 -05:00
Daniel Smith 4b163fbe32 resource version parsing should all be in one place
Kubernetes-commit: 023895d597be6539a1a16fa54d60e47a17d85dc1
2018-01-10 10:43:59 -08:00
Jordan Liggitt 0a8ef33fce Send correct resource version for delete events from watch cache
Kubernetes-commit: 57998d247df74cc96547158a0b39e5d7bffa271b
2018-01-19 17:44:25 -05:00
YuxiJin-tobeyjin 57076f11ae Should use Fatalf while need to format the output
Kubernetes-commit: 10751e54e6f01ed771a8fb75abd90346ee4ab501
2017-10-25 16:20:32 +08:00
Jordan Liggitt 8e603ae547 Recheck if transformed data is stale when doing live lookup during update
Kubernetes-commit: 070089c6bfccc18ba6039eee45b982633087c87e
2018-01-17 01:21:52 -05:00