Commit Graph

571 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
0eeb676468
Merge pull request #93162 from julianvmodesto/before-first-apply-test
Add tests for stopped managed fields tracking
2020-08-28 06:35:35 -07:00
Kubernetes Prow Robot
c143ea4bbf
Merge pull request #90522 from beautytiger/fix/nilranger
cleanup: no need nil check before range
2020-08-27 17:54:31 -07:00
Andrea Nodari
c522ee08a3 Do not allow manual changes to manageFields via subresources
If a request tries to change managedFields, the response returns the
managedField of the live object.
2020-08-18 13:33:39 +02:00
Julian V. Modesto
f2deb2417a Add tests for managed fields tracking.
- Test that client-side apply users don't encounter a conflict with
server-side apply for objects that previously didn't track managedFields
- Test that we stop tracking managed fields with `managedFields: []`
- Test that we stop tracking managed fields when the feature is disabled
2020-08-05 18:22:44 -04:00
yue9944882
40f3242cd9 apf integration test: ensure no rejection 2020-07-27 10:42:37 +08:00
Jordan Liggitt
8f9be8af13 Stabilize integration test names 2020-07-22 11:58:54 -04:00
Kubernetes Prow Robot
6079cebfae
Merge pull request #90187 from julianvmodesto/last-applied-updater
Implement server-side apply upgrade and downgrade
2020-07-13 16:45:20 -07:00
Kubernetes Prow Robot
888255bf3a
Merge pull request #92879 from liggitt/short-integration-tests
Skip expensive integration tests in short run mode
2020-07-11 20:57:52 -07:00
Joe Betz
3c2842fbc6 Add ownership transfer test 2020-07-09 06:18:59 -07:00
Joe Betz
ec136db9ce Add server side apply unsetting field tests 2020-07-09 06:18:58 -07:00
Kubernetes Prow Robot
94a08e159a
Merge pull request #92387 from pohly/csi-storage-capacity
CSI storage capacity check
2020-07-09 00:04:59 -07:00
Julian V. Modesto
e4368eb67e Implement server-side apply upgrade & downgrade.
- Allow client-side to server-side apply upgrade.

  Ensure that a user can change management of an object from client-side apply to
  server-side apply without conflicts.

- Allow server-side apply to client-side downgrade.

  For an object managed with client-side apply, a user may upgrade to
  managing the object with server-side apply, then decide to downgrade.

  We can support this downgrade by keeping the last-applied-configuration
  annotation for client-side apply updated with server-side apply.
2020-07-08 19:14:03 -04:00
Jordan Liggitt
1c8c850944 Skip expensive integration tests in short run mode 2020-07-07 14:41:21 -04:00
Jordan Liggitt
dcc536097a Deflake timeout admission test 2020-07-07 13:36:07 -04:00
Kubernetes Prow Robot
865cbf0bdf
Merge pull request #91517 from gaurav1086/Remove_unnecessary_Sprintfs
cleanup: Remove_unnecessary_Sprintfs
2020-07-05 05:26:49 -07:00
Patrick Ohly
9a66e8e1b5 CSIStorageCapacity: 'make update' 2020-07-03 21:54:14 +02:00
Patrick Ohly
22aeb81e84 CSIStorageCapacity: CSIStorageCapacity API
This adds the CSIStorageCapacity API change for
https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/1472-storage-capacity-tracking
2020-07-03 21:54:14 +02:00
Kubernetes Prow Robot
3f585835d0
Merge pull request #92713 from liggitt/deflake-list-rv-0
Deflake TestListResourceVersion0
2020-07-02 04:18:07 -07:00
Jordan Liggitt
017a6febe5 Deflake TestListResourceVersion0 2020-07-01 13:59:40 -04:00
Jordan Liggitt
5eef60a00a Add warnings capability for admission webhooks 2020-07-01 12:14:06 -04:00
Joe Betz
e214f2408b Add ResourceVersionMatch parameter to make Resource Version semantics consistent for list 2020-06-25 20:49:57 -07:00
Kubernetes Prow Robot
7a68eac8f7
Merge pull request #91873 from kwiesmueller/fix-crd-update-bug
Fix FieldManager Conversion Error for CRD Updates
2020-06-18 19:04:51 -07:00
Kubernetes Prow Robot
53f3699cf9
Merge pull request #89778 from cmluciano/cml/ingressv1
ingress: Add Ingress to v1 API and update backend to defaultBackend
2020-06-16 23:10:39 -07:00
Kevin
bd961781d7 prevent update handler being called on disallowed CreateOnUpdate 2020-06-12 13:04:17 +00:00
Kubernetes Prow Robot
dbfc3aa877
Merge pull request #91748 from apelisse/resetting-managed-fields-and-fieldtype
Resetting managed fields and fieldtype
2020-06-09 14:49:40 -07:00
Kubernetes Prow Robot
3f8bb1bf50
Merge pull request #91685 from liggitt/csr-v1
CertificateSigningRequest v1 API
2020-06-05 15:30:14 -07:00
Antoine Pelisse
ed2cf6ef2c FieldManager: Reset if we receive nil or a list with one empty item 2020-06-05 12:49:13 -07:00
Jordan Liggitt
e0f5cca410 Copy CSR v1beta1 to v1
* Remove prerelease tags
* Update copyright, package, imports to v1
* Remove signerName, usages, and condition status defaulting
2020-06-05 00:47:24 -04:00
Antoine Pelisse
5378a788e4 fieldManager: Ignore and log all errors when updating managedFields 2020-06-04 09:32:23 -07:00
Gaurav Singh
adcd8909fb cleanup: Remove_unnecessary_Sprintfs
Removed unused fmt

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
2020-05-28 13:43:13 -04:00
David Eads
e857adbdfd remove-api 2020-05-27 16:58:05 -04:00
Christopher M. Luciano
2b091f60ca
ingress: Add Ingress to v1 API and update backend to defaultBackend
ingress: use new serviceBackend split

ingress: remove all v1beta1 restrictions on creation

This change removes creation and update restrictions enforced by
k8s 1.18 for not allowing resource backends.

