Commit Graph

111 Commits

Author SHA1 Message Date
Hongchao Deng
9fc0e1e98d return destroy func to clean up internal resources of storage 2016-08-25 08:32:21 -07:00
Kubernetes Submit Queue
5b5a4145da Merge pull request #30821 from ardnaxelarak/21076_change_isEmpty_to_Empty
Automatic merge from submit-queue

Rename IsEmpty to Empty

addresses #21076
2016-08-22 00:54:28 -07:00
Kubernetes Submit Queue
5caf74c517 Merge pull request #30529 from hongchaodeng/r1
Automatic merge from submit-queue

change all PredicateFunc to use SelectionPredicate

What?
- This PR changes all PredicateFunc in registry to return SelectionPredicate instead of Matcher interface.

Why?
- We want to pass SelectionPredicate to storage layer. Matcher interface did not expose enough information for indexing.
2016-08-20 00:24:40 -07:00
Kara Alexandra
d12a66a422 Rename IsEmpty to Empty
Signed-off-by: Kara Alexandra <kalexandra@us.ibm.com>
2016-08-19 14:19:19 -07:00
Clayton Coleman
5f8366aac3
Convert() should accept the new conversion Context value
Allows Convert() to reuse the same conversions as ConvertToVersion
without being overly coupled to the version.
2016-08-18 14:45:20 -04:00
Clayton Coleman
12a5eeea17
Introduce GroupVersioner for capturing desired target version
Convert single GV and lists of GVs into an interface that can handle
more complex scenarios (everything internal, nothing supported). Pass
the interface down into conversion.
2016-08-18 14:45:00 -04:00
Kris
d1aa3dd0b4 Fix thirdparty codec to return GVK 2016-08-15 22:07:54 -07:00
Hongchao Deng
eb516fbc0a optimize field.Set{} -> nil 2016-08-15 11:41:25 -07:00
Hongchao Deng
75fe25e717 generic.Matcher -> *generic.SelectionPredicate 2016-08-13 21:52:11 -07:00
Hongchao Deng
d4afb781c3 change all PredicateFunc to use SelectionPredicate 2016-08-13 10:11:35 -07:00
Kubernetes Submit Queue
e39d7f71e6 Merge pull request #30251 from hongchaodeng/r2
Automatic merge from submit-queue

Move new etcd storage (low level storage) into cacher

In an effort for #29888, we are pushing forward this:

What?
- It changes creating etcd storage.Interface impl into creating config
- In creating cacher storage (StorageWithCacher), it passes config created above and new etcd storage inside.

Why?
- We want to expose the information of (etcd) kv client to cacher. Cacher storage uses this information to talk to remote storage.
2016-08-13 10:09:49 -07:00
Hongchao Deng
d0938094d9 move new etcd storage into cacher 2016-08-12 18:40:20 -07:00
Jordan Liggitt
4db004972a
Plumb context to strategy methods 2016-08-08 22:33:25 -04:00
k8s-merge-robot
1026eecc9d Merge pull request #26012 from sitepod/third-party-resource-list-json-fix
Automatic merge from submit-queue

include metadata in third party resource list serialization

Third party resource listing does not include important metadata such as resourceVersion and apiVersion. This commit includes the missing metadata and also replaces the string templating with an anonymous struct.
2016-07-19 04:00:34 -07:00
Davanum Srinivas
2b0ed014b7 Use Go canonical import paths
Add canonical imports only in existing doc.go files.
https://golang.org/doc/go1.4#canonicalimports

Fixes #29014
2016-07-16 13:48:21 -04:00
Clayton Coleman
c077bac341
Implement a RESTMappings method
With the introduction of batch/v1 and batch/v2alpha1, any
MultiRESTMapper that has per groupversion mappers (as a naive discovery
client would create) would end up being unable to call RESTMapping() on
batch.Jobs. As we finish up discovery we will need to be able to choose
prioritized RESTMappings based on the service discovery doc.

This change implements RESTMappings(groupversion) which returns all
possible RESTMappings for that kind.  That allows a higher level call to
prioritize the returned mappings by server or client preferred version.
2016-07-13 21:18:53 -04:00
Wojciech Tyczynski
3f288e365d Simplify registries initialization 2016-07-04 14:20:29 +02:00
David McMahon
ef0c9f0c5b Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
Matt Freeman
8eef335dec implement code review changes and add basic test 2016-06-27 08:27:04 +00:00
Matt Freeman
742447f8ce include metadata in third party res list output 2016-06-22 02:30:57 +00:00
Matt Freeman
3758df1681 handle watch event serialization for third party resources 2016-06-21 07:30:08 +00:00
Clayton Coleman
36a5ffbe2f
Remove EncodeToStream(..., []unversioned.GroupVersion)
Was not being used.
2016-06-10 18:43:12 -04:00
k8s-merge-robot
421c16addd Merge pull request #25894 from brendandburns/thirdparty-watch
Automatic merge from submit-queue

Fix third party

Fixes https://github.com/kubernetes/kubernetes/issues/25421
Fixes https://github.com/kubernetes/kubernetes/issues/25422

@AdoHe @sjenning @caesarxuchao @lavalamp 

@kubernetes/sig-api-machinery 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-04 15:42:41 -07:00
Brendan Burns
328a8392b1 Fix third party 2016-06-02 10:24:14 -07:00
Jordan Liggitt
29252acd1a Change rest storage Update interface to retrieve updated object
Add OldObject to admission attributes

