370 Commits

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