Commit Graph

3025 Commits (a17517ff6e1a1050a7be14e36fdaed165299692d)

Author SHA1 Message Date
Wojciech Tyczynski 78f66a6ce9 Check Docker version in Kubelet /healthz handler 2015-02-04 18:31:24 +01:00
Jeff Lowdermilk 6acac8f761 Merge pull request #3754 from deads2k/deads-remove-ns-path
remove --ns-path option from .kubeconfig file
2015-02-04 08:10:21 -08:00
Jimmi Dyson e2baf049c0 kubectl proxy: make static prefix configurable 2015-02-04 15:57:21 +00:00
Tim Hockin 411666decb Get rid of ServiceSpec.ProxyPort
As far as I know, nobody uses it.  It was replaced by PublicIPs.  If I were
being very polite I would leave it in internal, but since I am 99.99% sure
nobody uses it, I am cutting it.  Let's argue about it.
2015-02-03 22:45:00 -08:00
Brendan Burns 874859f6d3 Make the replication controller more resilient to event expiration in watch. 2015-02-03 22:15:12 -08:00
chakri 9508b2bf12 Fix orphaned pod & volume cleanup order. Volumes need to be unmounted before pod cleanup. 2015-02-04 01:46:28 +00:00
Brian Grant be310ac8c3 Merge pull request #4085 from ddysher/fix-node-name
Lower case node names before registering
2015-02-03 17:10:50 -08:00
Tim Hockin 3b5ea74a48 Fix a race in kube-proxy causing runaways
It was an ABA problem where the proxy loop might see its own service as
"existing" when it had been destroyed and recreated (as in an update).

To prove this I added a counter of running ProxyLoop goroutines and check that
in tests.  If I undo my main change, the tests fail.  This makes the
proxier_test significantly slower (3 seconds vs 0.5 seconds).  Sorry.
2015-02-03 17:08:09 -08:00
nikhiljindal 18609e1706 Moving /watch, /proxy and /redirect registration to go-restful 2015-02-03 15:47:48 -08:00
Anthony Yeh 6a0dec0e99 Rewrite "Location" header in apiserver proxy.
So that redirects work correctly.
2015-02-03 15:14:28 -08:00
Deyuan Deng de51527a28 Lower case node names before registering 2015-02-03 18:07:12 -05:00
Jeff Lowdermilk 1f2c907991 Merge pull request #4053 from deads2k/deads-add-envvar-flag
add flag to manage $KUBCONFIG files
2015-02-03 14:49:05 -08:00
deads2k affa85fab0 add flag to manage $KUBECONFIG files 2015-02-03 16:12:02 -05:00
Alex Robinson a31cc679bf Merge pull request #4059 from brendandburns/rel10
Rel10
2015-02-03 11:28:00 -08:00
deads2k bc93de314a remove --ns-path option from .kubeconfig file, kick tests 2015-02-03 14:22:55 -05:00
Brian Grant 4eb41b2330 Merge pull request #3592 from brendandburns/cli
Add a service generator and a command to easily expose services.
2015-02-03 09:07:05 -08:00
Brian Grant 6040cabf11 Merge pull request #4045 from smarterclayton/remove_logging
Remove logging on apiserver startup
2015-02-03 09:05:42 -08:00
Brendan Burns dbbdaaaf6d Kubernetes version v0.10.0-dev 2015-02-03 08:30:19 -08:00
Brendan Burns 71e26cbeb9 Kubernetes version v0.10.0 2015-02-03 08:30:13 -08:00
Brendan Burns ab0acae7d3 fix build on non-linux hosts. 2015-02-03 08:13:09 -08:00
Martin Nagy e18fc8e840 Add TODO comment for kubectl update patching 2015-02-03 13:56:39 +01: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
Tim Hockin 1ddb68d8d7 Sketch: a third take on defaulting values 2015-02-02 22:35:58 -08:00
Clayton Coleman 9263a8f627 Remove logging on apiserver startup
Now that we return errors on startup there's not much value in the
startup log for anyone except a few developers.  Nuke
2015-02-03 00:02:07 -05:00
Alex Robinson 2ac6bbb7eb Merge pull request #4032 from ddysher/remove-ip-cache
Remove ip cache, use node status cache instead.
2015-02-02 18:58:49 -08:00
Brian Grant 2903fce2b8 Merge pull request #4031 from jbeda/hyperkube-kubelet
Convert kubelet and proxy to hyperkube
2015-02-02 18:08:59 -08:00
Alex Robinson 449e4b2cab Merge pull request #4038 from enisoc/apiserver-proxy-rewrite
Fix apiserver proxy path rewriting.
2015-02-02 17:07:18 -08:00
Tim Hockin 1ee1702be0 Merge pull request #3808 from brendandburns/master
Add a mounter that uses google's safe_format_and_mount.
2015-02-02 16:29:10 -08:00
Brendan Burns ac21ac24fa Add a mounter that uses google's safe_format_and_mount. 2015-02-02 16:16:20 -08:00
Tim Hockin ac399fb354 Merge pull request #3967 from brendandburns/fixer
Be a little more careful when removing mount points.
2015-02-02 15:46:18 -08:00
Deyuan Deng 31991f82c6 Remove ip cache, use node status cache instead. 2015-02-02 17:08:36 -05:00
Joe Beda 638069b879 Convert proxy server to hyperkube 2015-02-02 14:03:13 -08:00
Joe Beda 76df5471b5 Covert the kubelet binary to hyperkube.
This leaves `pkg/kubelet/server/server.go` looking a little ugly as there is an extra layer of "config" structs that isn't needed.  This is left as a TODO for now.
2015-02-02 14:03:13 -08:00
Joe Beda d96afdd645 Move 'pkg/standalone' package to 'pkg/kubelet/server'.
This paves the way to hyperkube for the kubelet.
2015-02-02 14:03:13 -08:00
Anthony Yeh 695b08885b Fix apiserver proxy path rewriting.
1) Absolute paths without a hostname were being rewritten relative to
   the current page, rather than relative to the current host.
   e.g. When viewing /some/page.html, it would rewrite:
       /other/page.html => proxyPrepend/some/other/page.html
   Instead, it should rewrite:
       /other/page.html => proxyPrepend/other/page.html

2) Trailing slashes were being stripped from all rewritten URLs.
   This is because path.Join() always calls path.Clean() as well:
   http://golang.org/pkg/path/#Join
