Commit Graph

3025 Commits (a17517ff6e1a1050a7be14e36fdaed165299692d)

Author SHA1 Message Date
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
Joe Beda ddcd2e1d2b Merge pull request #3463 from jlowdermilk/gendocs
Autogenerate markdown docs for kubectl
2015-01-14 13:32:38 -08:00
Jeff Lowdermlk 250c948ae7 Autogenerate markdown docs for kubectl
Add test to verify generated docs are up to date.
2015-01-14 13:21:14 -08:00
Daniel Smith 36320f02fb Merge pull request #3471 from brendandburns/shell
Add tests for run command and generate.
2015-01-14 12:39:41 -08:00
bgrant0607 6459b1a1f3 Merge pull request #3468 from smarterclayton/better_log_on_empty_delete
Write to STDERR when Delete contains no resources
2015-01-14 11:46:55 -08:00
Daniel Smith dbe1bd9b15 Merge pull request #3469 from fabianofranz/fixes_proxier
When choosing a host interface proxier must only consider the ones with an address assigned
2015-01-14 11:22:30 -08:00
Daniel Smith 5b7369720d Merge pull request #3462 from dchen1107/cleanup
Fix Event.Source for hostname_override case.
2015-01-14 11:21:24 -08:00
Clayton Coleman da2b03d8d8 Write to STDERR when Delete contains no resources
Also test that this occurs
2015-01-14 14:10:15 -05:00
fabianofranz 0235bca2d3 When choosing a host interface proxier must only consider the ones with an address assigned 2015-01-14 17:09:27 -02:00
Clayton Coleman 6894d4feed Merge pull request #3460 from mnagy/handle-selector-error
Fix panic if selector uses malformed syntax
2015-01-14 13:49:22 -05:00
Zach Loafman e14d5f3416 Merge pull request #3464 from smarterclayton/fix_invalid_json_in_services.sh
Fix e2e invalid JSON, ensure CLI communicates invalid JSON errors effectively
2015-01-14 10:26:34 -08:00
Clayton Coleman ccdc20d90c Ignore empty objects from streams and error when nothing passed to create
Passing zero objects to create should be an error
2015-01-14 13:12:33 -05:00
bgrant0607 312de43ace Merge pull request #3444 from lavalamp/fix
eliminate possibility of double-calling
2015-01-14 10:12:26 -08:00
bgrant0607 78d18aa70c Merge pull request #3424 from brendandburns/run
Basic "Run" command
2015-01-14 10:08:53 -08:00
Dawn Chen 0716df8f2b Fix Event.Source for hostname_override case. 2015-01-14 09:43:13 -08:00
Clayton Coleman 31413c8727 Add more tests around JSON/YAML decoding from the CLI
Switch the ignore stream errors behavior to print a Warningf on
failure to parse, not v(2)
2015-01-14 12:38:36 -05:00
Martin Nagy 9340781d21 Fix panic if selector uses malformed syntax 2015-01-14 17:13:58 +01:00
Brendan Burns de886591b5 Add tests for run command and generate. 2015-01-14 07:12:32 -08:00
saadali 826b61c76d Address nits from PR #3423 2015-01-13 23:34:37 -08:00
Clayton Coleman ec803cb809 Allow resource.Builder to stream YAML from the CLI
Add both JSON and YAML STDIN tests in test-cmd
2015-01-14 00:50:13 -05:00
Clayton Coleman 22cf8b94e6 Add a package for doing YAML-to-JSON streaming, one document at a time
Will be moved upstream soon
2015-01-14 00:50:07 -05: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
Brendan Burns 1ce6c27f3d Add an initial run command 2015-01-13 20:00:29 -08:00
Daniel Smith 30be0eeac7 eliminate possibility of double-calling 2015-01-13 18:09:13 -08:00
Tim Hockin ca89aa6528 Make data dirs for all pods when syncing 2015-01-13 17:18:21 -08:00
Daniel Smith 6f1a3accf7 Merge pull request #3440 from ghodss/upgrade-yaml
Upgrade from gopkg.in/v2/yaml to gopkg.in/yaml.v2 everywhere
2015-01-13 16:11:20 -08:00
Clayton Coleman 30743b8195 The get command should properly handle users providing invalid apiversions
Add more guards against bad behavior.  A follow up commit will ensure that
when the flags for api-version are specified, they default to the correct
values that client.SetKubernetesDefaults would use.
2015-01-13 18:51:55 -05:00
Clayton Coleman b5c33e1c8c Prevent internal conversion in the printer directly (as per implicit contract) 2015-01-13 18:51:33 -05:00
Clayton Coleman 87970bc356 Use the new client.SetKubernetesDefaults methods to properly default config object 2015-01-13 18:50:36 -05:00
Sam Ghods 7845ab90f8 Upgrade from gopkg.in/v2/yaml to gopkg.in/yaml.v2 everywhere 2015-01-13 15:06:25 -08:00
Eric Tune f589ee98e0 Merge pull request #3423 from saad-ali/fix3371
Split up kubelet "source seen" logic
2015-01-13 14:43:59 -08:00
bgrant0607 662a72d476 Merge pull request #3198 from smarterclayton/allow_delete_to_span_resources
Allow delete to work from directories and multiple sources
2015-01-13 14:41:24 -08:00
deads2k b51a717f6e add kubectl config 2015-01-13 16:19:57 -05:00
bgrant0607 de2e298fa9 Merge pull request #3196 from smarterclayton/allow_create_to_span_resources
Allow create to handle multiple resources, remove createall
2015-01-13 12:23:50 -08: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
bgrant0607 bb140d636a Merge pull request #3004 from smarterclayton/allow_get_to_span_resources
Allow kubectl get to fetch multiple resource types by label
2015-01-13 11:07:34 -08:00
Daniel Smith 8ac93fe15c Merge pull request #3421 from nikhiljindal/sort_swagger
Swagger UI: Updating swagger-ui.js to list the resources and operations in sorted order
2015-01-13 10:54:37 -08:00
Abhishek Gupta dbac18a909 Rebasing onto latest code and fixing issues 2015-01-13 10:09:33 -08:00
Abhishek Gupta c20d062d16 Added comments and minor changes based on PR feedback 2015-01-13 09:41:28 -08:00
Abhishek Gupta 40df5f6db8 Added a more formal comment for the service affinity predicate 2015-01-13 09:41:28 -08:00
Abhishek Gupta 6fd0b181e3 Rebased onto the latest changes to the scheduler code 2015-01-13 09:41:25 -08:00
Abhishek Gupta 9e75a05df0 Implementing PR feedback 2015-01-13 09:34:45 -08:00
Abhishek Gupta 3f722a3d8e Adding service affinity predicate 2015-01-13 09:34:45 -08:00
Abhishek Gupta 9dd7d2a0a1 Adding label checker predicates and test cases 2015-01-13 09:34:45 -08:00
Abhishek Gupta 04db076e5f Enhancements to scheduler priority functions
- Modified the existing spreading priority to consider service pods explicitly
 - Added a new priority function to spread pods across zones