Update resthandler Patch/Update admission plumbing
2016-05-23 21:09:26 -04:00
Clayton Coleman
51b624103f
Change ConvertToVersion to use GroupVersion
Long delayed refactor, avoids a few more allocations.
2016-05-12 10:10:35 -04:00
Clayton Coleman
e0ebcf4216
Split the storage and negotiation parts of Codecs
The codec factory should support two distinct interfaces - negotiating
for a serializer with a client, vs reading or writing data to a storage
form (etcd, disk, etc). Make the EncodeForVersion and DecodeToVersion
methods only take Encoder and Decoder, and slight refactoring elsewhere.

In the storage factory, use a content type to control what serializer to
pick, and use the universal deserializer. This ensures that storage can
read JSON (which might be from older objects) while only writing
protobuf. Add exceptions for those resources that may not be able to
write to protobuf (specifically third party resources, but potentially
others in the future).
2016-05-05 12:08:23 -04:00
Timothy St. Clair
24b4286960 In preparation for new storage backends renaming generic registry store 2016-04-26 08:32:13 -05:00
Clayton Coleman
3111985564 Handle streaming serializers more consistently
Add tests to watch behavior in both protocols (http and websocket)
against all 3 media types. Adopt the
`application/vnd.kubernetes.protobuf;stream=watch` media type for the
content that comes back from a watch call so that it can be
distinguished from a Status result.
2016-04-22 11:07:24 -04:00
Clayton Coleman
a5ff573263 ThirdPartyResourceCodec should implement streaming.Framer
Wrappers must proxy NewFrameReader|Writer for now (until we potentially
refactor the codec factory to separate them).
2016-04-18 21:24:26 -04:00
k8s-merge-robot
f5e8e7453b Merge pull request #23806 from smarterclayton/streaming_watch
Automatic merge from submit-queue

Implement a streaming serializer for watch

Changeover watch to use streaming serialization. Properly version the
watch objects. Implement simple framing for JSON and Protobuf (but not
YAML).

@wojtek-t @lavalamp
2016-04-13 05:18:17 -07:00
k8s-merge-robot
acf9492cb1 Merge pull request #23660 from goltermann/vetclean
Automatic merge from submit-queue

Additional go vet fixes

Mostly:
- pass lock by value
- bad syntax for struct tag value
- example functions not formatted properly
2016-04-12 06:22:16 -07:00
Clayton Coleman
3474911736 Implement a streaming serializer for watch
Changeover watch to use streaming serialization. Properly version the
watch objects. Implement simple framing for JSON and Protobuf (but not
YAML).
2016-04-11 11:22:05 -04:00
goltermann
696423e044 Vet fixes, mostly pass lock by value errors. 2016-04-06 11:27:40 -07:00
Brendan Burns
be6c5b332b Add third party support to kubectl 2016-03-31 10:53:32 -07:00
k8s-merge-robot
95e09e303f Merge pull request #22965 from caesarxuchao/delete-UID-precondition
Auto commit by PR queue bot
2016-03-26 09:36:28 -07:00
goltermann
32d569d6c7 Fixing all the "composite literal uses unkeyed fields" Vet errors. 2016-03-25 15:25:09 -07:00
Chao Xu
31b425b3a1 add delete precondition 2016-03-25 11:21:39 -07:00
goltermann
34d4eaea08 Fixing several (but not all) go vet errors. Most are around string formatting, or unreachable code. 2016-03-22 17:26:50 -07:00
k8s-merge-robot
5db0feb202 Merge pull request #22017 from caesarxuchao/fix-21955
Auto commit by PR queue bot
2016-03-10 14:37:43 -08:00
k8s-merge-robot
89c9c24987 Merge pull request #21964 from caesarxuchao/fix-thirdparty-parameter
Auto commit by PR queue bot
2016-03-07 00:59:17 -08:00
Chao Xu
56bddbcae5 fix thirdparty discovery, add test 2016-02-25 14:13:28 -08:00
Wojciech Tyczynski
506899008f Parallelization of namespace deletion 2016-02-25 16:33:25 +01:00
Chao Xu
5b108acb38 fix ParameterCodec for thirdparty resource 2016-02-24 21:45:30 -08:00
Wojciech Tyczynski
4eadc5e97b Introduce RESTOptions to configure per-resource storage 2016-02-22 16:28:28 +01:00
deads2k
9901a386c3 remove ResourceIsValid 2016-02-15 07:49:48 -05:00
deads2k
6d71421ae1 eliminate mixed case from RESTMapper 2016-02-08 15:33:31 -05:00
k8s-merge-robot
5914deeac8 Merge pull request #19380 from brendandburns/apiresource
Auto commit by PR queue bot
2016-02-03 00:49:47 -08:00
Clayton Coleman
2fd38a7dc0 Break kubectl from assuming details of codecs
Most of the logic related to type and kind retrieval belongs in the
codec, not in the various classes. Make it explicit that the codec
should handle these details.

Factory now returns a universal Decoder and a JSONEncoder to assist code
in kubectl that needs to specifically deal with JSON serialization
(apply, merge, patch, edit, jsonpath). Add comments to indicate the
serialization is explicit in those places. These methods decode to
internal and encode to the preferred API version as previous, although
in the future they may be changed.

React to removing Codec from version interfaces and RESTMapping by
passing it in to all the places that it is needed.
2016-01-22 13:27:26 -05:00
Clayton Coleman
181dc7c64c Update thirdpartyresourcecodec with new Decoder 2016-01-22 13:27:25 -05:00