2015-02-02 13:01:46 -08:00
Brian Grant 0474c49b07 Merge pull request #4025 from ironcladlou/replica-annotations
Backport annotations to PodTemplateSpec
2015-02-02 12:54:23 -08:00
Alex Robinson 9992abdfcf Merge pull request #3997 from smarterclayton/make_master_index_optional
Make master index optional when master is used in other contexts
2015-02-02 12:45:18 -08:00
Brendan Burns 7f06fbb081 Be a little more careful when removing mount points. 2015-02-02 12:35:24 -08:00
Brian Grant efd71793f3 Merge pull request #3998 from jbeda/hyperkube-servers2
Convert scheduler and controller-manager to hyperkube
2015-02-02 12:33:55 -08:00
Dan Mace 3d7f5cc642 Backport annotations to PodTemplateSpec
Backport annotation support to v1beta1 and v1beta2 PodTemplateSpec. This
allows ReplicationController users to specify annotations for Pods in
addition to labels.
2015-02-02 15:26:32 -05:00
Clayton Coleman c2b79e52d4 Merge pull request #4027 from deads2k/deads-raw-extension
handle omitted rawExtension
2015-02-02 15:03:37 -05:00
deads2k fe398938e8 handle omitted rawExtension 2015-02-02 14:53:22 -05:00
Clayton Coleman 1588970ec4 Turn 409 into 500 Try Again Later when using generateName
If a client says they want the name to be generated, a 409 is
not appropriate (since they didn't specify a name). Instead, we
should return the next most appropriate error, which is a 5xx
error indicating the request failed but the client *should* try
again.  Since there is no 5xx error that exactly fits this purpose,
use 500 with StatusReasonTryAgainLater set.

This commit does not implement client retry on TryAgainLater, but
clients should retry up to a certain number of times.
2015-02-02 14:46:25 -05:00
Clayton Coleman e485dc93ca Minions should have common logic with create
TODO: disable / document generate names for cluster scoped resources.
2015-02-02 14:46:25 -05:00
Clayton Coleman 0a87f0332b Add name generation to services 2015-02-02 14:46:25 -05:00
Clayton Coleman 7f39a37eee Fix integration tests to not depend on setting pod.Status on create
Allow the master to have pod/node cache timeouts controlled via a config
flag for integration tests.

Move integration test to '127.0.0.1' so that it correctly returns a health
check, and enable health check testing on the integration test.
2015-02-02 14:46:23 -05:00
Clayton Coleman 5603714df8 Use name generation on pods via replication controllers
The generated name is '<controllerName>-%s', unless controllerName-
would be long enough to cause a validation error.
2015-02-02 14:44:53 -05:00
Clayton Coleman a7c9a12286 Add name generation and normalize common create flows
Adds `ObjectMeta.GenerateName`, an optional string field that defines
name generation behavior if a Name is not provided.

Adds `pkg/api/rest`, which defines the default Kubernetes API pattern
for creation (and will cover update as well). Will allow registries
and REST objects to be merged by moving logic on api out of those places.

Add `pkg/api/rest/resttest`, which will be the test suite that verifies
a RESTStorage object follows the Kubernetes API conventions and begin
reducing our duplicated tests.
2015-02-02 14:44:53 -05:00
Brian Grant 6e415f760b Merge pull request #4017 from smarterclayton/relax_annotation_validations
Slightly relax annotation validation
2015-02-02 11:42:38 -08:00
Alex Robinson 5b7228092a Merge pull request #4026 from dchen1107/logging
make kube-proxy.log less verbose.
2015-02-02 11:33:47 -08:00
Alex Robinson ce164f67fd Merge pull request #3841 from vishh/api_resources
Adding an extensible resource spec to the API.
2015-02-02 11:24:13 -08:00
Dawn Chen 4aac47c31d make kube-proxy.log less verbose. 2015-02-02 11:15:14 -08:00
Alex Robinson 7868fe468e Merge pull request #3618 from saad-ali/fix2410
Make master service IP static (no longer randomly assigned)
2015-02-02 11:05:58 -08:00
Alex Robinson d8d0bd1642 Merge pull request #3988 from ddysher/sync-status-ip
Move hostip to sync status
2015-02-02 11:01:57 -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
Brendan Burns d9f7d39cdb Merge pull request #4003 from ghodss/handle-auth-path-failure
Handle missing auth file gracefully in kubelet
2015-02-02 10:55:15 -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 8b2eeafd49 Merge pull request #3944 from derekwaynecarr/rest_mapper_scope_support
Make RESTMapper scope aware, use it to inform kubectl and swagger behavior
2015-02-02 13:13:11 -05:00
Joe Beda bbb4479166 Convert controller-manager to hyperkube. 2015-02-02 10:01:36 -08:00
Alex Robinson 8fc228700a Merge pull request #4023 from fabianofranz/master
Fix typos
2015-02-02 09:57:38 -08:00
Satnam Singh 61c4a04ad2 Merge pull request #3805 from mnagy/allow_multiple_files_in_update
Use new resource builder in kubectl update
2015-02-02 08:40:24 -08:00
fabianofranz de14a6ff08 Fix typos 2015-02-02 14:25:00 -02:00
derekwaynecarr a928be56ba Code review comments 2015-02-02 11:01:08 -05:00
derekwaynecarr 0851ca9522 Do not provide a namespace on request url if resource does not require it 2015-02-02 10:26:19 -05:00
derekwaynecarr 22ceccc188 Fix TestUnimplementedRESTStorage 2015-02-02 10:26:19 -05:00
derekwaynecarr a216cb747c Fix logic issue in register resource handlers not doing list across all namespaces in v1beta3 2015-02-02 10:26:19 -05:00
derekwaynecarr a8449732e0 Make the FilterNamespace function the last visitor 2015-02-02 10:26:19 -05:00
derekwaynecarr 4c33e36a88 Plumb restmapper properly through apiserver and tests 2015-02-02 10:26:19 -05:00
derekwaynecarr f911784c98 Cherry pick test from #3901 2015-02-02 10:26:19 -05:00
derekwaynecarr 71ec444d63 Make a RESTMapper scope aware 2015-02-02 10:26:19 -05:00
Clayton Coleman b30173658f Slightly relax annotation validation
The more aggressive validation on annotations broke openshift (and
backwards compat for our data).  This change relaxes to allow mixed
case so we can continue working in the short term, try to see if we
can agree on relaxation, and if we can't, apply the stronger
validation here.
2015-02-01 19:03:04 -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
Vishnu Kannan 5e36f63f8b Adding ResourceRequirementSpec to v1beta1, v1beta2, and v1beta3 APIs. The old resource
quantities 'CPU' and 'Memory' will be preserved until support for v1beta1 and v1beta2 APIs are
dropped.
Improved resource validation in the process.
2015-02-01 02:19:55 +00:00
Brendan Burns 7e48b26ff5 Address comments, fix tests. 2015-01-30 20:51:40 -08:00
Clayton Coleman 42175b433a Make master index optional when master is used in other contexts
OpenShift provides a default URL at the root that shows the UI. The
provided flag makes loading the index handler optional for now.
2015-01-30 22:19:55 -05:00
Sam Ghods b0dd0a8d0b Handle missing auth file gracefully in kubelet 2015-01-30 18:07:07 -08:00
saadali e83fd7b8e7 Make master service IP static (no longer randomly assigned) 2015-01-30 16:07:19 -08:00
Satnam Singh b40d079551 Merge pull request #3994 from smarterclayton/log_failure_to_create_service
Print the returned object in the event of a publish error
2015-01-30 15:54:16 -08:00
Satnam Singh 964080283a Merge pull request #3984 from erictune/abacdoc
update ABAC example with right kubelet/proxy perms.
2015-01-30 15:41:07 -08:00
Clayton Coleman 49ee27988d Print the returned object in the event of a publish error
resp.Object is a pointer, so printing resp doesn't show what the
server returned.
2015-01-30 18:27:50 -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
Brian Grant aa3b45d17b Merge pull request #3986 from ddysher/fix-node-ip
Fix node hostip issue
2015-01-30 13:16:52 -08:00
Joe Beda 6bdede6925 Convert kube-apiserver to hyperkube.
Part of #108.

Also:
* Added hyperkube cmd (not built by default yet).
* Added version support to hyperkube
* Remove health_check_minions flag from apiserver as it is no longer used with #3733
2015-01-30 13:06:28 -08:00
Deyuan Deng 53d44a6f5f Move hostip to sync status 2015-01-30 16:03:30 -05:00
Brian Grant 6432b563f3 Merge pull request #3980 from satnam6502/apiserver
Increase API rate limit on read only port of apiserver
2015-01-30 12:59:16 -08:00
Satnam Singh d8bda4006a Increase API rate limit on read only port of apiserver 2015-01-30 11:58:59 -08: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
Deyuan Deng 662bcb9c3d Fix node hostip issue 2015-01-30 14:23:18 -05:00
Eric Tune 7648aa2a93 update ABAC example with right kubelet/proxy perms. 2015-01-30 11:05:27 -08: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
Brian Grant 207d0f5d40 Merge pull request #3878 from thockin/infra_name
Use a constant for the pod infra container name
2015-01-30 09:18:00 -08:00
Satnam Singh 3c3b016b8b Merge pull request #3917 from yujuhong/dedup
Refactor API object fuzzer
2015-01-30 08:07:25 -08:00
Satnam Singh 9a8d20a2fc Merge pull request #3969 from GoogleCloudPlatform/alex-mohr-patch-1
Update master.go's UpdateAllContainers to every 5 seconds instead of 30.
2015-01-30 07:58:43 -08:00
Satnam Singh a6fd7204b6 Merge pull request #3940 from jlowdermilk/fix-client-for-version
Fix client for version
2015-01-30 07:58:13 -08:00
Martin Nagy 364774e7b8 Add tests for the reworked update command 2015-01-30 16:05:20 +01:00
Martin Nagy b6ddd6548c Use new resource builder in kubectl update 2015-01-30 16:05:20 +01:00
Brian Grant ee3470def5 Merge pull request #2933 from hustcat/cap-add-drop
Add docker's add/drop capabilites
2015-01-30 06:43:49 -08:00
Ye Yin 248624fc1f Add docker's add/drop capabilites 2015-01-30 15:09:31 +08:00
Deyuan Deng c793c4f0ab Sync node status from node controller to master. 2015-01-29 23:17:15 -05:00
Alex Mohr 3ac5b611b1 Update master.go
Make pod status update every 5 seconds instead of every 30 to mask the issue #3952.  I suspect (but haven't confirmed) that #3927 doesn't completely address the issue since it will still happily cache a Pending status for up to 30 seconds even though the pod may have transitioned to Running already.
2015-01-29 18:54:35 -08:00
Satnam Singh c2c109e896 Merge pull request #3963 from smarterclayton/handle_server_errors
Provide a better error when Kubelet pod status is unexpected
2015-01-29 18:30:43 -08:00
Yu-Ju Hong 4cb730dad5 Refactor API object fuzzer
API object fuzzer is used to randomly populate API object for testing. Similar
code of the fuzzer was duplicated in multiple files. This change refactors the
tests and moves the fuzzer to a separate file.
2015-01-29 18:14:09 -08:00
Brian Grant 8025d46cce Merge pull request #3927 from brendandburns/podcache
Transform the podCache into a write-through cache.
2015-01-29 17:28:35 -08:00
Jeff Lowdermilk 93ef8b8bcb Make kubectl factory build clients for version
Fix ClientConfigForVersion to actually use provided version.
2015-01-29 17:04:14 -08:00
Brendan Burns a0b8429d2e Reverse the order of unmounting and removing the pd disk.
This should mean that we retry detaching if the original detach fails for some reason.
2015-01-29 16:13:12 -08: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
Brian Grant 0345211e0c Merge pull request #3921 from nikhiljindal/OperationClean
Some more operations code cleanup
2015-01-29 14:54:05 -08: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
Tim Hockin d01ea11a6e Merge pull request #3856 from smarterclayton/validation_logic_needs_cleanup
Validation of ObjectMeta is inconsistently applied
2015-01-29 14:12:44 -08:00
Brendan Burns 8723ee9ab5 Merge pull request #3909 from jbeda/hyperkube
Create new hyperkube package
2015-01-29 11:25:15 -08:00
Brendan Burns 2d4e72f1fa Add some extra checking around a call to list pods. 2015-01-28 22:22:54 -08:00
Brendan Burns 3624b65f1c Transform the podCache into a write-through cache.
Don't always clear podInfo, instead occasionally garbage collect.
2015-01-28 22:15:23 -08:00
nikhiljindal dc92d3c7a2 Cleaning up the operations code in client 2015-01-28 21:04:16 -08:00
Brian Grant fcb1cd30ff Merge pull request #3891 from nikhiljindal/Operation
Deleting OperationHandler for handling /operation endpoint on server
2015-01-28 17:01:37 -08:00
Alex Mohr dff727c50b Merge pull request #3875 from vmarmol/metadata
Using metadata library for GCE metadata fetch.
2015-01-28 16:38:43 -08:00
Joe Beda e1dd6b297c Create new hyperkube package.
This is the start of an uber-binary that can morph into any server.  Eventually we'll want this to be able to launch multiple servers from a single command line.
2015-01-28 16:11:34 -08:00
Brendan Burns 919b2d20e0 Merge pull request #3904 from mrunalp/cleanup/net_pod_infra
Replace "net" by "pod infra" in docs, comments and format strings.
2015-01-28 15:55:25 -08:00
Maxwell Forbes 5500b1a261 Merge pull request #3576 from jlowdermilk/examples
Update update-demo example to use kubectl
2015-01-28 15:43:18 -08:00
Jeff Lowdermlk 6e98ce34ca Fix kubectl proxy
Port flag was being ignored. Fixed now.
2015-01-28 15:07:00 -08:00
Mrunal Patel 19e0605f5b Replace "net" by "pod infra" in docs and format strings. 2015-01-28 15:03:06 -08:00
Brian Grant 613aa42550 Merge pull request #3900 from brendandburns/api2
Change persistentDisk to gcePersistentDisk for v1beta3
2015-01-28 15:02:55 -08:00
Brendan Burns 6bcfe4f430 Change persistentDisk to gcePersistentDisk for v1beta3 2015-01-28 14:29:53 -08:00
Satnam Singh 5d5752374b Set Retry-After header before calling WriteHeader 2015-01-28 14:28:37 -08:00
Eric Tune bba01c7a54 Merge pull request #3796 from derekwaynecarr/resource_quota
Admission Control: Resource Quota
2015-01-28 13:17:08 -08:00
nikhiljindal 521728e920 Deleting OperationHandler for handling /operation endpoint on server 2015-01-28 13:13:10 -08:00
Tim Hockin 804643a04b Merge pull request #3818 from mikedanese/probe-refactor
break api.Probe out of api.LivenessProbe
2015-01-28 12:41:35 -08:00
derekwaynecarr 0ff20c84dd Rebase errors 2015-01-28 15:09:42 -05:00
derekwaynecarr 9674f08504 Added unit tests for incrementing usage 2015-01-28 15:03:19 -05:00
derekwaynecarr 4887d71c51 Implement resource quota admission plugin 2015-01-28 15:03:19 -05:00
derekwaynecarr 67b359ebf9 Add a resource quota controller to track usage state 2015-01-28 15:03:19 -05:00
derekwaynecarr 829fa69527 Introduce a ResourceQuota object 2015-01-28 15:03:19 -05:00
Dawn Chen b0bcee7b40 Increase timeout for all testcases in file_test.go 2015-01-28 11:27:15 -08:00
Mike Danese 78f33e950a rename api.LivenessProbe to api.Probe and break out Actions 2015-01-28 11:20:44 -08: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
Tim Hockin 70ab406751 Use a constant for the pod infra container name
This is an implementation detail that has leaked out of kubelet.  Use a
constant to prevent divergence, for now.  Plan to get rid of it.

@dchen1107
2015-01-28 10:13:02 -08:00
Clayton Coleman a0356bca96 Unify validation logic for create and update paths
Ensure ObjectMeta is consistently validated on both create and update

Make PortalIP uncleareable
2015-01-28 13:10:37 -05: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
Clayton Coleman 4466aed3cc Merge pull request #3867 from deads2k/deads-partial-reststorage-registration
return all errors from RESTStorage registration
2015-01-28 13:02:39 -05:00
Tim Hockin 60119db5d5 More e2e damage from renaming "net" to "POD"
This stops the bleeding.  Will followup with a constant.
2015-01-28 09:58:19 -08:00
Victor Marmol 41bc0b301d Using metadata library for GCE metadata fetch.
Fixes #3343.
2015-01-28 09:20:25 -08:00
Paul Morie 962bdda0dc Fix typo in kubelet 2015-01-28 12:00:53 -05:00
Tim Hockin 80ff2128de Merge pull request #3844 from mikedanese/dockercfg-dirs
Check other dirs for .dockercfg
2015-01-28 08:50:08 -08:00
deads2k 6e1f680a57 return all errors from RESTStorage registration 2015-01-28 10:31:33 -05:00
nikhiljindal de60600608 Making all operations synchronous 2015-01-27 18:47:56 -08:00
Brian Grant 4096e904eb Merge pull request #3781 from satnam6502/429
Switch to use Too Many Requests response code
2015-01-27 16:25:37 -08:00
Brian Grant 02717b8ffa Merge pull request #3846 from ddysher/0-fix-0
Remove extra format in kubectl describe
2015-01-27 16:14:22 -08:00
Mike Danese 33f158073b Check other dirs for .dockercfg 2015-01-27 15:54:20 -08:00
Tim Hockin 371637a5fc Merge pull request #3845 from brendandburns/disk
Detach the PD disk from the VM in some failure cases.
2015-01-27 15:46:36 -08:00
Tim Hockin 7e6f3af937 Merge pull request #3817 from mrunalp/feature/shared_ipc
Shared IPC namespace for containers in a pod
2015-01-27 15:41:34 -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
Eric Tune b3fffe0efb Merge pull request #3751 from derekwaynecarr/limit_range
Admission Control: LimitRange
2015-01-27 14:08:24 -08:00
Clayton Coleman 72cc17b41c Omit empty quotes in message when required value field error type 2015-01-27 17:04:59 -05:00
Clayton Coleman c6a2e574c2 Structure of BadRequest error should have Message set 2015-01-27 17:04:59 -05:00
Tim Hockin a480794efc Tighten validation of Name and Namespace 2015-01-27 17:04:59 -05:00
Dawn Chen deebc7a29a Merge pull request #3812 from ddysher/list-order
List objects in deterministic order
2015-01-27 14:04:38 -08:00
Brendan Burns bc055d2bd0 Detach the PD disk from the VM in some failure cases. 2015-01-27 13:58:42 -08:00
derekwaynecarr b19a8a61a8 Simplify min/max evaluation, make limitType a type 2015-01-27 16:54:50 -05:00
derekwaynecarr 4faf27e63d Validate limit.Min and limit.Max resource names using ValidateResourceName 2015-01-27 16:41:28 -05:00
derekwaynecarr 759335ab69 Fix gofmt complaint 2015-01-27 16:41:28 -05: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
Satnam Singh 358ace610d Merge pull request #3824 from smarterclayton/allow_panic_and_error_reporting
Allow panics and unhandled errors to be sent elsewhere
2015-01-27 13:18:43 -08:00
Deyuan Deng 1330cc340b Remove extra format in kubectl describe 2015-01-27 15:45:55 -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 6eb0b89cbd add Probers to Probe pkgs. 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
Mike Danese 5ee4071cf1 migrated tests 2015-01-27 11:20:29 -08:00
Mike Danese ee56a1d3e3 create pkg/probe as successor to pkg/health. 2015-01-27 11:20:29 -08:00
Brendan Burns 92d65b7c65 Add NodeSelector to the replication controller tests. 2015-01-27 10:58:46 -08:00
Brendan Burns 250b9ccd74 Address comments. Rebase. 2015-01-27 10:23:28 -08:00
Brian Grant c3da4f0b19 Merge pull request #3816 from brendandburns/api2
Add NodeSelector to the PodTemplate in v1beta1.
2015-01-27 10:09:05 -08:00
Brendan Burns 09166f5252 Add a service generator and a command to easily expose services. 2015-01-27 10:06:08 -08:00
Brendan Burns b078889360 Merge pull request #3822 from nikhiljindal/swaggerbug
Fixing a bug where Reads() was being called twice on POST routes
2015-01-27 10:01:27 -08:00
Brendan Burns 99b9785881 Merge pull request #3836 from mfojtik/extract_list_ptr
Ensure the ptr is pointing to reflect.Slice in ExtractList
2015-01-27 10:00:33 -08:00
Brendan Burns 7e558a7535 Merge pull request #3813 from mattmoor/master
Fix for issue 3797.
2015-01-27 09:56:49 -08:00
Tim Hockin f547960753 Merge pull request #3825 from mikedanese/goimports-fix
fixed goimports nits
2015-01-27 09:34:50 -08:00
Dawn Chen 10845b5743 Merge pull request #3821 from brendandburns/pod
Clear pod cache on delete.
2015-01-27 09:33:24 -08:00
Mrunal Patel b6a0ff1003 IP: Shared IPC. 2015-01-27 09:26:36 -08:00
Michal Fojtik ae3f10a397 Ensure the ptr is pointing to reflect.Slice in ExtractList 2015-01-27 18:02:37 +01:00
Deyuan Deng d30da9a812 List objects in deterministic order 2015-01-27 09:29:40 -05:00
Mike Danese d77743a07c gimports nits 2015-01-26 22:42:29 -08:00
Tim Hockin 60eba74c14 Merge pull request #3827 from brendandburns/sanity
Fix unit tests @ main on OS X
2015-01-26 22:30:09 -08:00
Brendan Burns e5c38a825b Fix unit tests @ main. 2015-01-26 22:12:24 -08:00
Brendan Burns 95247b31ff Merge pull request #3807 from brendandburns/validation
Fix a bug in validation that was leftover from the previous way of externalizing services.
2015-01-26 21:15:05 -08:00
Brendan Burns 33ee41090e Add NodeSelector to the PodTemplate in v1beta1 and v1beta2 2015-01-26 20:30:48 -08:00
Clayton Coleman 19987612bf Replace code that eats errors with a more consistent reporting
In order to allow certain programmer error / unexpected error states
to be captured, replace sections that log and eat errors with a method
that can be centrally replaced.  This captures two common error sources,
replication errors, and apiserver code that returns invalid errors.
2015-01-26 20:54:29 -05:00
Brendan Burns f124842505 Clear pod cache on delete. 2015-01-26 17:26:43 -08:00
Clayton Coleman 04b864a91f Allow panics and unhandled errors to be reported to external targets
It would be better if Kubernetes could be instrumented to report panics
and handled but unreturned errors in controller loops to a remote
service.  This commit introduces settable handlers for HandleCrash and a new
HandleError that can be overriden to report errors to a remote service
for analysis.  HandleError() in particular is for control loops that do
not return an error, and so there is no ability to report those errors
other than in log files.

ReplicationController is provided as an example.
2015-01-26 20:23:46 -05:00
nikhiljindal 54e5d1f102 Fixing a bug where Reads() was called twice on all POST routes 2015-01-26 17:21:25 -08:00
Dawn Chen c65f83f424 Merge pull request #3795 from ddysher/pod-cache-semantic
fix pod-cache with node semantic change
2015-01-26 16:04:48 -08:00
Matt Moore 2d396797a9 Fix for issue 3797.
Docker's logic for resolving credentials from .dockercfg accepts two kinds of matches:
1. an exact match between the dockercfg entry and the image prefix
2. a hostname match between the dockercfg entry and the image prefix

This change implements the latter, which permits the docker client to take .dockercfg entries of the form:
   https://quay.io/v1/
and use them for images of the form:
   quay.io/foo/bar
even though they are not a prefix-match.
2015-01-26 14:06:12 -08:00
Brendan Burns 99583fc8c5 Fix a bug in validation that was leftover from the previous way of externalizing services. 2015-01-26 13:19:27 -08:00
Jeff Lowdermilk 6ba8b7dfb2 Merge pull request #3768 from deads2k/deads-make-kubectl-config-easier-alt
make kubectl config set-cluster easier to use
2015-01-26 13:13:26 -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
deads2k 05bc508a13 make all kubectl config set-* easier to use 2015-01-26 15:16:54 -05:00
markturansky 131ce993c4 Added validation for annotations 2015-01-26 09:32:09 -05:00
Deyuan Deng 881be6c952 fix pod-cache with node semantic change 2015-01-25 16:59:00 -05:00
Tim Hockin 5d73fa40aa Merge pull request #3588 from vishh/api_resources
Adding a 'Typename' strongtype for representing all resource types
2015-01-23 15:07:27 -08:00
Vishnu Kannan c32295a180 Adding a 'Typename' strongtype for representing all compute resource types. 2015-01-23 22:17:56 +00:00
Clayton Coleman b21500eaa2 Merge pull request #3753 from mfojtik/fix_extractlist
Fix ExtractList to support extraction from generic api.List{}
2015-01-23 16:56:53 -05:00
Deyuan Deng e71227388e add node update method to client interface 2015-01-23 16:40:33 -05:00
Michal Fojtik e7df8aa098 Fix ExtractList to support extraction from generic api.List{} 2015-01-23 22:13:37 +01:00
Tim Hockin c292aa54c4 Merge pull request #3738 from smreed/randomize-roundrobin-endpoints
Randomize roundrobin endpoints
2015-01-23 12:33:17 -08:00
Filipe Brandenburger 4c413e794e Merge pull request #3704 from satnam6502/retry
Add a Retry-After header when rate limit is exceeded
2015-01-23 10:20:52 -08:00
Steve Reed a186b47cd3 Adds test for slice.ShuffleStrings 2015-01-23 09:30:09 -08:00
Filipe Brandenburger a5898a9559 Keep boolean status of imported flags
This makes glog flags such as --logtostderr and --alsologtostderr keep
working without requiring an explicit =true.

Tested by building kubelet and invoking it with --logtostderr. Also
tested a few non-boolean flags to ensure they weren't affected.
2015-01-22 16:32:12 -08:00
Satnam Singh 8350bb9700 Add a Retry-After header when rate limit is exceeded 2015-01-22 16:03:00 -08:00
Dawn Chen 0962b86ce3 Remove useless and duplicate call. 2015-01-22 15:00:21 -08:00
Dawn Chen 6db42eda4e Merge pull request #3701 from thockin/fix-klet-manifest-reading
Make kubelet's file source go through conversion
2015-01-22 14:40:40 -08:00
Steve Reed ab1ede3aaa Sets year in copyright to 2015 2015-01-22 14:24:07 -08:00
Steve Reed f7e3cb12a6 Moves string slice sorting, copying and shuffling into pkg/util/slice 2015-01-22 14:20:23 -08:00
Steve Reed 38241c7e80 Copies endpoint slices before any sorting 2015-01-22 14:20:18 -08:00
Steve Reed 79a6bfb95f Fixes #3640 by shuffling endpoints in the round-robin load balancer 2015-01-22 14:19:56 -08:00
Tim Hockin d63162b7e7 Make kubelet's HTTP source go through conversion 2015-01-22 14:09:37 -08:00
Tim Hockin 124915417c Merge pull request #3723 from jlowdermilk/kubectl-stop
Add a kubectl stop command
2015-01-22 13:42:52 -08:00
Tim Hockin 4ff2865cd1 Make kubelet's file source go through conversion
See comments for details.  Same problem exists in HTTP source, but I want to
float this for review first.
2015-01-22 13:10:59 -08:00
Tim Hockin ffb2b62726 Merge pull request #3725 from dchen1107/cleanup
Generate pod.Name when pod.Name == "" for both HTTP and file sources.
2015-01-22 13:10:27 -08:00
Tim Hockin bb9a37dc84 Merge pull request #3729 from smarterclayton/print_less_output
Endpoints controller can print sensitive pod info when errors occur
2015-01-22 12:55:40 -08:00
Dawn Chen ec77507915 Generate pod.Name when pod.Name == "" for both HTTP and file sources.
Fix #3584
2015-01-22 12:53:30 -08:00
Clayton Coleman 7932bda3b3 Endpoints controller can print sensitive pod info when errors occur
In general, start to tone down the amount of log output.
2015-01-22 15:23:41 -05:00
Jeff Lowdermilk 201e99e0ee Add a kubectl stop command 2015-01-22 09:46:53 -08:00
Filipe Brandenburger b1727b0330 Revert "Add a kubectl stop command" 2015-01-22 09:00:50 -08:00
Brian Grant a921086507 Merge pull request #3662 from jlowdermilk/kubectl-stop
Add a kubectl stop command
2015-01-22 06:58:29 -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
Brian Grant 3ae67f8153 Merge pull request #3548 from nikhiljindal/listHandlers
Updating handleIndex in master to list all valid paths.
2015-01-21 15:42:50 -08: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
nikhiljindal 51007cc798 Updating handleIndex in master to list all valid paths.
The list of valid paths is computed from http.ServeMux and
restful.WebService.
Adding a mux helper - wrapper over mux, that keeps track of the paths
handled by mux.
2015-01-21 13:40:01 -08:00
Tim Hockin 30219f8dfa Merge pull request #3664 from thockin/pull-if
Pull if
2015-01-21 13:05:28 -08: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
Tim Hockin c729f345f0 Merge pull request #3660 from dchen1107/image
Using switch in validatePullPolicyWithDefault
2015-01-21 12:54:12 -08:00
Tim Hockin 81343aac63 Change PullPolicy constants to match 2015-01-21 12:48:56 -08:00
Dawn Chen d2ebbcaf90 Merge pull request #3661 from thockin/volume-source-as-non-pointer
Make VolumeSource not be a pointer
2015-01-21 12:39:49 -08:00
Clayton Coleman 3c15427b2d Merge pull request #3647 from deads2k/deads-make-factory-flag-binding-optional
make kubectl factory flag binding optional
2015-01-21 15:23:37 -05:00
Brian Grant 54ad81759a Merge pull request #3677 from filbranden/flag_shorthand_refactor1
Flag shorthand refactor1
2015-01-21 10:41:26 -08:00
Tim Hockin 1c31aa489f Merge pull request #3674 from liggitt/override_default_cluster
Allow overriding global default cluster host
2015-01-21 10:08:46 -08:00
Filipe Brandenburger b2aabc540e Fix kubectl version to match client and server version output
Before this fix, the server version was printed from a pointer, making
the Go formatter prefix it with a &.

Before this patch:

    $ kubectl version
    Client Version: version.Info{Major:"0", Minor:"8+", GitVersion:"v0.8.0-509-g8537a73264b836", GitCommit:"8537a73264b836226cfca745ed37d65916e3b16f", GitTreeState:"clean"}
    Server Version: &version.Info{Major:"0", Minor:"8+", GitVersion:"v0.8.0-509-g8537a73264b836", GitCommit:"8537a73264b836226cfca745ed37d65916e3b16f", GitTreeState:"clean"}

After this patch:

    $ kubectl version
    Client Version: version.Info{Major:"0", Minor:"8+", GitVersion:"v0.8.0-509-g8537a73264b836-dirty", GitCommit:"8537a73264b836226cfca745ed37d65916e3b16f", GitTreeState:"dirty"}
    Server Version: version.Info{Major:"0", Minor:"8+", GitVersion:"v0.8.0-509-g8537a73264b836", GitCommit:"8537a73264b836226cfca745ed37d65916e3b16f", GitTreeState:"clean"}
2015-01-21 08:44:53 -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
Brendan Burns 29ae3e2d15 Kubernetes version v0.9.0-dev 2015-01-20 19:50:24 -08:00
Brendan Burns 96af0c3e5b Kubernetes version v0.9.0 2015-01-20 19:50:24 -08:00
Jeff Lowdermilk b1aa037990 Add a kubectl stop command 2015-01-20 19:01:32 -08:00
Tim Hockin 819803b79f Make VolumeSource not be a pointer
There's no reason for it to be a pointer.
2015-01-20 17:54:04 -08:00
Dawn Chen cf54dcb689 Using switch in validatePullPolicyWithDefault 2015-01-20 17:41:09 -08:00
Brian Grant dd45246150 Merge pull request #3587 from dchen1107/image
Clean up Kubernetes PullPolicy
2015-01-20 17:18:26 -08:00
Brian Grant 0b69a3f57a Merge pull request #3517 from thockin/v1b3
Rename HostDir to HostPath in v1beta3
2015-01-20 16:25:16 -08:00
Tim Hockin 60ec08db93 Rename HostDir to HostPath in v1beta3 2015-01-20 15:56:44 -08:00
Dawn Chen b8c7e64b0f Merge pull request #3612 from enisoc/apiserver-proxy-headers
Add reverse proxy headers in apiserver proxy.
2015-01-20 15:14:57 -08:00
deads2k 500bb3a7fa make kubectl factory flag binding optional 2015-01-20 18:12:24 -05:00
Tim Hockin b3b092b41a Merge pull request #3603 from smarterclayton/expose_type_accessor
Add TypeAccessor to api/meta for objects without Object/ListMeta
2015-01-20 14:55:43 -08:00
Clayton Coleman 5f6caaba2e Add TypeAccessor to api/meta for objects without Object/ListMeta
Adding objects that have TypeMeta (use runtime.Scheme) but do not
expose ObjectMeta/ListMeta (because they are not Kube API objects)
and wanted to get the simpler access path for in memory objects.
2015-01-20 17:37: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
Clayton Coleman 80d99b8d85 Merge pull request #3631 from deads2k/deads-add-set-deleteall
make StringSet.Delete accept multiple items
2015-01-20 17:22:58 -05:00
Brendan Burns 9192a4ce22 Merge pull request #3642 from dchen1107/clean
Remove image GC.
2015-01-20 14:07:00 -08:00
Dawn Chen d1af520bd0 Merge pull request #3589 from filbranden/fix_nil_interface_pointer_without_reflect1
Fix comparison of EtcdClient to nil so that it does not run into the pointer vs. interface issue
2015-01-20 13:55:25 -08:00
Dawn Chen 2299c04cea Remove image GC.
Fix #3617,#3611, and #3393.
2015-01-20 13:43:08 -08: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
Dawn Chen 92ff4cd2b1 Remove unused helper methods for PullPolicy. 2015-01-20 11:54:22 -08:00
Dawn Chen 3101a33d32 Kubelet stop using api/helper.go for PullPolicy 2015-01-20 11:54:22 -08:00
Dawn Chen aec4594a8d Introduce validatePullPolicyWithDefault to validation. 2015-01-20 11:54:22 -08:00
Tim Hockin 6cb275829f Implement volumes as plugins.
Break up the monolithic volumes code in kubelet into very small individual
modules with a well-defined interface.  Move them all into their own packages
and beef up testing along the way.
2015-01-20 11:45:45 -08:00
deads2k 5b8e38a665 make StringSet.Delete accept multiple items 2015-01-20 14:42:10 -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
Tim Hockin 6ff26d924c Merge pull request #3619 from smarterclayton/expose_validate_labels
Expose ValidateLabels in validation.go for reuse by other components
2015-01-20 09:11:08 -08:00
Eric Tune fd52ba96ce Merge pull request #3608 from smarterclayton/log_watch_errors
Explicitly handle errors received during watch
2015-01-20 08:47:12 -08:00
Clayton Coleman 48146e01cd Expose ValidateLabels in validation.go for reuse by other components
Label validation is common to anyone building kube resources.
2015-01-19 22:33:52 -05:00
Anthony Yeh 8c900187b6 Add reverse proxy headers in apiserver proxy.
Fixes #3484
2015-01-19 13:15:41 -08:00
Jordan Liggitt 888fe4b175 Build TLS client for kubelet correctly 2015-01-19 12:26:12 -05:00
Clayton Coleman e4dcbb6edb Explicitly handle errors received during watch
Log them as Error and then continue.
2015-01-19 11:10:45 -05:00
Andrew Seidl 6dee1d7fa4 Fix typos in user-facing strings 2015-01-18 01:32:34 -06:00
Filipe Brandenburger 79ff06ffa1 Fix comparison of EtcdClient to nil so that it does not run into the pointer vs. interface issue
This is a partial rollback of commit 6e6f465a36 ("Fix a crash for
kubelet when without EtcdClient") in which we used the `reflect` module
to inspect that the pointer stored inside the interface was `nil`, but
as pointed out by @lavalamp, the correct solution is to make the
function return the interface type, in which case a `return nil` will
return the interface nil and not a nil pointer that turns into a non-nil
value when coerced into an interface.

For more details, see http://golang.org/doc/faq#nil_error and the
discussion in PR #3356.

Tested by installing a kubelet built from head with this patch into a
containervm instance and confirming it did not crash on standalone.go.
Confirmed that by only removing the `reflect.IsNil()` comparison but not
changing the return type of `EtcdClientOrDie()` did indeed cause that
same crash, so changing the return type does indeed fix the issue.

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
2015-01-16 16:43:05 -08:00
Brendan Burns d54242a649 Merge pull request #3552 from commonlisp/master
Replace kubelet logging %s--%s--%s with dockertools.BuildDockerName()
2015-01-16 14:31:43 -08: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 fc11801246 Merge pull request #3535 from smarterclayton/ignore_the_root_key_on_watch_list
WatchList should not convey events for the root key
2015-01-16 13:43:44 -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
bgrant0607 ee0ba6c922 Merge pull request #3574 from mikedanese/proxy-config-panic
fix interface conversion panic
2015-01-16 12:45:00 -08:00
Brendan Burns 311dada4f2 Merge pull request #3551 from ukai/oauth
cloudprovider/gce: use golang.org/x/oauth2
2015-01-16 12:30:48 -08:00
Mike Danese 8b65621aeb fix interface conversion panic 2015-01-16 12:23:16 -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
Dawn Chen a71588dc89 Merge pull request #3504 from ddysher/kubectl-node-status
Include node status in kubectl get output
2015-01-16 12:01:29 -08:00
Deyuan Deng 616feac25b Include node status in kubectl get output 2015-01-16 14:28:35 -05:00
Dawn Chen 7b457fd33f Separate colume for PodIP from kubectl get pods 2015-01-16 11:10:30 -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
George Kuan af4bbd1a1b Replace kubelet logging %s--%s--%s with dockertools.BuildDockerName()
Fixes issue #3454
2015-01-15 19:47:54 -08:00
Fumitoshi Ukai 54f498acd5 cloudprovider/gce: use golang.org/x/oauth2
code.google.com/p/goauth2 is deprecated.
use golang.org/x/oauth2 instead.

hooks/prepare-commit-msg ignore Godeps
for sh's boilerplate check.
2015-01-16 12:17:52 +09:00
bgrant0607 790a78415e Merge pull request #3494 from nikhiljindal/deletePublicMethods
master.go: converting API_v1beta* functions to private since they are not used outside
2015-01-15 17:22:31 -08:00
bgrant0607 52cd620da8 Merge pull request #3537 from brendandburns/cli
Add inline JSON patching to kubectl update ...
2015-01-15 17:08:51 -08:00
bgrant0607 03421ada2c Merge pull request #3542 from erictune/channel_api
Remove dead code in test.
2015-01-15 16:58:52 -08:00
nikhiljindal 1ccae67b6e master.go cleanup: Deleting unused public methods and converting rest to private 2015-01-15 16:22:43 -08:00
Brendan Burns 3572ed1828 Addressed comments. 2015-01-15 16:08:12 -08:00
Brendan Burns ae88521739 Add inline patching to kubectl update. 2015-01-15 16:08:12 -08:00
Brendan Burns e8489264cf Addressed comments. 2015-01-15 16:07:56 -08:00
Jeff Lowdermlk f7b0a92932 Fail rollingupdate if replacement rc schema has same name as existing 2015-01-15 15:52:53 -08:00
Nikhil Jindal e6c5d59a55 Merge pull request #3509 from enisoc/apiserver-proxy-trailing-slash
Preserve trailing slash in apiserver proxy.
2015-01-15 15:13:49 -08:00
Nikhil Jindal aeab434400 Merge pull request #3514 from enisoc/apiserver-proxy-content-type
Allow Content-Type with charset in apiserver proxy.
2015-01-15 15:07:07 -08:00
Eric Tune 5aeda8a5bb Remove dead code in test. 2015-01-15 14:49:08 -08:00
Daniel Smith 46f8a56dba Merge pull request #3376 from erictune/channel_api
Kublet watches Pods.
2015-01-15 14:48:12 -08:00
Brendan Burns 4209bd4888 Add add a utility for merging JSON fragments, and use it in run-container. 2015-01-15 14:44:26 -08:00
bgrant0607 fc24ca7044 Merge pull request #3524 from jlowdermilk/fix-cmd-printing
Fix nil dereference in kubectl run-container
2015-01-15 13:44:26 -08:00
Eric Tune 2e002b1095 Add second pod to test. 2015-01-15 13:36:49 -08:00
Clayton Coleman ce36431954 WatchList should not convey events for the root key
It's possible to watch /foo/bar, get events for /foo/bar/baz,
and then if someone deletes /foo/bar you'll get an event for /foo/bar
without a value.  This results in an error being printed in the logs
because /foo/bar has value "" and we can't decode that.

This commit excludes the parent directory from watch events for now.
2015-01-15 16:00:49 -05:00
Clayton Coleman f312edf24d Merge pull request #3531 from lavalamp/fix2
make conversion do deep copies
2015-01-15 15:29:21 -05:00
bgrant0607 cffa257349 Merge pull request #3529 from smarterclayton/less_chatty_apiserver_init
The API server setup logging is debug specific, bump above V(4)
2015-01-15 12:04:17 -08:00
Daniel Smith 37f5a9df07 make conversion do deep copies 2015-01-15 12:02:22 -08:00
Jeff Lowdermlk e6e6092904 Fix nil dereference in kubectl run-container 2015-01-15 11:39:50 -08:00
Joe Beda 224ffa4567 Merge pull request #3480 from jbeda/all_pflag
Convert all main binaries to pflag library
2015-01-15 11:26:41 -08:00
Clayton Coleman 90c835af47 The API server setup logging is debug specific, bump above V(4)
Reduces some chatter in test suites where we are confident this code
already works.  Also removed any logging which is obvious from swagger.

Finally, rolls up InstallREST related errors all the way back to master,
which will glog.Fatalf (coding errors).
2015-01-15 14:25:58 -05:00
Brendan Burns bece5ec8a3 Merge pull request #3516 from enisoc/kubectl-resize-docs
Fix example usage of kubectl resize command.
2015-01-15 09:55:20 -08:00
Dawn Chen 8509618311 Merge pull request #3501 from lavalamp/fix2
log on health checks
2015-01-15 09:16:15 -08:00
Joe Beda 6bd6b905f5 Address code review comments
Add some documentation.
Create new util.InitFlags() function to merge and parse in one step.
2015-01-15 09:12:20 -08:00
Joe Beda 1d0b6ee5f5 Fix up logging flags for kubectl. 2015-01-15 09:12:20 -08:00
Joe Beda f692604bdf Fix name of pflag_import.go 2015-01-15 09:12:19 -08:00
Joe Beda dcd00c936e Move all kubernetes to posix flags 2015-01-15 09:12:19 -08:00
derekwaynecarr e5b550576c Forbidden should not swallow the underlying error 2015-01-15 11:22:15 -05:00
Anthony Yeh 5090dcbc62 Fix example usage of kubectl resize command. 2015-01-14 23:39:23 -08:00
Anthony Yeh 895c23e2d2 Allow Content-Type with charset in apiserver proxy.
Fixes #3456
2015-01-14 23:01:49 -08:00
Jeff Lowdermilk 4cd345b8a6 Merge pull request #3377 from brendandburns/cli
Add a resize command to kubectl.
2015-01-14 22:20:18 -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
Anthony Yeh 6f641744ff Preserve trailing slash in apiserver proxy.
Some servers are sensitive to the presence of a trailing slash.
For example, http://etcd/v2/keys returns 404 while
http://etcd/v2/keys/ returns the key named "/".
2015-01-14 21:42:34 -08:00
Brendan Burns d3a07adb38 Add a resize command to kubectl. 2015-01-14 21:36:08 -08:00
Daniel Smith 48adc8f458 Merge pull request #3497 from saad-ali/fix3495
Increase timeout for TestEtcdSourceExistingBoundPods test
2015-01-14 17:45:46 -08:00
Daniel Smith 09e30a6a63 log on health checks 2015-01-14 17:38:48 -08:00
saadali b57cc6a11c Increase timeout for TestEtcdSourceExistingBoundPods test 2015-01-14 17:06:04 -08:00
Daniel Smith b0d9ad70de Merge pull request #3482 from lavalamp/fix
make quantity flag work with pflag package
2015-01-14 16:43:32 -08:00
Daniel Smith 46827720b3 Merge pull request #3493 from saad-ali/testFor3467
Add test case for EtcdSource ExistingBoundPods
2015-01-14 16:35:26 -08:00
Daniel Smith 1d0c36a494 Merge pull request #3487 from thockin/uid_type
Move util.UID to pkg/types
2015-01-14 16:27:19 -08:00
saadali a1c287ede9 Add test case for EtcdSource ExistingBoundPods 2015-01-14 16:15:08 -08:00
Daniel Smith 4738da0822 fix build 2015-01-14 16:12:22 -08:00
Eric Tune b759f67ee3 Kublet watches Pods.
Added a kubelet config source for watching pods on apiserver.
The pods are converted to boundpods for merging with other
config sources.

The preferred way to create a kubelet is now to pass an apiserver
client but not an etcd client.  Changed cmd/integration to use
apiserver to talk to kubelets.  And cmd/kubernetes.

Unit, integration, and e2e tests pass, except for a failure of the pd
e2e test which was unrelated.
2015-01-14 15:31:26 -08:00
Tim Hockin 1be3de895c Move util.UID to pkg/types 2015-01-14 15:22:21 -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 5767b41b28 make quantity flag work with pflag package 2015-01-14 15:16:53 -08:00
Nikhil Jindal 6a18bbcfbf Merge pull request #3483 from lavalamp/fix2
fix log message
2015-01-14 15:15:23 -08:00
Daniel Smith 2e394d41cd fix log message 2015-01-14 15:08:53 -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
Eric Tune 88c68e0349 Merge pull request #3331 from pmorie/services
Service visibility w/in namespaces, master services, set env vars in kubelet
2015-01-14 15:01:05 -08:00
Daniel Smith 8a764c02d5 Merge pull request #3478 from thockin/uid_type
Use a strong type for UID fields
2015-01-14 14:20:22 -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
Daniel Smith f07a5d1ead Merge pull request #3479 from dchen1107/cleanup
Using ExtractObj instead of ExtractToList since BoundPods is not a List ...
2015-01-14 14:15:43 -08:00
Paul Morie fd834ae84d Pods should see services only from their own ns 2015-01-14 17:06:36 -05:00
Dawn Chen 009c5e1129 Using ExtractObj instead of ExtractToList since BoundPods is not a List type 2015-01-14 14:05:47 -08:00
Tim Hockin d28b51f89f Document fields, fix presubmit 2015-01-14 14:01:18 -08:00
Tim Hockin e86d4cd3c6 Use a strong type for UID fields 2015-01-14 13:53:43 -08:00