Paths are no longer
required to be valid regex and a PathType is now user-specified
and no longer defaulted.

Also remove all TODOs in staging/net/v1 types

Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2020-05-22 11:57:41 -04:00
Davanum Srinivas
07d88617e5
Run hack/update-vendor.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:33 -04:00
Davanum Srinivas
442a69c3bd
switch over k/k to use klog v2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:27 -04:00
Kubernetes Prow Robot
8876563700
Merge pull request #90360 from tnozicka/fix-client-ca-reload
Fix client-ca dynamic reload in apiserver
2020-04-30 01:10:18 -07:00
Tomas Nozicka
b22a170d46 Fix client-ca dynamic reload in apiserver 2020-04-29 16:03:09 +02:00
Guangming Wang
e92a91eb72 cleanup: no need nil check before range 2020-04-27 22:12:12 +08:00
Jordan Liggitt
5efcc9e633 Restore cache-control header filter 2020-04-24 15:38:51 -04:00
yue9944882
df5dfb46b7 assert shared concurrency 2020-04-18 01:15:54 +08:00
yue9944882
875407a450 add flowcontrol integration test to import whitelist 2020-04-13 22:33:08 +08:00
yue9944882
30bc0fce48 integration test for priority-level isolation 2020-04-13 22:33:07 +08:00
Antoine Pelisse
94cb60e0e8 Use discovery to test apply all status 2020-03-19 09:58:46 -07:00
Kubernetes Prow Robot
f52cbea102
Merge pull request #88910 from liggitt/metadata-context
Metadata client: plumb context
2020-03-06 13:18:04 -08:00
Jordan Liggitt
04a72d5ef9 client-go metadata: update callers 2020-03-06 11:07:54 -05:00
Jordan Liggitt
b7c2faf26c client-go dynamic client: add context to callers 2020-03-06 10:56:23 -05:00
Jordan Liggitt
b19dc3a474 client-go dynamic client: update DeleteOptions callers 2020-03-06 10:21:23 -05:00
Mike Danese
76f8594378 more artisanal fixes
Most of these could have been refactored automatically but it wouldn't
have been uglier. The unsophisticated tooling left lots of unnecessary
struct -> pointer -> struct transitions.
2020-03-05 14:59:47 -08:00
Mike Danese
c58e69ec79 automated refactor 2020-03-05 14:59:46 -08:00
Kubernetes Prow Robot
a019609d5d
Merge pull request #87508 from jennybuckley/large-obj
Don't save managedFields if object is too large
2020-03-02 16:16:05 -08:00
Elijah Oyekunle
2e187415fd extend CRD map and set validation 2020-02-28 16:00:59 +01:00
jennybuckley
ccd9e4e2de Don't save managedFields if object is too large 2020-02-27 12:41:44 -08:00
Mike Danese
25651408ae generated: run refactor 2020-02-08 12:30:21 -05:00
Kubernetes Prow Robot
334d788f08 Merge pull request #87299 from mikedanese/ctx
context in client-go
2020-02-08 06:43:52 -08:00
Kubernetes Prow Robot
b61f89dd25
Merge pull request #85321 from MikeSpreitzer/apf-printers
Added server-side printers for API priority and fairness
2020-02-07 18:31:58 -08:00
Mike Danese
3aa59f7f30 generated: run refactor 2020-02-07 18:16:47 -08:00
wojtekt
5dcf08c199 Switch pager to return whether the result was paginated 2020-01-31 11:50:23 +01:00
Mike Danese
d55d6175f8 refactor 2020-01-29 08:50:45 -08:00
jennybuckley
b33fbc84d9 Update Structured Merge Diff to V3 2020-01-21 15:23:13 -08:00
Mike Spreitzer
ce12105edc Added server-side printers for the API object types for API priority and fairness 2020-01-20 01:49:05 -05:00
gavinfish
68532e0c0f Remove redundant nil check 2020-01-08 15:28:46 +08:00
danielqsj
6596a14d39 add missing alias of api errors under test 2019-12-26 17:29:38 +08:00
Jordan Liggitt
749eea7e0f Prune server-side print exemption list 2019-12-13 12:23:39 -05:00
Jordan Liggitt
0387cc7cb3 Update generated files 2019-12-13 12:23:39 -05:00
Jordan Liggitt
f2f22b84cd Delete ReplicationControllerDummy 2019-12-13 12:21:33 -05:00
Jordan Liggitt
18ba6f9482 Remove references to unserved types 2019-12-13 12:21:33 -05:00
tanjunchen
06c5901769 fix staticcheck in test/integration/apiserver 2019-12-06 23:05:20 +08:00
Jordan Liggitt
d620493b74 Ensure webhook backend requests are not artificially rate-limited 2019-12-02 12:01:51 -05:00
Kubernetes Prow Robot
567b13487f
Merge pull request #85162 from apelisse/strip-nullable
Strip nullable for Server-side apply
2019-11-14 11:19:48 -08:00
Kubernetes Prow Robot
64f4be5b32
Merge pull request #84390 from robscott/endpointslice-beta
Promoting EndpointSlices to beta
2019-11-13 17:27:50 -08:00
Kubernetes Prow Robot
02af1dd62c
Merge pull request #85004 from deads2k/dynamic-agg-cert
dynamic reload cluster authentication info for aggregated API servers
2019-11-13 14:50:54 -08:00
Rob Scott
a7e589a8c6
Promoting EndpointSlices to beta 2019-11-13 14:20:19 -08:00
Antoine Pelisse
5038f80b45 Strip nullable for Server-side apply 2019-11-13 10:43:51 -08:00
David Eads
e44352f31a create utilities inspecting server TLS certs 2019-11-12 12:34:19 -05:00
Rob Scott
0fa9981e01
Splitting IP address type into IPv4 and IPv6 for EndpointSlices 2019-11-12 09:03:53 -08:00
Kubernetes Prow Robot
15f586a6c1
Merge pull request #84963 from liggitt/feature-json-codes
Fix json patch limit check
2019-11-08 10:12:51 -08:00
Jordan Liggitt
3d5f11bda3 Add testcases covering large valid patches 2019-11-07 22:58:46 -05:00
David Eads
7351c86860 publish cluster authentication trust via controller 2019-11-06 10:17:19 -05:00
Mike Danese
a4ca9e6c93 migrate callers to g/g/uuid 2019-11-04 23:15:29 -08:00
Kubernetes Prow Robot
510fb38f27
Merge pull request #83671 from yue9944882/flow-control-api-model
Apiserver flowcontrol api models
2019-11-01 22:49:40 -07:00
yue9944882
6db3edff10 [generated] ./hack/update-all.sh
generated

