Commit Graph

117 Commits (df11a51b6476235256523377a0d426e52d174bdd)

Author SHA1 Message Date
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
Clayton Coleman fdb110c859
Fix the rest of the code 2016-04-29 17:12:10 -04:00
k8s-merge-robot 11298d02e0 Merge pull request #24455 from hongchaodeng/fl
Automatic merge from submit-queue

Provide flags to use etcd3 backed storage

ref: #24405

What's in this PR?
- Add a new flag "storage-backend" to choose "etcd2" or "etcd3". By default (i.e. empty), it's "etcd2".
- Take out etcd config code into a standalone package and let it create etcd2 or etcd3 storage backend given user input.
2016-04-29 08:49:04 -07:00
k8s-merge-robot d0b887e4e0 Merge pull request #24595 from zhouhaibing089/httpserverclose
Automatic merge from submit-queue

Uncomment the code that caused by #19254

Fix https://github.com/kubernetes/kubernetes/issues/24546.

@lavalamp
2016-04-28 01:41:16 -07:00
Hongchao Deng c0071a1595 add flags to enable etcd3 2016-04-28 09:48:16 +08:00
zhouhaibing089 bf1a3f99c0 Uncomment the code that cause by #19254 2016-04-25 23:21:31 +08:00
nikhiljindal f9f1e21e08 Moving master.SSHTunneler to genericapiserver 2016-04-22 11:47:05 -07:00
deads2k 6670b73b18 make storage enablement, serialization, and location orthogonal 2016-04-21 08:18:55 -04:00
Prashanth Balasubramanian 0ac10c6cc2 PetSet type, apps apigroup 2016-04-20 18:49:31 -07:00
k8s-merge-robot e81663c824 Merge pull request #24006 from caesarxuchao/thirdparty-preferredversion
Automatic merge from submit-queue

Use the first version as thirdparty resource preferredVersion

First commit is a one-liner, which implements the server-half of #23985.

The other two commits rearrange the test code, and add back a commented out test of thirdparty resource.

@lavalamp @nikhiljindal
2016-04-17 16:02:59 -07:00
k8s-merge-robot a275a045d1 Merge pull request #23914 from sky-uk/make-etcd-cache-size-configurable
Automatic merge from submit-queue

Make etcd cache size configurable

Instead of the prior 50K limit, allow users to specify a more sensible size for their cluster.

I'm not sure what a sensible default is here. I'm still experimenting on my own clusters. 50 gives me a 270MB max footprint. 50K caused my apiserver to run out of memory as it exceeded >2GB. I believe that number is far too large for most people's use cases.