2015-01-13 09:34:42 -08:00
saadali 110ab6f1bd Split up kubelet "source seen" logic 2015-01-12 21:48:55 -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
nikhiljindal 87c9c374b7 Swagger UI: Updating swagger-ui.js to list the resources and operations
in sorted order.
2015-01-12 17:29:07 -08:00
Dawn Chen 26a6628d8a Merge pull request #3374 from lavalamp/fix
Fix minion listing
2015-01-12 16:36:46 -08:00
Daniel Smith 3e75195ff3 make minion registry not intolerably slow 2015-01-12 16:20:52 -08:00
Daniel Smith f0b5fba988 Improve cache behavior
* don't block while filling cache
* make cache wait for pending calls
2015-01-12 16:20:25 -08:00
Brendan Burns 82afbab334 Merge pull request #3418 from nikhiljindal/swagger-ui
Fixing broken swagger-ui
2015-01-12 16:07:49 -08:00
Daniel Smith 6e70853e83 genericize ip cache 2015-01-12 16:04:43 -08:00
Daniel Smith 55653568ae Merge pull request #3385 from erictune/source_api
Added kubelet config source from apiserver.
2015-01-12 15:47:15 -08:00
Eric Tune 18bcef5235 Added kubelet config source from apiserver. 2015-01-12 15:29:16 -08:00
nikhiljindal f8db96b673 Fixing a bug in
https://github.com/GoogleCloudPlatform/kubernetes/pull/3404 which broke
swagger-ui.
Swagger-ui requires operation to be defined on all Routes.
2015-01-12 15:20:01 -08:00
Daniel Smith 24e59de06e Merge pull request #3392 from erictune/reflector_proxy
Reconcile kubelet and kube-proxy watching code, initial steps.
2015-01-12 14:55:26 -08:00
Eric Tune 295800201e Make pkg/proxy/config more like pkg/kubelet/config
Split SourceAPI into two subobjects.

Parallel structure for endpoints, services will allow
changing to use generic code in pkg/client/cache/reflector.go.

Rename some funcs to be more like pkg/client/cache.
2015-01-12 14:37:04 -08:00
Tim Hockin 2ea27c3df3 Fix wrong field check in validation 2015-01-12 14:27:34 -08:00
Tim Hockin 0d92da6b15 Remove logic to handle if UID is blank
This should only have been triggered by tests, and those should now be fixed.
I tested by calling panic() if UID was blank in BuildDockerName() or if number
of fields was < 5 in ParseDockerName().  All errors were fixed.
2015-01-12 14:27:34 -08:00
Tim Hockin 905514a12b Ensure Namespace and UID are set in kubelet
Make all kubelet config sources ensure that UID and Namespace are defaulted, if
need be.