generated

generated

rule

generated

generated
2019-10-29 12:59:17 +08:00
yue9944882
7c28a4b70e non-generated api models misc
rule list

rule

rule 2
2019-10-29 12:26:12 +08:00
Jack Kleeman
d9adf535f3 Dynamic SNI certificates
Reload SNI certificate cert and key file from disk every minute and notify
the dynamic certificate controller when they change, allowing serving
tls config to be updated.
2019-10-25 16:38:51 +01:00
Jack Kleeman
4e99b5d26a Add integration test for serving cert rotation 2019-10-24 09:15:44 +01:00
David Eads
6beb96261e wire up a means to dynamically reload ca bundles for kube-apiserver 2019-10-23 11:01:56 -04:00
David Eads
867ee1d5ff add insecurebackendproxy 2019-10-16 11:43:17 -04:00
jennybuckley
61b19c7298 Cap the number of managedFields entries for updates at 10 2019-10-03 16:24:58 -07:00
jennybuckley
d72260b9da Refactor fieldmanager to be more modular 2019-10-03 16:24:58 -07:00
Jordan Liggitt
8ef4566cef Limit YAML/JSON decode size 2019-10-02 21:52:19 -04:00
Joe Betz
2c8ffc329b Fix reinvokation test flake by isolating webhooks and markers 2019-09-17 15:30:37 -07:00
Ted Yu
5e5824f9c5 Check the length of recorder.invocations 2019-09-15 16:43:12 -07:00
Kubernetes Prow Robot
4dd1e3fa43
Merge pull request #82585 from wojtek-t/fix_meta_internalversion_codecs
Ensure conversions are registered for metainternalversion codecs
2019-09-12 17:26:31 -07:00
wojtekt
54163527a6 Ensure conversions are registered for metainternalversion codecs 2019-09-12 19:32:02 +02:00
Kubernetes Prow Robot
50b8b42c1b
Merge pull request #82498 from liggitt/race-flake
Avoid encoding from competing goroutines
2019-09-11 21:23:50 -07:00
Kubernetes Prow Robot
f5ae0604ad
Merge pull request #82175 from yutedz/fld-mgr-conflict
Move Update Apply conflict test to field manager test
2019-09-11 10:40:14 -07:00
Jordan Liggitt
510140ee27 Avoid encoding from competing goroutines 2019-09-09 12:03:38 -04:00
Jordan Liggitt
3904e14b40 Fallback to schemaless apply behavior for custom resources with unhandled schemas 2019-09-06 15:39:28 -04:00
Jordan Liggitt
e734c70e03 Add integration test for webhook client auth 2019-09-03 13:58:54 -04:00
Kubernetes Prow Robot
ab162cd28c
Merge pull request #77354 from jennybuckley/crd-apply
Use CRD validation field in server-side apply
2019-08-30 23:53:47 -07:00
Ted Yu
9828f986af Move Update Apply conflict test to field manager test 2019-08-30 14:47:39 -07:00
Kubernetes Prow Robot
81f997b3c8
Merge pull request #82129 from liggitt/webhook-timeout-flake
Fix out of bounds error in timeout tests
2019-08-30 09:40:35 -07:00
Kubernetes Prow Robot
f442b6ef32
Merge pull request #82090 from liggitt/webhook-http2
Use http/1.1 for apiserver->webhook clients
2019-08-30 06:26:54 -07:00
jennybuckley
badd5b9a26 Update generated 2019-08-29 19:10:28 -07:00
jennybuckley
cf24968309 Fix validation and add many tests 2019-08-29 19:10:28 -07:00
jennybuckley
c0617933d4 Use CRD validation field in server-side apply 2019-08-29 18:42:24 -07:00
Jordan Liggitt
b451b86131 Fix out of bounds error in timeout tests 2019-08-29 10:33:20 -04:00
Kubernetes Prow Robot
6c9f26ca3a
Merge pull request #80766 from robscott/discovery-api
Adding Discovery API for EndpointSlice
2019-08-28 14:44:09 -07:00
Jordan Liggitt
ddc697866a Use http/1.1 in apiserver->webhook clients 2019-08-28 16:51:57 -04:00
Kubernetes Prow Robot
61e2f52e38
Merge pull request #81754 from apelisse/version-fields
Add FieldsType field to ManagedFields to track content format
2019-08-28 01:37:50 -07:00
Kubernetes Prow Robot
0a784c5dc9
Merge pull request #78738 from jennybuckley/apply-only
Don't start tracking field management until object has been applied
2019-08-27 22:41:18 -07:00
Jennifer Buckley
f99252f2c6
Add issue to TODO 2019-08-27 15:00:15 -07:00
Antoine Pelisse
ff4e1f3592 Add new FieldsType to clarify the format of Fields 2019-08-27 14:52:36 -07:00
Rob Scott
f80cee9280
Adding discovery/v1alpha1 API for EndpointSlices 2019-08-26 14:50:00 -07:00
Kubernetes Prow Robot
e2f57be0c0
Merge pull request #77824 from roycaihw/webhook-trace
mutating webhook: audit log mutation existence and patch
2019-08-23 22:26:24 -07:00
jennybuckley
2e669a7f22 Fix failing test 2019-08-23 13:11:09 -07:00
jennybuckley
3279c73945 Add tests 2019-08-23 12:45:36 -07:00
jennybuckley
9a12e37a6d Only update managedFields on update if it already exists 2019-08-23 12:38:08 -07:00
Haowei Cai
98ad20cc8f generated 2019-08-23 11:08:54 -07:00
Haowei Cai
d35757c653 tests 2019-08-23 11:08:54 -07:00
Kubernetes Prow Robot
9ac0c5942d
Merge pull request #81673 from jennybuckley/grouping-etcd
Make sure no op updates don't affect the resource version due to serverside apply
2019-08-22 20:07:57 -07:00
Di Xu
2771503626 drop unused check 2019-08-22 11:46:12 +08:00
jennybuckley
aa1f01ec7e Make sure no op updates don't affect the resource version 2019-08-21 10:27:01 -07:00
Jordan Liggitt
c63284b1f3 Use lesser of context or webhook-specific timeout in webhooks 2019-08-20 22:20:19 -04:00
Kubernetes Prow Robot
6f13032fb4
Merge pull request #81524 from jennybuckley/apply-group-updates-by-manager
Group managedFieldsEntries for update by manager name
2019-08-20 01:59:46 -07:00
jennybuckley
87eabcdbfa Group update managedFieldsEntries by manager name 2019-08-19 13:50:15 -07:00
Kubernetes Prow Robot
3f00331452
Merge pull request #80944 from apelisse/add-update-bench
Add benchmark for updates and get with/without server-side apply
2019-08-17 13:30:06 -07:00
Antoine Pelisse
4de7b6ddfb Add benchmark for updates and get with/without server-side apply 2019-08-16 15:18:22 -07:00
Kubernetes Prow Robot
44c0f64411
Merge pull request #80801 from SataQiu/fix-cert-length
Follow up #80734: update RSA keys to 2048 bits
2019-08-14 21:44:44 -07:00
Jordan Liggitt
0feb99f9bd Remove unnecessary serializer override for CRD status, test proto requests on CRD status 2019-08-08 12:49:08 -04:00
Jordan Liggitt
38ec458703 Test webhooks with and without watch cache enabled 2019-08-07 00:45:25 -04:00
Kubernetes Prow Robot
9743d7f270
Merge pull request #80730 from jennybuckley/apply-raw
Use raw bytes instead of nested map in metav1.Fields
2019-08-01 20:11:52 -07:00
Kubernetes Prow Robot
c981c65c90
Merge pull request #80231 from liggitt/admissionreview-v1
Promote admissionreview to v1
2019-08-01 17:20:05 -07:00
Jordan Liggitt
308c23cf89 Generated 2019-08-01 17:17:42 -04:00
Jordan Liggitt
dda9bcb082 AdmissionReview: Allow webhook admission to dispatch v1 or v1beta1 2019-08-01 17:17:42 -04:00
jennybuckley
addad99b6f Use raw bytes in metav1.Fields instead of map
Also define custom proto unmarshaller that understands the old format
2019-07-31 16:05:54 -07:00
SataQiu
b5d5e7a9b4 update RSA keys to 2048 bits 2019-07-31 17:48:35 +08:00
Sean Sullivan
6c96a059dd Move pkg/kubectl/cmd/util and subdirs to staging 2019-07-29 13:08:41 -07:00
Lee Verberne
013f049ce0 Add Ephemeral Containers to the Kubernetes core API 2019-07-22 11:19:22 +00:00
Kubernetes Prow Robot
3dd8add5d2
Merge pull request #79549 from liggitt/admission-webhooks-v1
Promote admission webhook API to v1
2019-07-11 17:01:34 -07:00
Clayton Coleman
98d87a4f03
Rename metadata.NewConfigOrDie to be consistent
Updated name to match dynamic client
2019-07-11 12:18:51 -04:00
Kubernetes Prow Robot
4c68fa8243
Merge pull request #79239 from apelisse/400-instead-of-500
Return 400 on invalid patch requests
2019-07-10 21:39:20 -07:00
Antoine Pelisse
7e96438748 Return 400 on invalid patch requests 2019-07-10 15:22:10 -07:00
Jordan Liggitt
e24377f190 Install/register v1 admission registration types 2019-07-08 09:49:29 -04:00
Clayton Coleman
21f5e643d9
Add a metadata client to client-go that can read PartialObjectMetadata
This client exposes operations on generic metadata (get, list, watch, delete)
and allows patch operations. The client always uses protobuf and requests
the server transform the response into the appropriate object. Using this
client simplifies the work of generic controllers by allowing them to treat
all objects the same, and also improves performance both in the amount of
data sent as well as allowing protobuf on CRD resources.
2019-07-02 16:42:41 -04:00
Kevin Wiesmüller
49abd3b3ab add more tests on clearing managedFields 2019-06-11 20:30:53 +02:00
Joe Betz
e51320f69d Flake fix: poll for webhook registration to complete in reinvocation integration tests 2019-06-04 15:52:55 -07:00
Kubernetes Prow Robot
bada1c6b1e
Merge pull request #78505 from caesarxuchao/dynamic-object-selector
Adding ObjectSelector to admission webhooks
2019-06-01 04:45:09 -07:00
Kubernetes Prow Robot
227f34b33a
Merge pull request #77817 from smarterclayton/apicrd
CRDs should support watch of protobuf PartialObjectMetadata
2019-05-31 20:44:35 -07:00
Chao Xu
6cf499db6c object matcher 2019-05-30 17:23:35 -07:00
Clayton Coleman
26a6cdda86
Set integration tests to use distinct namespaces
TestWatchBasedManager was racing with the default namespace creation.
To fix that flake and to ensure integration tests using a shared etcd
don't accidentally overlap in the future, move the three main tests
using the default namespace to separate namespaces, and have
TestWatchBasedManager create that namespace before it runs.

