Commit Graph

727 Commits

Author SHA1 Message Date
Vish Kannan
094cbcc6fe Merge pull request #6074 from derekwaynecarr/reflector_last_sync_resource_version
Expose last sync resource version on reflector
2015-04-08 14:56:33 -07:00
derekwaynecarr
9df41301f0 Expose last sync resource version 2015-04-08 17:09:06 -04:00
deads2k
dbda3f7303 make .Stream handle error status codes 2015-04-08 13:52:16 -04:00
Masahiro Sano
d04cc5ced4 List in NodesInterface takes label selector 2015-04-08 23:41:27 +09:00
Daniel Smith
c1390a0836 version field selector field names in the client 2015-04-07 16:59:57 -07:00
Derek Carr
6eb54e73e0 Merge pull request #5270 from lavalamp/fix7
Controller framework
2015-04-07 16:58:09 -04:00
Nikhil Jindal
842b9d8d3a Merge pull request #6493 from smarterclayton/make_client_pluggable
Make the client.Fake more powerful by standardizing how the fake loads data
2015-04-07 12:48:27 -07:00
Clayton Coleman
51db3bd654 Create a new testclient package that can be backed by disk files
Standardize how our fakes are used so that a test case can use a
simpler mechanism for providing large, complex data sets, as well
as represent queries over time.
2015-04-07 14:56:15 -04:00
markturansky
8f24fbc40c fixed typo 2015-04-07 12:38:09 -04:00
Rohit Jnagal
0400339d01 Merge pull request #6494 from lavalamp/fix2
compute query parameter names in the client.
2015-04-06 18:44:45 -07:00
Daniel Smith
44bc29631e compute query parameter names in the client. 2015-04-06 16:54:26 -07:00
derekwaynecarr
b1dca3232f Improve test case to ensure finalize does desired behavior 2015-04-06 13:13:06 -04:00
Rohit Jnagal
fe735d33ac Merge pull request #6441 from smarterclayton/hide_already_exists_error
Do not log "event already exists" errors
2015-04-06 08:59:46 -07:00
markturansky
95bd170ca2 PV & PVC Client implementation 2015-04-06 08:46:43 -04:00
Clayton Coleman
aee73d6729 Do not log "event already exists" errors
When the server rejects an event because it has already been created, log it
at a very high level (debug) instead of the default level. Duplicate events
typically only occur due to programmer error or failure conditions, so they
can safely be ignored in production environments.
2015-04-04 11:35:56 -04:00
Yu-Ju Hong
dbd7b186a0 Merge pull request #6338 from smarterclayton/improve_config_error
Return a typed error for config validation, and make errors simple
2015-04-03 18:08:15 -07:00
Brian Grant
b0b6418ca3 Merge pull request #6377 from nikhiljindal/kubevtl
Updating components to use v1beta3
2015-04-03 15:58:09 -07:00
nikhiljindal
f2b72931fc Updating components to use v1beta3 2015-04-03 15:19:14 -07:00
Brian Grant
0d95883593 Merge pull request #6027 from ghodss/kube-patch
Implement Strategic Merge Patch in apiserver
2015-04-03 15:08:51 -07:00
Brian Grant
8e91097f82 Merge pull request #6423 from lavalamp/fix
Fix incorrect reference to name in v1beta3 API.
2015-04-03 14:45:47 -07:00
Brendan Burns
88dbdc4a69 Merge pull request #6203 from brendandburns/qps
Add a QPS limiter to the kubernetes client.
2015-04-03 14:24:29 -07:00
Eric Tune
e49424785e Merge pull request #6380 from roberthbailey/kubelet-ssl
Configure the kubelet to use HTTPS (take 2)
2015-04-03 13:43:00 -07:00
Daniel Smith
0c2d3ffe68 Single-key matching behavior in generic.Matcher 2015-04-03 13:11:21 -07:00
Brendan Burns
3f98ac07c2 Add a QPS limiter to the kubernetes client. 2015-04-03 11:58:51 -07:00
Sam Ghods
2c977db1b3 Implement Strategic Merge Patch in apiserver 2015-04-03 11:51:02 -07:00
Filip Grzadkowski
4c50767c80 Add metrics to REST client 2015-04-03 14:42:06 +02:00
Daniel Smith
cc5ef8c5ad make undelta store use go's implementatio inheritance mechanism 2015-04-02 15:31:19 -07:00
Daniel Smith
8ee9ee9920 add ListKeys method to Store 2015-04-02 15:26:39 -07:00
Robert Bailey
f15e34a1bf Revert "Merge pull request #6309 from GoogleCloudPlatform/revert-6243-kubelet-ssl"
This reverts commit 96a0a0d618, reversing
changes made to 2af9b54147.
2015-04-02 10:44:37 -07:00
Federico Simoncelli
8849cf21d3 event: fallback to creation when update fails
Updating may fail because the item was removed from apiserver. This
patch makes sure to retry using creation instead of update.

Fixes #6289

Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-04-02 09:15:01 -04:00
Federico Simoncelli
b276132e21 event: improve logging on recording failure
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-04-02 09:07:32 -04:00
Clayton Coleman
323a44e54a Make kubectl errors even more user-friendly
Omit glog prefix when v < 2, show multiline errors for configuration
problems, add new generic messages for server errors that hide some
complexity that is not relevant for users.
2015-04-02 01:40:15 -04:00
Clayton Coleman
9b5b27a12e Return a typed error for config validation, and make errors simple
Will allow clients to determine when the configuration is bad.
2015-04-02 01:40:00 -04:00
Robert Bailey
32a1c052dc Revert "Configure the kubelet to use HTTPS" 2015-04-01 13:59:31 -07:00
Robert Bailey
58bc792e68 Configure the master to connect to the kubelet using HTTPS. 2015-04-01 09:09:29 -07:00
Victor Marmol
2de37624e8 Merge pull request #6252 from krousey/string_format_cleanup
Fixing a lot of string formatting issues
2015-03-31 16:57:36 -07:00
Kris Rousey
6904c4d585 Fixing a lot of string formatting issues with regards to:
* Improper format specifier (e.g. %s for bools or %s for ints)
  * More or less parameters than format specifiers
  * Not calling a formatting function when it should have (e.g. Error() instead of Errorf())