We can *almost* disable the "if blank" logic for UID, except for tests that
call APIs that do not run through SyncPods.  We really ought to be enforcing
invariants better.
2015-01-12 14:27:34 -08:00
Tim Hockin af0e2fd551 Merge pull request #3403 from thockin/klet-dirs-structure
Apply more structure to pod data dirs
2015-01-12 14:19:22 -08:00
bgrant0607 b3d827e333 Merge pull request #3416 from nikhiljindal/basePath
Setting WebServicesUrl in swagger config
2015-01-12 13:59:21 -08:00
bgrant0607 e965b7ec18 Merge pull request #3368 from ddysher/static-hostip
Post hostip for static machines
2015-01-12 13:51:11 -08:00
nikhiljindal 6ddfb10728 Setting WebServicesUrl in swagger config, so that the api docs contain correct basepath 2015-01-12 13:48:39 -08:00
Jordan Liggitt 1f8a74626f Use CAFile even if client certificate is not specified 2015-01-12 16:38:48 -05:00
Eric Tune ab7106a5c3 Merge pull request #3322 from erictune/cleanup5
Rename ListPods methods to List.
2015-01-12 13:38:13 -08:00
Daniel Smith 6f43074143 Merge pull request #3404 from smarterclayton/method_not_allowed
Allow RESTStorage objects to not implement methods
2015-01-12 13:21:10 -08:00
saadali e1917cf900 Fix "Kubelet doesn't kill old pods when BoundPods is empty" issue 2015-01-12 12:39:47 -08:00
Daniel Smith 969c4b8c49 Merge pull request #3410 from brendandburns/watch
Clear resourceVersion on errors.
2015-01-12 11:51:59 -08:00
Brendan Burns 6ad88bb143 Clear resourceVersion on errors. 2015-01-12 11:45:38 -08:00
Clayton Coleman d17f75f254 Remove user agent logging (doesn't add significant value)
We can reintroduce path/agent logging at a later point, this just clogs
verbose logs.
2015-01-12 13:37:37 -05:00
Clayton Coleman 302629569b Remove unimplemented methods 2015-01-12 12:20:01 -05:00
Clayton Coleman 22c99c98e2 Split RESTStorage into separate interfaces
Omit unimplemented interfaces from Swagger
2015-01-12 12:19:45 -05:00
Clayton Coleman a52b216324 Add MethodNotSupported error 2015-01-12 12:05:04 -05:00
Tim Hockin 523a80bec7 Apply more structure to pod data dirs
This is makes it possible to read back "known" pods from disk without
getting other (non-pod) kubelet dirs in the mix.  Ditto for containers
within a pod.  This is just saner overall.  Pods now nest in a pods/
dir.  Likewise containers.
2015-01-12 06:16:32 -08: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
Deyuan Deng 0e13a24864 Post hostip for static machines 2015-01-09 19:38:10 -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 e930aa33ac Merge pull request #3370 from dchen1107/clean
Print PodIP along with Pod.Name for kubectl get pod <id>
2015-01-09 15:54:26 -08:00
Dawn Chen a7ad7f8207 Print PodIP along with Pod.Name for kubectl get pod <id> 2015-01-09 14:18:10 -08:00
Dawn Chen a5c117f405 Merge pull request #3367 from lavalamp/fix
improve validation error message printing
2015-01-09 13:26:44 -08:00
Dawn Chen f795d13985 Merge pull request #3366 from erictune/undelta
Added UndeltaStore.
2015-01-09 13:18:22 -08:00
Daniel Smith c81dda5d61 improve validation error message printing 2015-01-09 13:06:24 -08:00
bgrant0607 4231f8757d Merge pull request #3298 from nikhiljindal/swagger-ui
Changes to improve swagger ui
2015-01-09 12:55:01 -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
Tim Hockin 2a2cef84d6 Merge pull request #3351 from lavalamp/fix
Fix error messages; add tests
2015-01-09 12:07:20 -08:00
nikhiljindal 7e909ed743 Changes to improve swagger ui.
- Separating out index, version and api handlers into independent web
  services. Moved the index handler to /welcome, version handler to
  /version and the api handler to /api,
2015-01-09 10:56:24 -08:00
Clayton Coleman a3ff55e478 Allow delete to work from directories, files, multiple resources
Simple refactoring reusing the resource builder changes.
2015-01-09 13:31:24 -05:00
Clayton Coleman d24c5b145e Allow errors to be ignored by the builder 2015-01-09 13:31:24 -05:00
Clayton Coleman bc86b31a8b Remove createall now that create supports directories and sources 2015-01-09 13:30:31 -05:00
Clayton Coleman d1ab27762b Create should be able to accept multiple resources 2015-01-09 13:30:31 -05:00
Clayton Coleman 2151afe334 Allow kubectl get to fetch multiple resource types
Like Delete, which can now run over multiple types:

    kubectl delete pods,services -l name=foo

Get should be able to span items for label selection

    kubectl get pods,services -l name=foo
2015-01-09 13:30:14 -05:00
Clayton Coleman e67786b2f0 Shorten kubecfg test by adding private variable for duration 2015-01-09 13:16:30 -05: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
Clayton Coleman b8333bdeef Merge pull request #3152 from smarterclayton/resource_args_builder
Let Kubectl deal with many objects at the same time
2015-01-09 12:17:17 -05:00