Make StartTestServer wait for default namespace creation, which will
reduce other flakes until future changes completely remove use of default
namespace.

From a failed integration run:

	watch_manager_test.go:66: namespaces "default" not found
	watch_manager_test.go:66: namespaces "default" not found
	watch_manager_test.go:66: namespaces "default" not found
2019-05-30 19:11:50 -04:00
Joe Betz
95fa928ecb Add mutating admission webhook reinvocation 2019-05-30 14:31:09 -07:00
Joe Betz
55ecc45455 split admissionregistration.v1beta1/Webhook into MutatingWebhook and ValidatingWebhook 2019-05-30 14:31:09 -07:00
Clayton Coleman
89e752add0
CRDs should support watch of protobuf PartialObjectMetadata
Correctly ensure CRDs can be watched using protobuf when transformed to
PartialObjectMetadata. To do this we add a set of serializers allowed to
be used for "normal" requests (that return CRDs) while the serializers
supported by the infrastructure is broader and includes protobuf. During
negotatiation we check for transformation requests and protobuf is
excluded from non-transform requests.

As part of the change, correct an error message when the server returns
a 406 but the client doesn't accept the format to avoid confusing users
who set impossible Accept rules for CRDs (the dynamic client doesn't
support Protobuf, so if the server responds with a protobuf status the
message from the server is lost and the generic error was confusing).
2019-05-30 10:47:35 -04:00
Kubernetes Prow Robot
3978d13d45
Merge pull request #78086 from lubinsz/pr_bzl_api
data attribute was missing for apiextensions-apiserver test cases
2019-05-29 09:44:38 -07:00
Jordan Liggitt
8c194ea615 Add webhook admission conversion test 2019-05-28 14:30:20 -04:00
Bin Lu
b121545b70 data attribute was missing for apiserver integration test cases
Signed-off-by: Bin Lu <bin.lu@arm.com>
2019-05-19 20:04:35 +08:00
Jordan Liggitt
0b88095a17 Switch admission webhook test to work with shared etcd 2019-05-17 09:54:14 -07:00
Chao Xu
7bb4a3bace 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.
2019-05-17 09:54:11 -07:00
Kubernetes Prow Robot
76c112ed06
Merge pull request #77965 from lubinsz/pr_bazel_dir
Bug fix: failed to run integration test by using bazel
2019-05-17 07:00:37 -07:00
Kubernetes Prow Robot
3193e78a2f
Merge pull request #77333 from sttts/sttts-structural-crd-pruning
apiextensions: implement structural schema CRD pruning
2019-05-17 05:38:05 -07:00
Kubernetes Prow Robot
27410955e2
Merge pull request #77952 from liggitt/delete-on-update
Handle updates removing remaining finalizers on deleted objects
2019-05-17 02:04:32 -07:00
Dr. Stefan Schimanski
c6712455bd apiextensions: add pruning e2e & integration tests for admission webhooks 2019-05-17 09:35:10 +02:00
Bin Lu
5504d845ff Bug fix: failed to run integration test by using bazel
Signed-off-by: Bin Lu <bin.lu@arm.com>
2019-05-17 11:19:55 +08:00
Kubernetes Prow Robot
aba8040669
Merge pull request #77189 from xiaojingchen/fix-golint-failures
Fix golint failures in cmd/kube-controller-manager
2019-05-15 22:56:34 -07:00
Jordan Liggitt
fba885a0d2 Handle updates removing remaining finalizers on deleted objects 2019-05-15 17:17:39 -04:00
Kubernetes Prow Robot
08afeb855f
Merge pull request #77821 from kwiesmueller/clear-managed-fields
add test to make sure managedFields can be reset
2019-05-14 15:34:32 -07:00
Kubernetes Prow Robot
0b6ad8bc3f
Merge pull request #77563 from jpbetz/admission-webhook-options
Pass {Operation}Options to Webhooks
2019-05-14 15:34:19 -07:00
Joe Betz
900d652a9a Update tests for: Pass {Operation}Option to Webhooks 2019-05-14 10:49:43 -07:00
Dr. Stefan Schimanski
28f88c91ee integration: Start{RealMasterOrDie->TestServer} in admissionwebhook tests 2019-05-14 10:10:55 +02:00
Kevin Wiesmüller
fe3c9c8b6f add test to make sure managedFields can be reset 2019-05-13 18:34:11 +02:00
Kubernetes Prow Robot
274876ef9a
Merge pull request #77448 from smarterclayton/api_serve
Support meta.k8s.io/v1 Table and PartialObjectMetadata requests to the API
2019-05-10 21:30:37 -07:00
Clayton Coleman
33a3e325f7
API server should offer metav1 Table/Partial transforms
Now that internal types are equivalent, allow the apiserver to serve
metav1 and metav1beta1 depending on the client. Test that in the
apiserver integration test and ensure we get the appropriate responses.