2015-03-31 16:47:10 -07:00
Brendan Burns
313a365712 Merge pull request #5473 from lavalamp/fix6
Add DeltaFIFO (a controller framework piece)
2015-03-31 13:29:00 -07:00
Daniel Smith
68287713a0 Add a "delta fifo", which queues up object changes
Test coverage for module at 80%.
2015-03-31 10:25:29 -07:00
Daniel Smith
af870b8772 Add proper key error type 2015-03-31 10:25:29 -07:00
Daniel Smith
e8cc126a56 Add ListKeys() to FIFO & test 2015-03-31 10:25:29 -07:00
Daniel Smith
a8184e81bc Update FIFO documentation 2015-03-31 10:25:29 -07:00
Tim Hockin
eeff1b74fb Fixes from feedback and testing 2015-03-30 23:52:37 -07:00
Tim Hockin
186818d787 WIP: Implement multi-port Services 2015-03-30 19:28:11 -07:00
saadali
e0f71cb21f Make each new instance of kubelet generate a new event channel (instead of reusing existing). 2015-03-30 14:22:16 -07:00
Brian Grant
c9ad322ba9 Merge pull request #5831 from smarterclayton/add_more_errors
Add more specific error handling and handle generic errors more effectively
2015-03-27 14:17:11 -07:00
Clayton Coleman
aa44d29d10 Updated documentation and adjusted field names 2015-03-27 17:08:59 -04:00
Tim Hockin
8ae203825b Implement multi-port endpoints
Instead of endpoints being a flat list, it is now a list of "subsets"
where each is a struct of {Addresses, Ports}.  To generate the list of
endpoints you need to take union of the Cartesian products of the
subsets.  This is compact in the vast majority of cases, yet still
represents named ports and corner cases (e.g. each pod has a different
port number).

This also stores subsets in a deterministic order (sorted by hash) to
avoid spurious updates and comparison problems.

This is a fully compatible change - old objects and clients will
keepworking as long as they don't need the new functionality.

This is the prep for multi-port Services, which will add API to produce
endpoints in this new structure.
2015-03-27 12:36:32 -07:00
Brian Grant
984bc8d5f6 Merge pull request #5635 from ravigadde/master
Add timeout to kubelet client
2015-03-26 14:55:24 -07:00
Clayton Coleman
524f8731b5 Decode errors returned to clients by the Watch interface 2015-03-26 17:30:13 -04:00
Clayton Coleman
30358e8b04 Add more specific error handling and handle generic errors more effectively
The client library should type more generic errors from the server.
2015-03-26 17:30:13 -04:00
derekwaynecarr
267ef26b0f Do not block admission if namespace already exists 2015-03-26 15:59:09 -04:00
Brian Grant
3b0db99692 Merge pull request #5915 from piosz/api
Changed PodInfo to be a list
2015-03-26 12:46:50 -07:00
Vish Kannan
f2e47a29e1 Merge pull request #5994 from dchen1107/clean
Fixed an issue on searching events by a given fieldSelector. The issue b...
2015-03-26 10:21:09 -07:00
Dawn Chen
ab0e9f1d41 Fixed an issue on searching events by a given fieldSelector. The issue break
the events reported for kubectl describe pods completely.

Fixed #5957
2015-03-26 10:00:10 -07:00
gmarek
5a11748018 Move Capacity from NodeSpec to NodeStatus 2015-03-26 15:28:48 +01:00
Piotr Szczesniak
31901ed9d0 Changed PodInfo to be a list
This change is to make API consistent with our convention.

