Commit Graph

265 Commits

Author SHA1 Message Date
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