Register the metav1 type in the appropriate external locations.
2019-05-10 15:29:07 -04:00
Joe Betz
b0aab03209 Fix admission webhook integration tests to filter out controller requests 2019-05-09 17:34:33 -07:00
xiaojingchen
2b19a4db9e fix cmd/kube-controller-manager's golint failures 2019-05-09 17:56:08 +08:00
Kubernetes Prow Robot
09c4e10333
Merge pull request #74021 from andrewsykim/move-features-component-base
Move feature gate package from k8s.io/apiserver to k8s.io/component-base
2019-05-08 13:06:34 -07:00
Daniel (Shijun) Qian
5268f69405 fix duplicated imports of k8s code (#77484)
* fix duplicated imports of api/core/v1

* fix duplicated imports of client-go/kubernetes

* fix duplicated imports of rest code

* change import name to more reasonable
2019-05-08 10:12:47 -07:00
Andrew Kim
c919139245 update import of generic featuregate code from k8s.io/apiserver/pkg/util/feature -> k8s.io/component-base/featuregate 2019-05-08 10:01:50 -04:00
Kubernetes Prow Robot
63ee026980
Merge pull request #77143 from guineveresaenger/lintflake
Addresses linter complaint in broken_webhook test file
2019-04-26 17:14:45 -07:00
guineveresaenger
9ecf58c42e Fixes flaky linter complaint in broken_webhook test file 2019-04-26 13:57:55 -07:00
Julian V. Modesto
5303f431cb Add tests for cross group-version SSA.
- Use apps/v1 APIs in integration tests.
As in https://github.com/kubernetes/kubernetes/pull/75302

- Add test for cross group-version server side apply.
https://github.com/kubernetes/kubernetes/pull/75157

- Add test for version conversion in the field manager.
https://github.com/kubernetes/kubernetes/pull/75151

Follow up to https://github.com/kubernetes/kubernetes/pull/75302.
Addresses https://github.com/kubernetes/kubernetes/issues/73723.
2019-04-25 22:01:28 -04:00
Antoine Pelisse
83c734363e Add apelisse as approvers for apiserver integration tests 2019-04-25 11:02:58 -07:00
Kubernetes Prow Robot
dc05e1e412
Merge pull request #76824 from wojtek-t/cleanup_protobuf_contenttype
Cleanup content-type protobuf constants
2019-04-24 12:25:02 -07:00
wojtekt
b48cc43eff Cleanup content-type protobuf constants 2019-04-24 17:11:24 +02:00
Kubernetes Prow Robot
d1e7bb297c
Merge pull request #60771 from jennybuckley/kube-up-broken-webhook
Use semantic equality in client ca post start hook
2019-04-24 01:24:01 -07:00
Serguei Bezverkhi
6fe28ee957 Adding non persistent review test
Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com>
2019-04-23 18:02:40 -04:00
Serguei Bezverkhi
cc7700ae31 no admission logic
Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com>
2019-04-23 16:27:55 -04:00
jennybuckley
d10ee7c874 Add integration test for restarting kube-apiserver with a broken webhook 2019-04-23 12:49:28 -07:00
Jordan Liggitt
a4576ec5a6 Fix binding and eviction admission 2019-04-23 10:31:34 -04:00
Jordan Liggitt
4cfa5c7192 Test webhook admission - proxy subresources 2019-04-23 10:31:34 -04:00
Jordan Liggitt
cc72248203 Test webhook admission - pod connect subresources 2019-04-23 10:31:34 -04:00
Jordan Liggitt
69042da958 Add integration tests covering admission webhooks 2019-04-20 03:33:36 -04:00
Bobby (Babak) Salamat
16a7cbd320 generated files 2019-04-05 14:30:52 -07:00
Bobby (Babak) Salamat
8574e3e3f4 Use Scheduling V1 API instead of Scheduling v1beta1 2019-04-05 14:21:45 -07:00
Joe Betz
e5a4f09ab3 Add resourceVersion=0 paginated list integration test for disabled and enabled watch cache 2019-04-02 13:06:15 -07:00
Kubernetes Prow Robot
743fddd174
Merge pull request #75605 from smarterclayton/check_crd_proto
Check CRD protobuf negotiation in integration tests
2019-03-26 21:58:47 -07:00
Kubernetes Prow Robot
290cf142e1
Merge pull request #75302 from liggitt/apps-v1-test
Use apps/v1 APIs in integration tests
2019-03-22 14:09:49 -07:00
Clayton Coleman
6825daa91a
Check CRD protobuf negotiation in integration tests
Add a few more tests to verify CRDs don't regress as client changes
are made.
2019-03-22 13:14:46 -04:00
Kubernetes Prow Robot
6f9bf5fe98
Merge pull request #71548 from smarterclayton/watch_converted
Support Table and PartialObjectMetadata on watch
2019-03-19 22:42:22 -07:00
Jordan Liggitt
0aaf1ca4ff Use apps/v1 APIs in integration tests 2019-03-12 13:17:18 -07:00
jennybuckley
10259c959e Fix int/float apply bug 2019-03-11 23:07:21 -07:00
jennybuckley
2fdc7e1f35 add test to verify fix 2019-03-08 22:35:33 -08:00
Antoine Pelisse
eb904d8fa8 Add "fieldManager" to flag to PATCH/CREATE/UPDATE
And add a corresponding flag in kubectl (for apply), even though the
value is defaulted in kubectl with "kubectl".

The flag is required for Apply patch-type, and optional for other PATCH,
CREATE and UPDATE (in which case we fallback on the user-agent).
2019-03-08 16:03:03 -08:00
Clayton Coleman
3230a0b4fd
Support Table and PartialObjectMetadata on watch
Clean up the code paths that lead to objects being transformed and output with negotiation.
Remove some duplicate code that was not consistent. Now, watch will respond correctly to
Table and PartialObjectMetadata requests. Add unit and integration tests.

When transforming responses to Tables, only the first watch event for a given type will
include the columns. Columns will not change unless the watch is restarted.

Add a volume attachment printer and tighten up table validation error cases.

Disable protobuf from table conversion because Tables don't have protobuf because they
use `interface{}`
2019-03-08 13:03:59 -05:00
Tim Allclair
820a1dc96b Add node.k8s.io/v1beta1 API 2019-03-07 11:57:12 -08:00
Xing Yang
bb45b8ee34 Make CSINodeInfo and CSIDriver Core APIs
This PR is the first step to transition CSINodeInfo and CSIDriver
CRD's to in-tree APIs. It adds them to the existing API group
“storage.k8s.io” as core storage APIs.
2019-03-02 12:31:05 -08:00
Kubernetes Prow Robot
1b8c8f1daf
Merge pull request #73831 from jennybuckley/apply-create-service
Honor forceAllowCreate in service registry
2019-02-14 13:59:44 -08:00
Kubernetes Prow Robot
d8f0146138
Merge pull request #72214 from caesarxuchao/move-discovery
Move cached discovery clients to their own packages
2019-02-13 23:07:00 -08:00
Chao Xu
5e6fc5dce8 Limit the number of operations in a single json patch to be 10,000 2019-02-13 10:53:32 -08:00
Kubernetes Prow Robot
29403174fb
Merge pull request #73805 from caesarxuchao/resource-size-limit
Adding a limit on the size of request body the apiserver will decode for write operations
2019-02-12 15:10:57 -08:00
Chao Xu
1f2e2e61cf generated 2019-02-12 15:04:57 -08:00
Chao Xu
3f21ca029a changing imports 2019-02-12 10:06:04 -08:00
Kevin Wiesmüller
9082cac482 strip selected fields from managedFields
refactor fieldstrip and update tests

add checks and remove empty fields

shorten test and check for nil manager

fix gofmt

panic on nil manager
2019-02-11 23:10:57 +01:00
Jennifer Buckley
1a5e48e29d Honor forceAllowCreate in service registry 2019-02-11 11:05:30 -08:00
Chao Xu
e90409d735 add integration test 2019-02-08 16:15:43 -08:00
Antoine Pelisse
b55417f429 Plugin FieldManager in CRD handler, change to API 2019-02-04 13:51:49 -08:00
Antoine Pelisse
0e1d50e70f API Machinery, Kubectl and tests 2019-02-04 13:51:48 -08:00
Jordan Liggitt
b64075dbd0 explicitly enable apps/v1beta1, apps/v1beta2, extensions/v1beta1 for print,etcd,storage tests 2019-01-24 21:43:15 -05:00
Jordan Liggitt
4fc63fd014 use apps/v1 APIs in integration tests 2019-01-24 21:34:12 -05:00
Jordan Liggitt
dc1fa870bf Remove alpha InitializerConfiguration types, Initializers admission plugin 2019-01-23 11:37:39 -05:00
Jordan Liggitt
0ff455e340 generated files 2018-12-19 11:19:12 -05:00
Weibin Lin
842bd1e1ec update deployment, daemonset, replicaset, statefulset to apps/v1 2018-12-19 10:46:45 -05:00
Jordan Liggitt
4dca07ef7e Fixup incorrect use of DefaultFeatureGate.Set in tests 2018-11-21 11:51:33 -05:00
Davanum Srinivas
954996e231
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
2018-11-10 07:50:31 -05:00
Patrick Barker
b8e1250487 adds dynamic audit api generated 2018-10-16 13:07:27 +00:00
Patrick Barker
381d0a5d14 adds dynamic audit api 2018-10-16 06:46:34 -06:00
Lucas Käldström
7e10810ed0
Move CloudControllerManagerConfiguration from pkg/apis/componentconfig to cmd/cloud-controller-manager/app/apis/config 2018-09-05 14:02:25 +03:00
Maciej Szulik
5b55e1f8ed
Create cli-runtime staging repository 2018-08-21 17:08:30 +02:00
Antoine Pelisse
03b1e14101 dry-run: Create new options for Update/Create and pass it along 2018-07-12 07:18:37 -07:00
Jeff Grafton
23ceebac22 Run hack/update-bazel.sh 2018-06-22 16:22:57 -07:00
Kubernetes Submit Queue
d373eaa4f3
Merge pull request #63724 from ravisantoshgudimetla/priority-e2e-beta
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Modify e2e tests to use priorityClass beta client version & switch priorityClass to beta

**What this PR does / why we need it**:
/cc @bsalamat @aveshagarwal @liggitt 

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Part of #57471

**Special notes for your reviewer**:
Once #57963 merges, this could go in.

**Release note**:

```release-note
Modify e2e tests to use priorityClass beta version & switch priorityClass feature to beta
```
2018-06-04 23:07:34 -07:00
Kubernetes Submit Queue
98bab89fab
Merge pull request #63927 from deads2k/cli-60-factory-prune
Automatic merge from submit-queue (batch tested with PRs 63871, 63927, 63966, 63957, 63844). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

 start splitting polymorphic functions out of the factory

the polymorphic behavior in `kubectl` has been gathered in the factory, but with the new kubeconfigflags and interfaces, it can actually be re-written as a set of helper calls.

These functions are special.  They are indications of areas of flexibility that we eventually need to build generically.  In addition, unit tests make heavy use of injection. For these reasons we aren't inlining them.  Instead we'll extra to a polymorphic package and have them as assignable functions for mocking.

Individual commands should support injection for cleaner mocking and we'll be able to use the package to hunt internal dependencies.

@kubernetes/sig-cli-maintainers 
@soltysh @juanvallejo 

```release-note
NONE
```
2018-05-17 13:40:19 -07:00
Kubernetes Submit Queue
b3837d004a
Merge pull request #63469 from wojtek-t/allow_list_and_watch_secrets
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Allow for listing & watching individual secrets from nodes

This PR:
- propagates value of `metadata.name` field from fieldSelector to `name` field in RequestInfo (for list and watch requests)
- authorizes list/watch for requests for single secrets/configmaps coming from nodes

As an example:
```
/api/v1/secrets/namespaces/ns?fieldSelector=metadata.name=foo =>
  requestInfo.Name = "foo",
  requestInfo.Verb = "list"
/api/v1/secrets/namespaces/ns?fieldSelector=metadata.name=foo&watch=true =>
  requestInfo.Name = "foo",
  requestInfo.Verb = "list"
```

```release-note
list/watch API requests with a fieldSelector that specifies `metadata.name` can now be authorized as requests for an individual named resource
```
2018-05-17 07:09:43 -07:00
David Eads
0db40da909 update factory interface to overlap with lower RESTClientGetter 2018-05-17 08:27:53 -04:00
juanvallejo
876629f690 move ConfigFlags to pkg/kubectl/genericclioptions 2018-05-16 11:31:48 -04:00
juanvallejo
57f308ae60 restore old cached client behavior 2018-05-15 10:37:53 -04:00
juanvallejo
4059355743 move cached_discovery to client-go/discovery 2018-05-15 10:20:56 -04:00
wojtekt
f344c5c062 Requires single name for list and watch 2018-05-15 14:19:21 +02:00
ravisantoshgudimetla
441b6d4465 Build files generated 2018-05-14 18:15:34 -04:00
ravisantoshgudimetla
f3441a5c20 Update e2e to use priorityClass beta 2018-05-14 18:13:41 -04:00
Kubernetes Submit Queue
b2fe2a0a6d
Merge pull request #59847 from mtaufen/dkcfg-explicit-keys
Automatic merge from submit-queue (batch tested with PRs 63624, 59847). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

explicit kubelet config key in Node.Spec.ConfigSource.ConfigMap

This makes the Kubelet config key in the ConfigMap an explicit part of
the API, so we can stop using magic key names.
    
As part of this change, we are retiring ConfigMapRef for ConfigMap.


```release-note
You must now specify Node.Spec.ConfigSource.ConfigMap.KubeletConfigKey when using dynamic Kubelet config to tell the Kubelet which key of the ConfigMap identifies its config file.
```
2018-05-09 17:55:13 -07:00
Michael Taufen
c41cf55a2c explicit kubelet config key in Node.Spec.ConfigSource.ConfigMap
This makes the Kubelet config key in the ConfigMap an explicit part of
the API, so we can stop using magic key names.

As part of this change, we are retiring ConfigMapRef for ConfigMap.
2018-05-08 15:37:26 -07:00
juanvallejo
3ca222b2d9 wire config flags through factory 2018-05-04 17:02:20 -04:00
David Eads
9a48066749 update restmapping to indicate fully qualified resource 2018-05-01 16:34:49 -04:00
David Eads
1cb797e355 acknowledge that creation of a restmapper can fail and that we cannot have a default 2018-05-01 07:52:51 -04:00
David Eads
5432ef5c45 divide statically known typer from dynamically derive restmapper 2018-04-27 11:15:05 -04:00
Kubernetes Submit Queue
6625d353c7
Merge pull request #63105 from deads2k/api-06-mapper
Automatic merge from submit-queue (batch tested with PRs 62937, 63105, 63031, 63174). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

rest mappings cannot logically be object converters

A `RESTMapping` in the general sense cannot be a `ObjectConverter` since the conversions are compiled, but the RESTMappings are discovered.   This starts isolating the bad assumptions into `kubectl` where they are used and removes the other bad `RESTMapping` use I found in the REST API installer that uses a mapping to determine scopes instead of using the metadata provided during API registration.

intersection of @kubernetes/sig-api-machinery-bugs and @kubernetes/sig-cli-maintainers 
@sttts @pwittrock @soltysh 

```release-note
NONE
```
2018-04-26 16:40:12 -07:00
David Eads
6900f8856f rest mappings cannot logically be object converters 2018-04-26 12:47:25 -04:00
Jordan Liggitt
fbd6f38084
collapse patch conflict retry onto GuaranteedUpdate
builds on #62868

1. When the incoming patch specified a resourceVersion that failed as a precondition,
the patch handler would retry uselessly 5 times. This PR collapses onto GuaranteedUpdate,
which immediately stops retrying in that case.

2. When the incoming patch did not specify a resourceVersion, and persisting to etcd
contended with other etcd updates, the retry would try to detect patch conflicts with
deltas from the first 'current object' retrieved from etcd and fail with a conflict error
in that case. Given that the user did not provide any information about the starting version
they expected their patch to apply to, this does not make sense, and results in arbitrary
conflict errors, depending on when the patch was submitted relative to other changes made
to the resource. This PR changes the patch application to be performed on the object retrieved
from etcd identically on every attempt.

fixes #58017
SMP is no longer computed for CRD objects

fixes #42644
No special state is retained on the first attempt, so the patch handler correctly handles
the cached storage optimistically trying with a cached object first
2018-04-25 21:55:13 -04:00
David Eads
ee5bc39c4c remove kube-apiserver option that is always force to true 2018-04-02 12:19:34 -04:00
Mengqi Yu
ff18af452d fix patch conflict detection in apiserver 2018-03-29 20:05:58 -07:00
Maciej Szulik
1b5f38293f
Add integration test for server side printing 2018-02-28 17:27:48 +01:00
Jeff Grafton
ef56a8d6bb Autogenerated: hack/update-bazel.sh 2018-02-16 13:43:01 -08:00
supereagle
9c02d7e38c use extensions client with explicit version 2017-11-22 21:18:14 +08:00
Dr. Stefan Schimanski
bec617f3cc Update generated files 2017-11-09 12:14:08 +01:00
Dr. Stefan Schimanski
012b085ac8 pkg/apis/core: mechanical import fixes in dependencies 2017-11-09 12:14:08 +01:00
Kevin
4c8539cece use core client with explicit version globally 2017-10-27 15:48:32 +08:00
Jeff Grafton
aee5f457db update BUILD files 2017-10-15 18:18:13 -07:00
Dr. Stefan Schimanski
7d09148ad7 apiserver: separate apiserver specific configs into ExtraConfig 2017-09-08 14:16:09 +02:00
Clayton Coleman
91527b9809
Integration test for API paging 2017-09-01 10:47:01 -04:00
Jeff Grafton
a7f49c906d Use buildozer to delete licenses() rules except under third_party/ 2017-08-11 09:32:39 -07:00
Jeff Grafton
33276f06be Use buildozer to remove deprecated automanaged tags 2017-08-11 09:31:50 -07:00
Jacob Simpson
8bcbbd4d08 Migrate api.Registry to testapi.Groups in tests. 2017-07-17 15:05:38 -07:00
Jacob Simpson
29c1b81d4c Scripted migration from clientset_generated to client-go. 2017-07-17 15:05:37 -07:00
Mike Danese
6ae11fdc5d use testmain in integration tests 2017-07-12 17:34:55 -07:00
Chao Xu
60604f8818 run hack/update-all 2017-06-22 11:31:03 -07:00
Chao Xu
cde4772928 run ./root-rewrite-all-other-apis.sh, then run make all, pkg/... compiles 2017-06-22 11:30:52 -07:00
Chao Xu
f4989a45a5 run root-rewrite-v1-..., compile 2017-06-22 10:25:57 -07:00
deads2k
be39283923 plumb stopch to post start hook index since many of them are starting go funcs 2017-05-11 09:16:13 -04:00
Cao Shufeng
3b20875863 Fix golint verify error 2017-05-02 15:36:50 +08:00
Mike Danese
21617a60ae don't use build tags to mark integration tests 2017-04-28 14:19:39 -07:00
Jordan Liggitt
c415e4aeab
Fix original object mutation on patch retry 2017-04-06 12:30:43 -04:00
nikhiljindal
4895aeef37 Adding an integration test for testing 202 status code from apiserver 2017-02-23 16:28:10 -08:00