Fixes #3622
2015-03-26 10:15:25 +01:00
Clayton Coleman
b1ab14315b Clients should not check conditions, UpdateStatus() is inconsistent
Corrects some of the cargo culting that has crept into the API.
2015-03-25 16:25:04 -04:00
nikhiljindal
ba3746172f Updating unit tests for pkg/client so that they pass with v1beta3 api 2015-03-24 18:54:02 -07:00
Brian Grant
d75291dbe7 Merge pull request #5838 from nikhiljindal/clientTests
Updating unit tests so that they pass with v1beta3 api
2015-03-24 17:30:50 -07:00
Piotr Szczesniak
fef81150b9 Merge pull request #5858 from a-robinson/timeout
Increase the client-specified timeout for service create/update/delete.
2015-03-24 21:42:01 +01:00
Alex Robinson
ab67cba7fb Increase the client-specified timeout for service create/update/delete.
This is only temporary until external load balancer creation is changed to
be asynchronous.
2015-03-24 20:17:36 +00:00
nikhiljindal
7e3b7f9673 Updating unit tests so that they pass with v1beta3 api 2015-03-24 12:13:53 -07:00
Clayton Coleman
aee9bdd69a Merge pull request #5805 from liggitt/node_proxy
Improve ResourceLocation API, allow proxy to use authenticated transport
2015-03-24 13:01:54 -04:00
Clayton Coleman
97560c409f Merge pull request #5554 from derekwaynecarr/namespace_controller
Namespace Controller to support Namespace Termination
2015-03-24 12:59:00 -04:00
Jordan Liggitt
a75b501821 Improve ResourceLocation API, allow proxy to use authenticated transport 2015-03-24 11:11:34 -04:00
derekwaynecarr
29c491ef2e Namespace.Spec.Finalizer support 2015-03-24 10:36:06 -04:00
Wojciech Tyczynski
f7191d626d Change "/ns" to "/namespaces" in few remaining places. 2015-03-24 13:05:32 +01:00
Clayton Coleman
d46087db50 Move REST* interfaces into pkg/api/rest
Dependency chain is now api -> api/rest -> apiserver.  Makes the
interfaces much cleaner to read, and cleans up some inconsistenties
that crept in along the way.
2015-03-23 16:52:21 -04:00
Saad Ali
e8f70428fb Merge pull request #5715 from jszczepkowski/kubelet-nodesel
Running node selector predicate on kubelet.
2015-03-23 11:06:00 -07:00
Clayton Coleman
d19aac80ea Merge pull request #5533 from smarterclayton/burn_yaml_with_fire
Burn YAML with fire (kind of)
2015-03-23 13:45:52 -04:00
Jerzy Szczepkowski
34a8a3a844 Running node selector predicate on kubelet.
Added checking on kubelet if scheduled pods have matching node selector. This is the last step to fix #5207.
2015-03-23 08:21:58 +01:00
Ravi Gadde
5871e53060 Add timeout to kubelet client 2015-03-20 18:46:45 -07:00
nikhiljindal
1b87060aec Adding GetFieldSelector() to client.EventInterface 2015-03-20 13:58:23 -07:00
Clayton Coleman
6918a4d32e Replace automatic YAML decoding with opt-in YAML decoding
Base codecs no longer automically handle YAML.  Instead, clients
must convert to JSON first via yaml.ToJSON and runtime.YAMLDecoder.
2015-03-20 00:03:56 -04:00
Brian Grant
11f9733599 Merge pull request #5587 from nikhiljindal/enable3
Updating integration tests to test both API versions - v1beta1 and 3
2015-03-18 16:14:20 -07:00
nikhiljindal
7e36bbab3c Updating integration tests to test both API versions - v1beta1 and 3 2015-03-18 15:24:11 -07:00
Jeff Lowdermilk
72699606a9 Merge pull request #5541 from deads2k/deads-expose-resolve-local-paths
allow any number of kubeconfig files
2015-03-18 10:46:47 -07:00
Filip Grzadkowski
1a352b74ba Periodically update pod status from kubelet. 2015-03-18 12:11:39 +01:00
Salvatore Dario Minonne
31ddefc347 Finalize fields.Selector 2015-03-17 22:55:43 +01:00
Victor Marmol
668e2dbcd8 Merge pull request #5502 from wojtek-t/completely_remove_bound_pods
Remove BoundPod type from source code
2015-03-17 08:09:50 -07:00
Filip Grzadkowski
18b728ff44 Revert "Periodically update pod status from kubelet." 2015-03-17 13:51:45 +01:00
deads2k
8555ed3ede allow any number of kubeconfig files 2015-03-17 08:49:34 -04:00
Wojciech Tyczynski
e6d188fca8 Remove BoundPod structure 2015-03-17 10:27:41 +01:00
Victor Marmol
009737e69e Merge pull request #5205 from fgrzadkowski/sync_pod_status
Periodically update pod status from kubelet.
2015-03-16 17:04:31 -07:00
Brian Grant
2f9a41b898 Merge pull request #5233 from brendandburns/labels
Make label and field selector query strings versionable.
2015-03-16 16:01:37 -07:00
Filip Grzadkowski
336525a27d Periodically update pod status from kubelet. 2015-03-16 23:03:03 +01:00
Jeff Lowdermilk
2a8528704a Merge pull request #5446 from lavalamp/fix2
Add a system modeler to scheduler
2015-03-16 10:21:02 -07:00
Daniel Smith
992d78a32e Add a system modeler to scheduler
So it can try to predict the effect its bindings will have.
2015-03-13 17:48:16 -07:00
derekwaynecarr
799e3fa9cc Eliminate ResourceQuotaUsage in favor of ResourceQuota status 2015-03-13 16:52:09 -04:00
Daniel Smith
e3594dfe2f Merge pull request #5404 from derekwaynecarr/delete_events
Client support to delete events
2015-03-13 12:36:43 -07:00
Ravi Sankar Penta
f6ecec5880 Allow admin user to explicitly unschedule the node
Setting Unschedulable on the node will not touch any existing pods
on the node but will block scheduling of new pods on the node.
2015-03-12 14:27:27 -07:00
derekwaynecarr
703d2a87bf Client support to delete events 2015-03-12 16:55:31 -04:00
Brendan Burns
266234f3b9 Make label and field selector query strings versionable. 2015-03-12 12:24:07 -07:00
Wojciech Tyczynski
9f2f10d6db Make scheduler to watch PodSpec.Host instead Status.Host 2015-03-12 13:38:58 +01:00
Zach Loafman
e780592315 Merge pull request #5264 from jlowdermilk/kube-up
Standalone kubeconfig for gce kube-up (mulligan)
2015-03-11 11:46:45 -07:00
Daniel Smith
6606f9c9f5 double-fix crash on my cluster 2015-03-11 09:54:33 -07:00
Jeff Lowdermilk
7db006ab1a Generate standalone kubeconfig on kube-up, clear on kube-down.
Also tweaked the ginkgo tests to pull auth directly from a kubeconfig file
instead of the legacy kubernetes_auth file.
2015-03-10 14:23:34 -07:00
Salvatore Dario Minonne
925fa6baf8 Adding fields selector 2015-03-10 22:13:10 +01:00
Brian Grant
9aa744925e Merge pull request #5030 from simon3z/nodeinfo
Add support for fetching node collected information
2015-03-10 14:05:41 -07:00
Daniel Smith
e1f64b2901 Merge pull request #5235 from jszczepkowski/pods-watch
Watch support in PodInterface.
2015-03-10 11:59:04 -07:00
Brian Grant
7aa060bae7 Merge pull request #4706 from mikedanese/PATCH
add PATCH verb to apiserver
2015-03-10 11:38:22 -07:00
Derek Carr
99a5ab4cfa Merge pull request #5248 from pmorie/fix-events
Fix event recorder not to log events without a reference
2015-03-10 14:08:00 -04:00
Mike Danese
46ec580771 add PATCH to apiserver 2015-03-10 10:56:15 -07:00
Brian Grant
6062e14313 Merge pull request #5220 from nikhiljindal/camelCaseFieldSelectors
Changing v1beta3 field selectors to be camelCased
2015-03-10 09:35:03 -07:00
Paul Morie
a373b234e9 Fix event recorder not to log events without a reference 2015-03-10 11:36:43 -04:00
Federico Simoncelli
1b18440f35 kubelet: add GetNodeInfo implementation
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-03-10 10:11:01 -04:00
Federico Simoncelli
eb0b6f2bcf kubelet: improve client url composition
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-03-10 10:05:19 -04:00
Jerzy Szczepkowski
0342ba3476 Watch support in PodInterface.
Added Watch support to PodInterface. Extended pods e2e to test watch. Resolves #4777.
2015-03-10 09:45:44 +01:00
nikhiljindal
916ca9cc68 Changing v1beta3 field selectors to be camelCased 2015-03-09 18:01:01 -07:00
Jeff Lowdermilk
a280e0da2d Revert "Standalone kubeconfig for gce kube-up" 2015-03-09 17:45:06 -07:00
Brian Grant
7b72d9539f Merge pull request #5054 from smarterclayton/switch_to_sub_bindings
Make Pod binding a subresource (and be generic to other types)
2015-03-09 16:41:26 -07:00
Satnam Singh
89bc7bbea9 Merge pull request #5154 from jlowdermilk/kube-up
Standalone kubeconfig for gce kube-up
2015-03-09 16:22:51 -07:00
Jeff Lowdermilk
4173d369aa Generate standalone kubeconfig on kube-up, clear on kube-down.
Also tweaked the ginkgo tests to pull auth directly from a kubeconfig file
instead of the legacy kubernetes_auth file.
2015-03-09 16:02:00 -07:00
Clayton Coleman
dfc19185f5 Add a subbindings resource as /pods/{name}/binding
Allows POST to create a binding as a child. Also refactors internal
and v1beta3 Binding to be more generic (so that other resources can
support Bindings).
2015-03-09 15:37:19 -04:00
Clayton Coleman
227a1d306d Support SubResource call on Request
Allows better semantic use of Request when dealing with sub resources,
and allows clients to ignore ordering.  Supports multiple segments because
sub-resources are less tightly structured than regular resources.
2015-03-09 14:39:31 -04:00
Brendan Burns
f505a33998 Differentiate between server error messages and client error messages in kubectl 2015-03-07 11:39:23 +01:00
Vish Kannan
53ec66caf4 Merge pull request #5152 from vmarmol/cadvisor-dep
Rename cAdvisor info API to cadvisorApi
2015-03-06 18:09:28 -08:00
Victor Marmol
43b469bd9f Rename cAdvisor info API to cadvisorApi 2015-03-06 16:06:38 -08:00
Vish Kannan
9e5c79a587 Merge pull request #5151 from vmarmol/cadvisor-dep
Update cAdvisor godep
2015-03-06 15:56:48 -08:00
Victor Marmol
a35f4374c5 Update cAdvisor ContainerInfo references to v1 API.
The cAdvisor data structures were versioned recently. We use the v1
versions so this commit makes that explicit.
2015-03-06 15:42:06 -08:00
Eric Tune
c12303eaa3 Merge pull request #4749 from derekwaynecarr/make_quota_more_efficient
Make admission control plug-ins work from indexes
2015-03-06 14:11:12 -08:00
Deyuan Deng
50de1a80c2 kubelet should take a client interface 2015-03-06 15:01:55 -05:00
Daniel Smith
244766ac89 Merge pull request #5002 from satnam6502/proxy-200
Do not fail status 200 responses to proxy calls
2015-03-06 10:20:07 -08:00
derekwaynecarr
2ed8eed004 Make admission control plug-ins work from indexes 2015-03-06 09:36:57 -05:00
Satnam Singh
cb4c931b0b Do not fail status 200 responses to proxy calls 2015-03-06 00:29:19 -08:00
Daniel Smith
3ef3777192 Make unexported fields panic (informatively)
...Also fix some incorrect calls to semantic.DeepEqual, and a bug where
it returned true incorrectly.
2015-03-05 21:40:37 -08:00
Satnam Singh
61e38920a5 Do not fail status 200 responses to proxy calls 2015-03-05 16:19:13 -08:00
Salvatore Dario Minonne
75f2efb500 moving ParseSelector to Parse for labels only. 2015-03-05 22:39:36 +01:00
Paul Morie
02b18edac6 Allow multiple sources to be used with record package 2015-03-05 13:54:29 -05:00
Brian Grant
9fcb48cab6 Merge pull request #4434 from ddysher/node-hostip
Node addresses
2015-03-05 10:33:15 -08:00
derekwaynecarr
21031e37c7 Filter irrelevant pods from quota 2015-03-05 10:18:19 -05:00
Deyuan Deng
9b0af8df63 Node addresses 2015-03-04 16:47:31 -05:00
Eric Tune
662189ebc2 Merge pull request #4967 from jlowdermilk/kubeconfig
Simplify generating kubeconfig with embeded cert data
2015-03-04 08:38:43 -08:00
Jeff Lowdermilk
6e704d174d Simplify generating kubeconfig with embeded cert data 2015-03-03 12:18:07 -08:00
Zach Loafman
5f35a67002 Revert "Adding converter functions to convert field label selectors to internal version before matching" 2015-02-28 11:42:49 -08:00
Daniel Smith
554b1c847c add occasional polling to reflector 2015-02-27 16:59:14 -08:00
Daniel Smith
156c505946 clean up poller test to not make infinite log messages 2015-02-27 16:51:03 -08:00
nikhiljindal
48e7945f65 Versioning the field selectors 2015-02-27 16:10:59 -08:00
Daniel Smith
650f6cb826 Revert "Multi-port Endpoints" 2015-02-23 13:53:21 -08:00
Tim Hockin
160f288832 Implement multi-port Endpoints
This is a part of multi-port services.
2015-02-22 09:35:12 -08:00
Brendan Burns
9829128a75 Merge pull request #4580 from thockin/plural_20_endpoints
Part 2 of plural ports: make endpoints a struct
2015-02-20 15:42:19 -08:00
Andy Goldstein
bd2eb2fa8f Fix flaky exec/portforward tests
Fixes #4676
2015-02-20 16:29:57 -05:00
Victor Marmol
eb343d2768 Merge pull request #4659 from deads2k/deads-tolerate-empty-file
tolerate empty .kubeconfig files
2015-02-20 10:19:14 -08:00
Clayton Coleman
a17517ff6e Merge pull request #4641 from smarterclayton/make_loading_config_data_easier
Split TLS loading to allow 3rd parties to load keys easily
2015-02-20 12:04:08 -05:00
Andy Goldstein
5bd0e9ab05 Add streaming command execution & port forwarding
Add streaming command execution & port forwarding via HTTP connection
upgrades (currently using SPDY).
2015-02-20 09:57:02 -05:00
deads2k
03dde0fc46 tolerate empty .kubeconfig files 2015-02-20 08:27:08 -05:00
Clayton Coleman
60c014334f Split TLS loading to allow 3rd parties to load keys easily
The LoadTLSFiles method is useful for configuration code that needs
to read the current client config and get values out for creating
other config files.
2015-02-19 20:54:21 -05:00
Daniel Smith
40f8dfc54c Merge pull request #4621 from ironcladlou/fifo-add-if-not-present
Support AddIfNotPresent function
2015-02-19 14:22:29 -08:00
Dan Mace
45372a90f8 Support AddIfNotPresent function
Add an AddIfNotPresent function to support single producer/consumer
retry scenarios. Provides the consumer with a means to prefer items
already enqueued by the producer at the point of retry.
2015-02-19 17:04:55 -05:00
Jeff Lowdermilk
703b642886 Merge pull request #4517 from liggitt/kubeconfig_cert_data
Let .kubeconfig be a single-source config for API clients
2015-02-19 10:22:58 -08:00
roberthbailey
bab8393e6a Merge pull request #4278 from brendandburns/kubecfg
Add an (optional) proxy to the TLS config.
2015-02-19 09:17:27 -08:00
Jordan Liggitt
abb38cf793 Let .kubeconfig populate ca/cert/key data, and basic-auth username/password in client configs 2015-02-19 11:29:42 -05:00
Jordan Liggitt
945616a6f9 Surface load errors when reading .kubeconfig files 2015-02-18 23:34:51 -05:00
Tim Hockin
ae0062d001 Part 2 of plural ports: make endpoints a struct
Includes conversions for v1b[12] and tests and fixups for call sites.
2015-02-18 19:54:15 -08:00
Paul Morie
fb001ada21 Secret API resource 2015-02-18 11:54:56 -05:00
Eric Tune
7990b54803 Merge pull request #4444 from saad-ali/eventsCacheLru
Switch events history to use LRU cache instead of map
2015-02-17 16:05:11 -08:00
Clayton Coleman
4859aa7cd8 Merge pull request #4453 from derekwaynecarr/make_quota_more_efficient
Make ListWatch work with a ListFunc and WatchFunc
2015-02-17 14:48:11 -05:00
saadali
2735e6a495 Switch events history to use LRU cache instead of map 2015-02-17 11:40:40 -08:00
Clayton Coleman
7e07d711b8 Provide a helper on client/request.go for full URI
Allows self links to be directly passed
2015-02-16 16:31:32 -05:00
Clayton Coleman
3e2e4714a2 Always set ?namespace in query if specified
Revise our code to only call Request.Namespace() if a namespace
*should* be present.  For root scoped resources, namespace should
be ignored.  For namespaced resources, it is an error to have
Namespace=="".
2015-02-16 00:23:38 -05:00
derekwaynecarr
c0ce15c588 Make list watch take a ListFunc and WatchFunc, provide default funcs from client 2015-02-15 22:26:05 -05:00
deads2k
fef503932f properly handle mergo map versus value rules 2015-02-13 08:29:00 -05:00
Brendan Burns
e300d6c94b Merge pull request #4399 from derekwaynecarr/update_cache_func
If an object has no namespace, do not add a leading slash
2015-02-12 16:17:41 -08:00
derekwaynecarr
192e186119 If an object has no namespace, do not add a leading slash 2015-02-12 17:14:16 -05:00
Clayton Coleman
0b3162b3f4 Merge pull request #4306 from saad-ali/eventCompression1
Compress recurring events in to a single event to optimize etcd storage
2015-02-12 16:59:19 -05:00
Clayton Coleman
0a435c815f Merge pull request #4313 from derekwaynecarr/client_watch_namespaces
Add ability to watch namespaces from client
2015-02-12 11:51:19 -05:00
derekwaynecarr
73aa0cc192 Add a unit test to exercise watch 2015-02-12 11:25:33 -05:00
Saad Ali
b5f4849a53 Merge pull request #4364 from vmarmol/cleanup
Minor clarification of --server flag.
2015-02-12 07:54:39 -08:00
Clayton Coleman
371349f858 Merge pull request #4125 from derekwaynecarr/store_by_namespace
Enable look-up by secondary index in cache
2015-02-12 09:44:26 -05:00
derekwaynecarr
e76dcbdfa2 Add ability to watch namespaces 2015-02-12 09:42:29 -05:00
saadali
033577efa2 Optimize etcd storage by compressing recurring events in to a single event 2015-02-11 22:57:44 -08:00
Victor Marmol
0a64fecaf5 Minor clarification of --server flag.
Fixes #3425.
2015-02-11 17:04:41 -08:00
derekwaynecarr
0bd0e12bbc Add support for Namespace as Kind
Add example for using namespaces
2015-02-10 09:50:50 -05:00
Brendan Burns
3fa9ddd1e1 Add an (optional) proxy to the TLS config.
Also fill in some other reasonable defaults.
2015-02-10 05:20:47 -08:00
derekwaynecarr
53f1efa484 Make sure we remove old object from index before adding new 2015-02-09 16:44:51 -05:00
derekwaynecarr
1cf69bdefc Support multiple index functions, address feedback 2015-02-09 16:44:51 -05:00
derekwaynecarr
7a2d63048d Enable look-up by secondary index in cache 2015-02-09 16:44:51 -05:00
saadali
79cbcf918e Modify Event struct to allow compressing multiple recurring events in to a single event.
# *** ERROR: *** Some API files are missing the required field descriptions
# Add description tags to all non-inline fields in the following files:
#   pkg/api/v1beta1/types.go
#   pkg/api/v1beta2/types.go
#
# Your commit will be aborted unless you fix these.
#   COMMIT_BLOCKED_ON_DESCRIPTION
2015-02-05 21:50:29 -08:00
Mike Danese
14bfec92f2 rename probe.Status to probe.Result. 2015-02-05 15:49:58 -08:00
Clayton Coleman
0307d7ba98 Set a default user agent on all client.Client calls
Form:
  kube-controller-manager/v0.10.0 (linux/amd64) kubernetes/550b98e

  <basename(os.Argv)>/<gitVersion> (<GOOS>/<GOARCH>) kubernetes/<shortGitCommit>