There are some other fundamental issues that I'm not addressing here:
- Old etcd items are cached and potentially never removed (it stores using modifiedIndex, and doesn't remove the old object when it gets updated)
- Cache isn't LRU, so there's no guarantee the cache remains hot. This makes its performance difficult to predict. More of an issue with a smaller cache size.
- 1.2 etcd entries seem to have a larger memory footprint (I never had an issue in 1.1, even though this cache existed there). I suspect that's due to image lists on the node status.

This is provided as a fix for #23323
2016-04-17 00:06:31 -07:00
Daniel Smith 4c539bf082 Merge pull request #23490 from wojtek-t/remove_set_from_storage_interface
Remove Set() from storage.Interface.
2016-04-13 14:22:05 -07:00
Chao Xu f315ffd8b1 make default thirdparty resource preferredVersion; adding back discovery tests 2016-04-12 10:09:09 -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
James Ravn 5bb0595260 Make deserialization cache size configurable
Instead of the default 50K entries, allow users to specify more sensible
sizes for their cluster.
2016-04-12 13:42:27 +01:00
goltermann 696423e044 Vet fixes, mostly pass lock by value errors. 2016-04-06 11:27:40 -07:00
Wojciech Tyczynski 53f433f019 Remove Set() from storage.Interface. 2016-04-04 17:54:18 +02:00
Brendan Burns be6c5b332b Add third party support to kubectl 2016-03-31 10:53:32 -07:00
deads2k e8fb35d4d8 refactor resource overrides as positive logic interface 2016-03-28 09:24:49 -04:00
k8s-merge-robot b8e390a0f3 Merge pull request #22824 from brendandburns/enable
Auto commit by PR queue bot
2016-03-24 22:26:39 -07:00
Brendan Burns 1f5b4b8802 Address comments. 2016-03-24 15:44:31 -07:00
Brendan Burns 87a1635c93 Machine generated stuff 2016-03-22 14:41:37 -07:00
Jordan Liggitt ad20045c8d Correctly identify namespace subresources in GetRequestInfo 2016-03-14 13:03:33 -04: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
Chao Xu 56bddbcae5 fix thirdparty discovery, add test 2016-02-25 14:13:28 -08:00
Chao Xu 4adb110516 adding a unit test 2016-02-25 11:09:26 -08:00
k8s-merge-robot aee2eb3977 Merge pull request #21434 from erictune/job-ga
Auto commit by PR queue bot
2016-02-22 00:12:54 -08:00
Chao Xu 39838745e5 Strip version when encoding discovery API objects at endpoints that exist since release 1.1 2016-02-19 15:05:20 -08:00
Eric Tune da44473a38 Comment out test to fix later. 2016-02-19 11:20:58 -08:00
Eric Tune d5f303d3d7 Fixed and added tests 2016-02-19 09:20:56 -08:00
nikhiljindal 20ce4aed0e Adding hostname to groups discovery information 2016-02-18 11:58:11 -08:00
Piotr Szczesniak d9705940d6 Fixed and added tests 2016-02-15 21:39:00 +01:00
Nikhil Jindal 4606d1408b Merge pull request #20532 from nikhiljindal/genericServerAPIs
Moving /apis handler to generic api server
2016-02-05 13:13:57 -08:00
nikhiljindal d267ab5f92 Moving /apis handler to generic server 2016-02-04 17:58:13 -08:00
Nikhil Jindal 59820827d4 Merge pull request #20513 from nikhiljindal/apiserverExampleTest
Adding test for apiserver example
2016-02-04 11:28:58 -08:00
nikhiljindal c7beb9078c Updating methods to return error rather than using glog.Fatalf 2016-02-03 16:00:45 -08:00
mqliang b0e06c14e5 add a knob to enable quorum read 2016-01-30 20:32:12 +08:00
Clayton Coleman 4d127dc969 Initialize API servers with negotiated serializers
Pass down into the server initialization the necessary interface for
handling client/server content type negotiation. Add integration tests
for the negotiation.
2016-01-22 01:10:22 -05:00
Harry Zhang 936a11e775 Use networking to hold network related pkgs
Change names of unclear methods

Use net as pkg name for short
2016-01-15 13:46:16 +08:00
David Oppenheimer 8ac484793d Comment out calls to httptest.Server.Close() to work around
https://github.com/golang/go/issues/12262 . See #19254 for
more details. This change should be reverted when we upgrade
to Go 1.6.
2016-01-11 23:02:11 -08:00
nikhiljindal 87ce093c77 Moving API registration logic to generic api server 2015-12-30 14:22:14 -08:00
Brendan Burns e594407ab5 Add dynamic APIs to the list of discoverable APIs 2015-12-18 14:03:43 -08:00
nikhiljindal 2d952aaa87 Extracting APIServer machinery code into a library 2015-12-16 13:54:23 -08:00
deads2k d0aaf13920 use constants for group names 2015-12-14 10:04:10 -05:00
Timothy St. Clair a428246960 Abstract the error handling for the storage layer to eliminate the
direct etcd dependency.
2015-12-10 08:06:19 -06:00
deads2k 2ee3dfe415 update testapi to eliminate redundant fields 2015-12-07 15:54:26 -05:00
nikhiljindal 5c556baa2f Removing duplicate NewEtcdStorage code 2015-12-03 01:37:44 -08:00
gmarek 459131fd92 Use KubeletPort reported in NodeStatus instead of cluster-wide master config, take 2. 2015-12-02 13:38:17 +01:00
k8s-merge-robot a836b1e261 Merge pull request #17326 from caesarxuchao/grooupVersion-lastest
Auto commit by PR queue bot
2015-12-01 05:05:40 -08:00
Chao Xu 6e192760e3 refactoring latest.go GroupVersion;
clean up latest.go GroupVersions;
remove latest.GroupMeta.Group;
remove latest.GroupMeta.Version.
2015-11-30 11:30:21 -08:00