Can be set by other clients
2015-02-04 17:45:53 -05:00
Brian Grant
3f28badae3 Merge pull request #3854 from yujuhong/defaults
Migrate API defaulting to a centralized location
2015-02-04 11:41:23 -08:00
deads2k
bc93de314a remove --ns-path option from .kubeconfig file, kick tests 2015-02-03 14:22:55 -05:00
Yu-Ju Hong
4a72addaeb Factor out API defaulting from validation logic
Currently, the validation logic validates fields in an object and supply default
values wherever applies. This change factors out defaulting to a set of
defaulting callback functions for decoding (see #1502 for more discussion).

 * This change is based on pull request 2587.

 * Most defaulting has been migrated to defaults.go where the defaulting
   functions are added.

 * validation_test.go and converter_test.go have been adapted to not testing the
   default values.

 * Fixed all tests with that create invalid objects with the absence of
   defaulting logic.
2015-02-03 00:55:42 -08:00
Brendan Burns
d9c9856889 Merge pull request #3992 from smarterclayton/allow_namespace_short
Allow commands to specify a short namespace
2015-02-02 10:56:33 -08:00
Alex Robinson
59ee1d901a Merge pull request #4016 from smarterclayton/add_getbykey_to_store
Add a GetByKey method to Store
2015-02-02 10:51:57 -08:00
Clayton Coleman
f398fd2084 Merge pull request #3959 from smarterclayton/expose_tls_config_and_wrappers
Allow client.Config to be used for HTTP2 and WebSocket connections
2015-02-02 13:20:30 -05:00
Clayton Coleman
3ca23163ae Add a GetByKey method to Store
Without the ability to retrieve underlying items by key (instead of
the object passed to KeyFunc) it is impossible to build wrappers
around cache.Store that want to make decisions about keys, because
they would need to reconstruct the object passed to Get.

This allows retrieval by key, and makes sure Get(obj) uses it.
2015-02-01 14:55:45 -05:00
Clayton Coleman
2d5c6b4443 Allow commands to specify a short namespace
OpenShift currently uses '-n', so opening up the potential for downstream
to set a short namespace.  However, this should only be used in general for
commands that want to work across namespaces frequently - such as admin
level operations on entire namespaces like quota or cleanup behavior where
you have permissions and need to rapidly switch.
2015-01-30 17:47:40 -05:00
Clayton Coleman
f04769a595 Merge pull request #3983 from deads2k/deads-relative-paths-in-kubeconfig
resolve relative paths in kubeconfig
2015-01-30 14:45:01 -05:00
deads2k
aba73493de resolve relative paths in kubeconfig 2015-01-30 14:01:24 -05:00
Clayton Coleman
556e59b512 Merge pull request #3810 from ironcladlou/cache-namespacing
Support namespacing in cache.Store
2015-01-30 13:19:41 -05:00
Clayton Coleman
c1a5e14270 Provide a better error when Kubelet pod status is unexpected
Treat HTTP errors with respect, provide a distinct error message
2015-01-29 19:05:41 -05:00
Clayton Coleman
d072232d4a Allow client.Config to be used for HTTP2 and WebSocket connections
client.Config describes how to make a client connection to a server
for HTTP traffic, but for connection upgrade scenarios cannot be
used because the underlying http.Transport object can't allow the
connection to be hijacked. Reorganize the TLS and connection wrapper
methods so that a sophisticated client can do:

    cfg := &client.Config{...} // from somewhere
    tlsConfig, _ := client.TLSConfigFor(cfg)
    _ := conn.Dial(...)
    rt := MyRoundTripper() // some func that implements grabbing requests
    wrapper, _ := client.HTTPWrappersFor(cfg)
    req := &http.Request{}
    req.Header.Set("Connection-Upgrade", ...)
    _, := wrapper.RoundTrip(req)
    // rt has been invoked with a fully formed Req with auth
    rt.Req.Write(conn)
    // read response for upgrade

It would be good to have utility function that does more of this,
but mostly enabling the HTTP2/SPDY client exec function right now.
2015-01-29 17:43:09 -05:00
Dan Mace
5ee943d683 Support namespacing in cache.Store implementations
Support namespacing in cache.Store by framing the interface functions
around interface{} and providing a key function to each Store implementation.

Implementation of a fix for #2294.
2015-01-29 17:39:49 -05:00
nikhiljindal
dc92d3c7a2 Cleaning up the operations code in client 2015-01-28 21:04:16 -08:00
derekwaynecarr
9674f08504 Added unit tests for incrementing usage 2015-01-28 15:03:19 -05:00
derekwaynecarr
829fa69527 Introduce a ResourceQuota object 2015-01-28 15:03:19 -05:00
Tim Hockin
c8f61885df Merge pull request #3695 from mikedanese/ready
refactor pkg/health into more reusable pkg/probe
2015-01-28 11:00:32 -08:00
Clayton Coleman
5117189e03 Merge pull request #3707 from nikhiljindal/preOperations
Removing support for asynchronous server requests
2015-01-28 13:02:52 -05:00
nikhiljindal
de60600608 Making all operations synchronous 2015-01-27 18:47:56 -08:00
Satnam Singh
3a9e6d8f29 Switch to use Too Many Requests response code
Name the 429 status code
2015-01-27 14:54:30 -08:00
derekwaynecarr
74f368f50e Modified LimitRangeItem.Kind to LimitRangeItem.Type, added example files 2015-01-27 16:41:28 -05:00
derekwaynecarr
091cbe5fa2 Add a limit range resource 2015-01-27 16:41:27 -05:00
Mike Danese
5dc6362f8a rename probe.Healthy to probe.Success and renam probe.Unhealthy to probe.Failure. 2015-01-27 11:20:30 -08:00
Mike Danese
a298402bd4 remove pkg/health and move everything over to pkg/probe 2015-01-27 11:20:30 -08:00
Clayton Coleman
6410f37a32 Merge pull request #3591 from ddysher/node-client-update
Add node update method to client interface
2015-01-26 15:47:18 -05:00
Deyuan Deng
e71227388e add node update method to client interface 2015-01-23 16:40:33 -05:00
Satnam Singh
8350bb9700 Add a Retry-After header when rate limit is exceeded 2015-01-22 16:03:00 -08:00
Clayton Coleman
b5bc0c1619 Merge pull request #3700 from smarterclayton/add_run_until_to_reflector
Add RunUntil to the Reflector and Poller to allow early termination
2015-01-21 20:00:25 -05:00
Clayton Coleman
f2d966859d Add RunUntil to the Reflector and Poller to allow early termination
This is useful for test suites where you want to kill your workers
without having to run one test env per execution.
2015-01-21 18:25:54 -05:00
Tim Hockin
7dd0400065 Merge pull request #3470 from deads2k/deads-add-kubecfg-ns
respect namespace from .kubeconfig file
2015-01-21 12:58:06 -08:00
Brian Grant
54ad81759a Merge pull request #3677 from filbranden/flag_shorthand_refactor1
Flag shorthand refactor1
2015-01-21 10:41:26 -08:00
Filipe Brandenburger
0bfeeb84ca Make short flags optional, refactor code to use StringVarP directly.
There is no need to check for an empty string and call StringVar or
StringVarP depending on the case, since StringVar is essentially the
same as a call to StringVarP with an empty string.

This turns 6 lines of code back into 1.

Remove the TODO comments since removing the short flags will no longer
simplify this code significantly.
2015-01-21 07:58:02 -08:00
Filipe Brandenburger
af76d14e2e Revert "fixup repeated usage strings"
This reverts commit 469bd2b641.
2015-01-21 07:56:24 -08:00
Jordan Liggitt
f71521d758 Allow overriding global default cluster host 2015-01-21 10:38:58 -05:00
deads2k
469bd2b641 fixup repeated usage strings 2015-01-21 08:12:24 -05:00
Clayton Coleman
494d003981 Merge pull request #3641 from deads2k/deads-make-short-flags-optional
make shorthand flags optional
2015-01-20 17:23:10 -05:00
deads2k
8c01729f38 make shorthand flags optional 2015-01-20 16:21:27 -05:00
deads2k
dd01137138 add namespace to kubeconfig file 2015-01-20 16:07:54 -05:00
Joe Beda
f90ad573cf Merge pull request #3610 from liggitt/kubelet_tls_client
Build TLS client for kubelet correctly
2015-01-20 10:56:52 -08:00
Jordan Liggitt
888fe4b175 Build TLS client for kubelet correctly 2015-01-19 12:26:12 -05:00
Andrew Seidl
6dee1d7fa4 Fix typos in user-facing strings 2015-01-18 01:32:34 -06:00
Filipe Brandenburger
6d9845361f Merge pull request #3577 from erictune/fixforfilib
Test for and fix crash with nil client in kubelet.
2015-01-16 13:53:29 -08:00
Eric Tune
98bdd3f7c4 Test for and fix crash with nil client in kubelet.
Added test that fails before fix.
Fixed use of nil pointer.
2015-01-16 13:39:31 -08:00
Joe Beda
474212106f Merge pull request #3564 from liggitt/client_cert_data
Allow client and kubelet configs to hold cert/key/ca data directly
2015-01-16 13:19:52 -08:00
Brendan Burns
e86c8f9e53 Merge pull request #3565 from dchen1107/podstatus
Introduce PodStatusResult, and deprecate PodContainerInfo.
2015-01-16 12:05:07 -08:00
Jordan Liggitt
1ebe885827 Allow client and kubelet configs to hold cert/key/ca data directly 2015-01-16 12:18:20 -05:00
Dawn Chen
15e9fa8a9d Introduce PodStatusResult, and deprecate PodContainerInfo. 2015-01-16 09:10:40 -08:00
davidopp
2675cfa16b Merge pull request #2906 from abhgupta/abhgupta-dev
Enhancements to scheduler priority functions
2015-01-14 21:47:28 -08:00
Daniel Smith
4738da0822 fix build 2015-01-14 16:12:22 -08:00
Daniel Smith
2bee4ac572 Merge pull request #3381 from a-robinson/events2
Improve client recording of events such that clients are
2015-01-14 15:21:16 -08:00
Daniel Smith
c13ae34b02 Merge pull request #3445 from saad-ali/fix3172
Remove CONDITION from event object completely
2015-01-14 15:03:06 -08:00
saadali
90dfdcecd5 Remove CONDITION from event object completely
# *** ERROR: *** Some files have not been gofmt'd.  To fix these
# errors, run gofmt -s -w <file>, or cut and paste the following:
#   gofmt -s -w pkg/kubecfg/resource_printer.go pkg/proxy/config/config.go pkg/runtime/types.go
#
# Your commit will be aborted unless you override this warning. To
# commit in spite of these format errors, delete the following line:
#   COMMIT_BLOCKED_ON_GOFMT
2015-01-14 14:17:16 -08:00
Tim Hockin
e86d4cd3c6 Use a strong type for UID fields 2015-01-14 13:53:43 -08:00
Alex Robinson
90e1d58fa6 Add a unit test for watch.Broadcaster DropIfChannelFull and a couple small fixes 2015-01-14 04:36:29 +00:00
deads2k
b51a717f6e add kubectl config 2015-01-13 16:19:57 -05:00
Alex Robinson
3eaf362f8e Switch the client event recorder from exponential backoff to one random
sleep on the first failed request followed by a constant amount on all
subsequent consecutive failed requests.
2015-01-13 19:48:41 +00:00
Daniel Smith
224a8d634b Merge pull request #3384 from derekwaynecarr/list_watch_by_namespace
Add ability to listwatch a resource in an optional namespace
2015-01-13 11:15:27 -08:00
Abhishek Gupta
6fd0b181e3 Rebased onto the latest changes to the scheduler code 2015-01-13 09:41:25 -08:00
Alex Robinson
be6b1cf0e2 Push the full channel logic into the implementation of the broadcaster
in watch/mux.go rather than being in the client event recording code.
2015-01-13 02:22:30 +00:00
Alex Robinson
702a6f96b4 Improve client recording of events such that clients are
(1) less likely to drop events if the master is unavailable
(2) less likely to have goroutines block while trying to record an
event.

Done as part of #3163 to ensure that minions operate well even while the
master is down.
2015-01-13 02:22:30 +00:00
Joe Beda
16d0a837f2 Merge pull request #3414 from liggitt/cafile
Use CAFile even if client certificate is not specified
2015-01-12 17:44:51 -08:00
Jordan Liggitt
1f8a74626f Use CAFile even if client certificate is not specified 2015-01-12 16:38:48 -05:00
Eric Tune
00c05053b7 Rename ListPods methods to List.
For greater similarity to pkg/client.
Does not cover registry's ListPods.
Fix an example in a comment.
2015-01-09 23:46:02 -08:00
derekwaynecarr
7c630fd797 Add ability to listwatch in namespace 2015-01-10 01:04:26 -05:00
Daniel Smith
6cd37637f5 Merge pull request #3365 from smarterclayton/test_coverage
Reenable coverage and race detection on Travis
2015-01-09 16:35:18 -08:00
Eric Tune
f381579a89 Fix flaky test.
Maps are randomly reordered.
But there is only one order for one thing.
2015-01-09 16:23:53 -08:00
Eric Tune
793bf6a79d Added UndeltaStore.
This will be used to connect Reflector to kubelet update channel.

Added testing.
2015-01-09 12:40:07 -08:00
Clayton Coleman
cacd2ac40b Shorten client/record test by changing default value
Also add opinionated comment about using singletons in code
2015-01-09 13:16:30 -05:00