Commit Graph

1304 Commits

Author SHA1 Message Date
Wojciech Tyczynski
59ab41c8f7 Merge pull request #6292 from jszczepkowski/scale-pool
Updating target pools on cloud nodes change.
2015-04-13 10:58:49 +02:00
Eric Paris
263dc981db Use spf13/cobra md generation instead of doing it outselves 2015-04-12 15:03:13 -04:00
Xiang Li
cea38a2f4e pkg/kubelet: kill a TODO in util.go
Move kubelet.CapabilitiesSetup to capabilities.Setup
2015-04-11 10:55:39 -07:00
Daniel Smith
66d55e0959 Merge pull request #6546 from lavalamp/fix
Add to controller framework; use in scheduler
2015-04-10 16:20:17 -07:00
Eric Paris
8e7d14196f Fix printing errors from failed binary runs
I had the kublet die on startup and the only error was "0x401da0"  Which
I assume is an address of the err.Error function.  The other way to fix
this, I think, would be to use err.Error(), however that could cause
fmt.Fprintf() problems, debuging on the error message people used.

Now I get a nice clean error I can understand:

"cAdvisor.New() err = mountpoint for cpu not found"
2015-04-10 17:56:47 -04:00
Dawn Chen
c19437395b Merge pull request #6702 from ddysher/remove-nodeinfo
Remove nodeinfo endpoint from kubelet
2015-04-10 14:54:16 -07:00
Daniel Smith
065a8fa454 add informational output to test 2015-04-10 14:05:07 -07:00
Tim Hockin
4a7b0eecbb Merge pull request #5138 from justinsb/cloud_pd
AWS EBS volume support
2015-04-10 13:47:03 -07:00
Justin Santa Barbara
503e19e58c Rename aws_pd -> aws_ebs 2015-04-10 13:25:44 -07:00
Justin Santa Barbara
4e176771b6 Make fetching the aws instance id optional, so we can use it on e2e 2015-04-10 13:25:43 -07:00
Justin Santa Barbara
89089900d7 Fix merge problems 2015-04-10 13:25:42 -07:00
Justin Santa Barbara
6a4153fc0a Always create volumes in the active k8s zone 2015-04-10 13:25:42 -07:00
Justin Santa Barbara
ffadd5533a Fix AWS region vs zone
We were specifying a region, but naming it as a zone in util.sh

The zone matters just as much as the region, e.g. for EBS volumes.

We also change the config to require a Zone, not a Region.
But we fallback to get the information from the metadata service.
2015-04-10 13:25:42 -07:00
Justin Santa Barbara
edf0292d4a Add initial support for Volumes to AWS 2015-04-10 13:25:42 -07:00
Deyuan Deng
868e05ce96 Remove nodeinfo endpoint from kubelet 2015-04-10 15:47:32 -04:00
Robert Bailey
8174cef3a3 Enable pprof on the kube-proxy's healthz http server. 2015-04-10 12:05:32 -07:00
Jerzy Szczepkowski
1c042208c7 Added retrying update of balancers in case some of updates failed. 2015-04-10 16:06:56 +02:00
Jerzy Szczepkowski
eb253a694e Updating target pools on cloud nodes change.
Implemented updating target pools for external services on chage of cloud nodes. Related to #5241.
2015-04-10 16:06:56 +02:00
Timothy St. Clair
2b60111fca Performance change to option enable client.QPS, client.Burst
and change default on max_requests_inflight.
2015-04-10 07:53:54 -05:00
Yifan Gu
d696ecdba5 integration: Randomize the order of the integration tests. 2015-04-09 18:39:34 -07:00
Yu-Ju Hong
faf47b6f0b Limit the number of concurrent tests in integration.go
Integration test often time out because the machine is loaded. Instead of
increasing timeout, this change hopes to address the issue by limiting the
number of tests running simultaneously.

Add a new flag in integration.go to specify the maximum number of concurrent
tests. Set the default in travis and shippable configurations to be 4.
2015-04-09 16:54:23 -07:00
Victor Marmol
6836b527ab Merge pull request #6634 from yifan-gu/pod_infra_img
kubelet: Move pod infra container image setting to dockertools.
2015-04-09 10:10:52 -07:00
Yifan Gu
b868f421e0 kubelet: Move pod infra container image setting to dockertools. 2015-04-09 09:53:07 -07:00
Timothy St. Clair
9177baa64c Enable profiling by default re: #6623 2015-04-09 10:52:37 -05:00
Wojciech Tyczynski
37ea722b7b Set NodeStatusUpdateFrequency 2015-04-09 10:44:48 +02:00
Vishnu Kannan
2b5cad6acf Improve kubelet logging around startup. This might help detect any lockup issues during startup. 2015-04-08 21:02:15 +00:00
Prashanth Balasubramanian
62984f9bee Fix a race in the integration tests. 2015-04-08 10:25:21 -07:00
gmarek
72182735b9 Remove Node Controllers ability to pull status from Kubelet 2015-04-08 09:44:42 +02:00
Tim Hockin
f2c8decffe Clarify network-related flags in the master
Rename and rejigger flags to make it more obvious what is happening.  Change
the default listen from ChooseHostInterface() to 0.0.0.0.
2015-04-07 15:55:51 -07:00
Clayton Coleman
bb137f0bba Merge pull request #6534 from deads2k/deads-kubeconfig-cmd-factory
refactor to move kubectl.cmd.Factory to kubect/cmd/util
2015-04-07 17:02:20 -04:00
David Oppenheimer
d8aa57872a Change default Kubelet NodeStatusUpdateFrequency from 2s to 10s. 2015-04-07 12:36:09 -07:00
deads2k
6344cf3c3a refactor to move kubectl.cmd.Factory to kubect/cmd/util 2015-04-07 14:43:50 -04:00
David Oppenheimer
402bf60366 Merge pull request #6214 from gmarek/move_consts_to_flags
Move NodeController constants to flags
2015-04-07 11:31:11 -07:00
Huamin Chen
a278ceeb0a implement glusterfs volume plugin
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-04-07 09:14:39 -04:00
gmarek
321a81047c Move NodeController constants to flags 2015-04-07 12:33:03 +02:00
Vish Kannan
be0feddfa5 Merge pull request #5506 from rootfs/dev
add iscsi volume plugin
2015-04-06 15:11:44 -07:00
Rohit Jnagal
2b280629d1 Merge pull request #6483 from timothysc/kube-e2e-help
Minor update to add help details for e2e command
2015-04-06 14:28:02 -07:00
Victor Marmol
3facc53cee Merge pull request #4842 from jdef/kubelet_bootstrap
allow for more easily customized kubelet creation and initialization
2015-04-06 14:20:44 -07:00
Timothy St. Clair
a832d290de Minor update to add help details for e2e command 2015-04-06 15:32:13 -05:00
Huamin Chen
7a82af31de add iscsi volume plugin
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-04-06 16:20:28 -04:00
Brian Grant
338a51d9c5 Merge pull request #6446 from ghodss/fix-patch-test
Re-enable PATCH integration test for v1beta3
2015-04-06 12:04:58 -07:00
James DeFelice
d194af6b4f allow for more easily customized kubelet creation and initialization 2015-04-06 18:51:42 +00:00
Sam Ghods
d37f1cdfef Fix flakey integration test due to slow endpoints controller 2015-04-05 03:33:02 -07:00
Sam Ghods
5ce15b7840 Re-enable PATCH integration test for v1beta3 2015-04-05 02:14:12 -07:00
Sam Ghods
8a62b0d9f6 Temporarily skip PATCH integration tests for v1beta3 2015-04-03 16:39:20 -07:00
Brian Grant
0d95883593 Merge pull request #6027 from ghodss/kube-patch
Implement Strategic Merge Patch in apiserver
2015-04-03 15:08:51 -07:00
Eric Tune
e49424785e Merge pull request #6380 from roberthbailey/kubelet-ssl
Configure the kubelet to use HTTPS (take 2)
2015-04-03 13:43:00 -07:00
Sam Ghods
2c977db1b3 Implement Strategic Merge Patch in apiserver 2015-04-03 11:51:02 -07:00
Piotr Szczesniak
8bc9f5fef7 Added rate limiting to pod deletion
Fixes #6228
2015-04-03 06:58:59 +02:00
Quinton Hoole
4a2000c4aa Merge pull request #6207 from brendandburns/server
Add a limit to the number of in-flight requests that a server processes.
2015-04-02 15:46:54 -07:00
Robert Bailey
4488ff95a2 Create an insecure (http) read-only port on the kubelet so that
heapster can collect metrics. Update the heapster config to
point to the non-secured port.
2015-04-02 10:45:49 -07:00
Robert Bailey
f15e34a1bf Revert "Merge pull request #6309 from GoogleCloudPlatform/revert-6243-kubelet-ssl"
This reverts commit 96a0a0d618, reversing
changes made to 2af9b54147.
2015-04-02 10:44:37 -07:00
Piotr Szczesniak
5c6439d449 Removed PodStatus.Host
Fixes #6165
2015-04-02 16:38:45 +02:00
Zach Loafman
1ff0a1e2a1 Merge pull request #6270 from jlowdermilk/gcloud-updates
Updates for gcloud 0.9.54
2015-04-01 19:14:57 -07:00
Brendan Burns
f327e97661 Add a limit to the number of in-flight requests that a server processes. 2015-04-01 15:06:15 -07:00
Dawn Chen
ab1a8b1e7c Merge pull request #6298 from roberthbailey/kubelet-config
Remove salt configuration that matches the default settings in the Kubelet.
2015-04-01 14:31:31 -07:00
Robert Bailey
22d9c67cb7 Merge pull request #6190 from liggitt/client_cert_auth
Add client cert authentication
2015-04-01 14:11:29 -07:00
Robert Bailey
32a1c052dc Revert "Configure the kubelet to use HTTPS" 2015-04-01 13:59:31 -07:00
Robert Bailey
40ebed845f Remove salt configuration that matches the default settings in
the Kubelet.
2015-04-01 12:13:40 -07:00
Jordan Liggitt
c797a91e36 Add client cert authentication 2015-04-01 13:42:26 -04:00
Jeff Lowdermilk
cfc04f41b8 Updates for gcloud changes (alpha, kubeconfig) 2015-04-01 09:27:06 -07:00
Robert Bailey
dd9ec46cc0 Fix test-cmd to work with the kubelet listening on HTTPS. 2015-04-01 09:09:29 -07:00
Robert Bailey
58bc792e68 Configure the master to connect to the kubelet using HTTPS. 2015-04-01 09:09:29 -07:00
Robert Bailey
d0f48b68d8 Configure the Kubelet to listen on HTTPS. If no certificates are
provided on the command line, generate self-signed certs.
2015-04-01 09:09:29 -07:00
Yu-Ju Hong
4d28ad36ca Increase the timeouts in integration test
There has been test flakes on Shippable caused by timeout waiting for pods to
be running. Increase the timeouts to alleviate the problem.
2015-04-01 08:34:14 -07:00
Brian Grant
af858c99e2 Merge pull request #6098 from nikhiljindal/enableInMaster
Enabling v1beta3 api version by default in master
2015-03-31 15:31:18 -07:00
Brian Grant
3354cffbf0 Merge pull request #6182 from thockin/plural_services_20
Implement multi-port Services
2015-03-31 12:55:21 -07:00
derekwaynecarr
9bd7f05ffc Remove ResourceDefaults plugin 2015-03-31 10:05:28 -04:00
Tim Hockin
186818d787 WIP: Implement multi-port Services 2015-03-30 19:28:11 -07:00
Daniel Smith
acd67ebea0 Merge pull request #5535 from saad-ali/fix5327
Make each new instance of kubelet generate a new event channel
2015-03-30 17:05:27 -07:00
Victor Marmol
a30859fb03 Merge pull request #6191 from roberthbailey/kubelet-ssl
Configure the kubelet to bind a simple healthz server to a localhost port for monitoring by monit
2015-03-30 15:57:09 -07:00
saadali
e0f71cb21f Make each new instance of kubelet generate a new event channel (instead of reusing existing). 2015-03-30 14:22:16 -07:00
Robert Bailey
bc8af553a3 Configure the kubelet to bind a simple healthz server to a localhost
port for monitoring by monit. This is in preparation for the standard
kubelet port to switch to SSL only (and eventually to only accepting
connections on the SSL port that present a proper client SSL cert).

Also standardize the formatting of the monit config files a bit.
2015-03-30 14:20:30 -07:00
nikhiljindal
478b7d5edf Repurposing enableV1beta3 to disableV1beta3 in master config to enable v1beta3 by default 2015-03-30 11:50:10 -07:00
Daniel Smith
fd952862c3 Remove pods from the assumed pod list when they are deleted 2015-03-30 11:16:55 -07:00
Tim Hockin
8ae203825b Implement multi-port endpoints
Instead of endpoints being a flat list, it is now a list of "subsets"
where each is a struct of {Addresses, Ports}.  To generate the list of
endpoints you need to take union of the Cartesian products of the
subsets.  This is compact in the vast majority of cases, yet still
represents named ports and corner cases (e.g. each pod has a different
port number).

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

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

This is the prep for multi-port Services, which will add API to produce
endpoints in this new structure.
2015-03-27 12:36:32 -07:00
Brian Grant
984bc8d5f6 Merge pull request #5635 from ravigadde/master
Add timeout to kubelet client
2015-03-26 14:55:24 -07:00
Brian Grant
3b0db99692 Merge pull request #5915 from piosz/api
Changed PodInfo to be a list
2015-03-26 12:46:50 -07:00
Victor Marmol
5d98e409c2 Merge pull request #5983 from roberthbailey/kube-proxy-healthz
Separate the bind address for the healthz server from the bind address from the proxy itself
2015-03-26 11:02:56 -07:00
Robert Bailey
ebde44c032 Separate the bind address for the healthz server from the bind address from
the proxy itself. Default the bind address for the healthz server to localhost.
2015-03-26 10:40:48 -07:00
Piotr Szczesniak
31901ed9d0 Changed PodInfo to be a list
This change is to make API consistent with our convention.

Fixes #3622
2015-03-26 10:15:25 +01:00
Brendan Burns
7c684e4331 Pipe through the ability to set the external hostname for swagger URLs. 2015-03-25 21:08:05 -07:00
Rohit Jnagal
49ff04765b Add validation for node creation. 2015-03-25 21:55:03 +00:00
Federico Simoncelli
5b3056cdb7 nodecontroller: add event recorder support
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-03-25 15:06:53 -04:00
Victor Marmol
cf7e2756b5 Add HostNetworkSources capability to limit use of HostNetwork. 2015-03-25 11:23:06 -07:00
Victor Marmol
f7135b3dd4 Merge pull request #5827 from spothanis/master
added cloud provider flag to kubelet
2015-03-25 10:50:18 -07:00
Filip Grzadkowski
74da3b14b0 Delete pod_cache and rely on updating pod status by kublet. 2015-03-25 15:08:09 +01:00
Filip Grzadkowski
0804a5c823 Fix race in integration test 2015-03-25 14:28:57 +01:00
Sreekanth Pothanis
1c06cde4c4 added cloud provider flag to kubelet
This is to fix issue #5667
2015-03-24 19:32:50 -07:00
Deyuan Deng
c5675b8924 Use fake time in nodecontroller unittest; rename receiver 's' to 'nc' 2015-03-24 14:23:48 -04:00
Deyuan Deng
cf548765c9 Change kubelet update frequency to 2s, and make it a constant. 2015-03-24 14:23:48 -04:00
Deyuan Deng
0d5f8dfde1 Node controller monitor node status 2015-03-24 14:19:56 -04:00
Clayton Coleman
aee9bdd69a Merge pull request #5805 from liggitt/node_proxy
Improve ResourceLocation API, allow proxy to use authenticated transport
2015-03-24 13:01:54 -04:00
Clayton Coleman
97560c409f Merge pull request #5554 from derekwaynecarr/namespace_controller
Namespace Controller to support Namespace Termination
2015-03-24 12:59:00 -04:00
Filip Grzadkowski
632ca506ce * Update pod status only when it changes.
* Refactor syncing logic into a separate struct
2015-03-24 16:41:00 +01:00
Jordan Liggitt
a75b501821 Improve ResourceLocation API, allow proxy to use authenticated transport 2015-03-24 11:11:34 -04:00
derekwaynecarr
84c9709299 Increase controller sync time for namespace cleanup 2015-03-24 10:44:34 -04:00
derekwaynecarr
2ac63ebbe6 Add namespace controller to drive life-cycle 2015-03-24 10:36:06 -04:00
Wojciech Tyczynski
f80cac1775 Integration test for reading Pods via http & file 2015-03-24 12:05:41 +01:00
Clayton Coleman
d020ca00b8 Pass hostname to all kubelet config sources instead of os.Hostname()
Make applyDefaults be tied to the current config source.
2015-03-23 15:58:45 -04:00
Clayton Coleman
bd12cfea69 Integration tests should do a faster status sync loop 2015-03-23 14:48:28 -04:00
Clayton Coleman
90beaa3d61 Set non-zero default HTTP/File check intervals to avoid hotloop
cmd/integration.go was hot-looping for both, but did not need to.
2015-03-23 00:47:39 -04:00
Ravi Gadde
5871e53060 Add timeout to kubelet client 2015-03-20 18:46:45 -07:00
Brian Grant
198d641cf4 Merge pull request #5288 from derekwaynecarr/namespace_lifecycle
NamespaceLifecycle admission control plugin
2015-03-20 15:25:53 -07:00
Tim Hockin
bfadae77e0 Promote volume plugins, prep for persistent vols
Move pkg/kubelet/volume/... to pkg/volume/...
Some renames to make the soon-to-come persistent volumes work clearer.
2015-03-20 13:49:40 -07:00
derekwaynecarr
8aa807bc33 NamespaceLifecycle admission control plugin 2015-03-20 13:23:49 -04:00
Victor Marmol
e94c5c3fa9 Merge pull request #5677 from smarterclayton/remove_healthz_global
Remove global map from healthz
2015-03-20 08:32:39 -07:00
Clayton Coleman
015bc3b7bd Remove global map from healthz
It currently is impossible to use two healthz handlers on different
ports in the same process.  This removes the global variables in favor
of requiring the consumer to specify all health checks up front.
2015-03-19 19:49:44 -04:00
Tim Hockin
1cbde2c5c7 Merge pull request #5664 from calfonso/nfs_mount_plugin
Addresses cross compile for syscall.Unmount by delegating to Mount.
2015-03-19 16:19:01 -07:00
CJ Cullen
7ddcecfd1c Revert "Revert "[WIP] southbound networking hooks in kubelet"" 2015-03-19 16:14:13 -07:00
Zach Loafman
b5d1e538df Revert "[WIP] southbound networking hooks in kubelet" 2015-03-19 16:08:08 -07:00
Rajat Chopra
7857aa7751 kubelet networking plugin 2015-03-19 14:15:52 -07:00
Chris Alfonso
9d0c9e7dc3 Addresses cross compile for syscall.Unmount by delegating to Mount. 2015-03-19 16:46:14 -04:00
derekwaynecarr
396f802318 Disable the nfs plugin because it does not cross-compile during release builds 2015-03-19 16:11:15 -04:00
Chris Alfonso
1a45e37d17 NFSMount storage plugin for kubelet.
* If you want to test this out when an actual NFS export a good place
 to start is by running the NFS server in a container:

docker run -d --name nfs --privileged cpuguy83/nfs-server /tmp

More detail can be found here:
https://github.com/cpuguy83/docker-nfs-server
2015-03-19 13:37:38 -04:00
Dawn Chen
52e1ee9d5b Merge pull request #5619 from vmarmol/rate
Spread out pod status updates to apiserver.
2015-03-18 17:26:02 -07:00
Brian Grant
11f9733599 Merge pull request #5587 from nikhiljindal/enable3
Updating integration tests to test both API versions - v1beta1 and 3
2015-03-18 16:14:20 -07:00
Victor Marmol
cda4b6c598 Spread out pod status updates to apiserver.
Lowers pod status interval to every 2m and spreads updates within that
time window.
2015-03-18 15:43:07 -07:00
nikhiljindal
7e36bbab3c Updating integration tests to test both API versions - v1beta1 and 3 2015-03-18 15:24:11 -07:00
Victor Marmol
9586b39bb7 Merge pull request #5555 from fgrzadkowski/sync_pod_status
Periodically update pod status from kubelet.
2015-03-18 10:14:07 -07:00
Filip Grzadkowski
1a352b74ba Periodically update pod status from kubelet. 2015-03-18 12:11:39 +01:00
Victor Marmol
d78ecf820e Garbage collecting images in the Kubelet.
Integrated the imageManager into the Kubelet and applies the garbage
collection policy every 5 minutes. The default policy allows up to 90%
disk usage, after which images are garbage collected to bring limit back
down to 80%.

Fixes #157.
2015-03-17 17:56:02 -07:00
Victor Marmol
d1ed571e28 Use containerGC in the Kubelet.
New policy default is 100 containers max.

Fixes #5457.
2015-03-17 10:50:32 -07:00
Yu-Ju Hong
929fb63b33 Sync static pods from Kubelet to the API server
Currently, API server is not aware of the static pods (manifests from
sources other than the API server, e.g. file and http) at all. This is
inconvenient since users cannot check the static pods through kubectl.
It is also sub-optimal because scheduler is unaware of the resource
consumption by these static pods on the node.

This change syncs the information back to the API server by creating a
mirror pod via API server for each static pod.

 - Kubelet creates containers for the static pod, as it would do
   normally.

 - If a mirror pod gets deleted, Kubelet will re-create one. The
   containers are sync'd to the static pods, so they will not be
   affected.

 - If a static pod gets removed from the source (e.g. manifest file
   removed from the directory), the orphaned mirror pod will be deleted.

Note that because events are associated with UID, and the mirror pod has
a different UID than the original static pod, the events will not be
shown for the mirror pod when running `kubectl describe pod
<mirror_pod>`.
2015-03-17 08:45:56 -07:00
Filip Grzadkowski
18b728ff44 Revert "Periodically update pod status from kubelet." 2015-03-17 13:51:45 +01:00
Filip Grzadkowski
336525a27d Periodically update pod status from kubelet. 2015-03-16 23:03:03 +01:00
Jeff Lowdermilk
e37fd2a84d Merge pull request #5477 from dchen1107/clean
Convert RestartPolicy to string for v1beta3.
2015-03-16 10:23:52 -07:00
Dawn Chen
34e9c82c70 Convert RestartPolicy to string for v1beta3.
Fixed #3607 and spiritually support #5475
2015-03-13 18:38:07 -07:00
Victor Marmol
dc96ea6300 Run cAdvisor inside the Kubelet.
cAdvisor is started as a Kubelet dependency during startup of the
Kubelet before the sync loops start.
2015-03-13 16:06:02 -07:00
Dawn Chen
0cc2b62b4a Merge pull request #5265 from ddysher/kubelet-post-status
kubelet post node status to master
2015-03-13 15:29:22 -07:00
Timothy St. Clair
7eebf674d4 Update to option enable profiling on the master daemon processes.
--profiling=true , default is false
2015-03-13 10:45:01 -05:00
Victor Marmol
a82dd05bf1 Merge pull request #5338 from erictune/integ_test_typo
Fix log messages and var names in integr test
2015-03-12 16:22:12 -07:00
Eric Tune
cf22810ffc This is a combination of 2 commits.
Fix log messages and var names in integr test

It says "pods" where the things are actually "containers".
2015-03-12 14:10:52 -07:00
Eric Tune
72945955ae First cut at a "conformance test".
A conformance test is a test you run against a cluster that is already
set up.  We would use it to test a hosted kubernetes service to make
sure that it meets a bar for quality.  Also, a getting-started-guide
author, who has not implemented a complete set of cluster/...
scripts (that is, the getting-started-guide has some non-automated steps)
can use this to see which e2e tests pass on a cluster.

To be done in future PRs:
- disable tests which can't possibly run in a conformance test
  because they require things like cluster ssh.
- document that when we accept a getting-started-guide, that
  people should run the conformance test against their cluster
  (unless they already have cluster/... scripts.

I ran this against a GCE cluster and 22 tests passed.
2015-03-12 14:04:02 -07:00
MikeJeffrey
0c6cd21520 Merge pull request #5345 from jlowdermilk/kubectl-docs
Fix md generation for kubectl docs
2015-03-11 17:19:51 -07:00
Jeff Lowdermilk
a5746c9a0e Fix md generation for kubectl docs
Display usage string, not long help, as code, remove angle brackets from
output (.md interprets as tags and hides).
2015-03-11 16:42:40 -07:00
Eric Tune
ae9bc28f8b Remove mentions of etcd in kubelet. 2015-03-11 16:40:20 -07:00
Eric Tune
ac7bf05079 Kubelet has not even heard of etcd. 2015-03-11 16:29:31 -07:00
Victor Marmol
7d53425bbc Merge pull request #5337 from erictune/no_hostport_integ_test
Don't use hostPort in integration test.
2015-03-11 16:00:11 -07:00
Eric Tune
1a2da5b8f5 Don't use hostPort in integration test.
The integration test will fail if I check in my pending PR
to remove boundPods.  Kubernetes eventually does the right
thing, but getting the integration test to check expectations
is hard because the scheduling behavior is unpredictable.

The boundPods removal is needed to fix P1 bug and speeds up
the scheduler considerably.
2015-03-11 15:30:56 -07:00
Daniel Smith
cd8a979206 Merge pull request #4751 from bprashanth/sync_replica_count
Replication Controller syncs current replica count with api server #4429
2015-03-11 14:02:20 -07:00
Dawn Chen
7703b50078 Merge pull request #5315 from saad-ali/reduceTTL2
Reduce TTL for events in etcd from 48hrs to 1hr
2015-03-11 13:52:55 -07:00
Prashanth Balasubramanian
28d9260c0b Sync replication count with the api server on pod creation/deletion. 2015-03-11 13:29:20 -07:00
saadali
7e258b85bd Reduce TTL for events in etcd from 48hrs to 1hr 2015-03-11 12:41:45 -07:00
Zach Loafman
e780592315 Merge pull request #5264 from jlowdermilk/kube-up
Standalone kubeconfig for gce kube-up (mulligan)
2015-03-11 11:46:45 -07:00
Deyuan Deng
9982aaa960 kubelet post node status to master 2015-03-10 23:17:36 -04:00
Jeff Lowdermilk
7db006ab1a Generate standalone kubeconfig on kube-up, clear on kube-down.
Also tweaked the ginkgo tests to pull auth directly from a kubeconfig file
instead of the legacy kubernetes_auth file.
2015-03-10 14:23:34 -07:00
Brian Grant
9aa744925e Merge pull request #5030 from simon3z/nodeinfo
Add support for fetching node collected information
2015-03-10 14:05:41 -07:00
Paul Morie
a486ab078f Fix selfLink issues in integration test 2015-03-10 14:40:16 -04:00
Brian Grant
7aa060bae7 Merge pull request #4706 from mikedanese/PATCH
add PATCH verb to apiserver
2015-03-10 11:38:22 -07:00
Mike Danese
46ec580771 add PATCH to apiserver 2015-03-10 10:56:15 -07:00
Eric Tune
2ca265ae3b Remove --etcd_servers flag from kubelet and proxy.
All the distros that use this have been updated,
or have PRs out to update them, or owners
have been asked to fix RPMs.

Removing this prevents further use of this model.

Remove now dead code: EtcdClientOrDie

Remove now dead pkg/proxy/config/etcd.go.

Remove unused imports.
2015-03-10 09:29:09 -07:00
Federico Simoncelli
1b18440f35 kubelet: add GetNodeInfo implementation
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-03-10 10:11:01 -04:00
Jeff Lowdermilk
a280e0da2d Revert "Standalone kubeconfig for gce kube-up" 2015-03-09 17:45:06 -07:00
Alex Mohr
9e253170d3 Merge pull request #5201 from GoogleCloudPlatform/revert-5198-revert-5124-ex3
Revert "Revert "Deleting old sample JSON; moving those in use; updating ...
2015-03-09 16:37:39 -07:00
Satnam Singh
89bc7bbea9 Merge pull request #5154 from jlowdermilk/kube-up
Standalone kubeconfig for gce kube-up
2015-03-09 16:22:51 -07:00
Jeff Lowdermilk
4173d369aa Generate standalone kubeconfig on kube-up, clear on kube-down.
Also tweaked the ginkgo tests to pull auth directly from a kubeconfig file
instead of the legacy kubernetes_auth file.
2015-03-09 16:02:00 -07:00
Alex Mohr
da9622a6d7 Revert "Revert "Deleting old sample JSON; moving those in use; updating referenc..." 2015-03-09 14:44:14 -07:00
Alex Mohr
44b9b7aea5 Revert "Deleting old sample JSON; moving those in use; updating references" 2015-03-09 14:18:40 -07:00
Victor Marmol
e187be9fe1 Merge pull request #5143 from vmarmol/cadvisor-pkg
Refactoring Kubelet's cAdvisor interface into a package.
2015-03-09 11:36:03 -07:00
Victor Marmol
ab3c9de34b Refactoring cAdvisor interface into a package.
This will make it easier to start running the real cAdvisor alongside
Kubelet. This change is primarily no-op refactoring. The main behavioral
change is that we always create a cAdvisor interface and expect it to
always be available. When we make a request, if cAdvisor is not
connected the request fails with a connection error. This failure is
handled today as well.
2015-03-09 11:19:05 -07:00
Alex Mohr
ee276b26cb Merge pull request #5124 from MikeJeffrey/ex3
Deleting old sample JSON; moving those in use; updating references
2015-03-09 10:58:44 -07:00
MikeJeffrey
4da6d413be Deleting old sample JSON; moving those in use; updating references 2015-03-06 17:24:45 -08:00
Dawn Chen
9439c0f3bd Merge pull request #5103 from yujuhong/naming
kubelet: revamp the pod/container naming scheme
2015-03-06 15:58:58 -08:00
Yu-Ju Hong
32fd331e73 Revert "Split up kubelet "source seen" logic"
We want to sync pods from file/http/etcd sources to the apiserver, hence
differentiating sources is no longer desired.

This reverts commit 110ab6f1bd.
2015-03-06 12:57:48 -08:00
Deyuan Deng
50de1a80c2 kubelet should take a client interface 2015-03-06 15:01:55 -05:00
Jordan Liggitt
02622b1401 Plumb tls and cert options into kubelet start 2015-03-05 16:30:52 -05:00
Paul Morie
02b18edac6 Allow multiple sources to be used with record package 2015-03-05 13:54:29 -05:00
Daniel Smith
db670c65fa Add version converting binary 2015-03-04 11:41:08 -08:00
Prashanth Balasubramanian
1970c2d201 Retry resizing replication controllers in kubectl 2015-03-02 20:26:41 -08:00
Victor Marmol
71e545bf81 Merge pull request #4970 from dchen1107/podstatus
Hide POD container from end users
2015-03-02 17:15:24 -08:00
Dawn Chen
dad365fb2b Hide POD container from end users 2015-03-02 17:03:28 -08:00
Brendan Burns
fe973461f5 Merge pull request #4916 from thockin/plural_21_endpoints
Rename type Port to ContainerPort
2015-03-02 10:53:32 -08:00
Filip Grzadkowski
86b1c90097 Add flag to control probing pods statuses from kubelets. 2015-03-02 16:06:14 +01:00
Tim Hockin
ea548b8260 Rename type Port to ContainerPort
Sadly I had to do this by hand - I just could not get gorename to fix up
users of it.
2015-02-27 21:05:59 -08:00
Jerzy Szczepkowski
e0548c3c03 Node controller supports disabling node probes.
Node controller supports disabling sending node probes and updating node statuses. Controlled by --sync_node_status flag. Resolves #4565.
2015-02-27 08:21:04 +01:00
Eric Tune
e77745672c Merge pull request #4577 from satnam6502/cluster-name
Qualify the name of forwarding rules with INSTANCE_PREFIX
2015-02-26 13:17:49 -08:00
Justin Santa Barbara
754d9b8048 Fix typo in comment: mail -> main 2015-02-24 16:15:59 -08:00
Satnam Singh
19b927ea57 Name a cluster and use it to make forwarding rules for GCE 2015-02-23 17:04:33 -08:00
Daniel Smith
650f6cb826 Revert "Multi-port Endpoints" 2015-02-23 13:53:21 -08:00
Tim Hockin
e0fd83096c Rename type Port to ContainerPort
Sadly I had to do this by hand - I just could not get gorename to fix up
users of it.
2015-02-21 22:26:38 -08:00
Alex Robinson
5ea0895987 Merge pull request #4682 from a-robinson/e2e
Un-revert #4551 which moved the certs.sh e2e test to ginkgo and fix the e2e auth breakage it caused
2015-02-20 15:50:00 -08:00
Alex Robinson
fe42cd1235 Un-revert #4551 which moved the certs.sh e2e test to ginkgo and fix the
e2e auth breakage it caused. The fix is to not set project/zone/kube_master
to the empty string partway through the script, which I should have
realized was a bad idea in the first place.
2015-02-20 15:31:59 -08:00
Eric Paris
aab9cc3219 Output the inherited and non-inherited flags in the man page 2015-02-20 16:41:31 -05:00
Eric Paris
781ca91a59 Use the 'example' section of cobra commands
This makes examples their own section in the docs, if they are defined.
2015-02-20 16:41:31 -05:00
Daniel Smith
1e679f0069 Add GOMAXPROCS in a few more places 2015-02-20 11:22:46 -08:00
Daniel Smith
17feadf977 Merge pull request #4240 from thockin/hyperkube
Hyperkube cleanup
2015-02-20 11:12:32 -08:00
Victor Marmol
54ef88bbf8 Merge pull request #4664 from eparis/kubectl-man
kubectl autogen docs update
2015-02-20 09:24:21 -08:00
Tim Hockin
f2894576c1 get rid of pkg/hyperkube 2015-02-20 08:49:12 -08:00
Tim Hockin
5f021cfc3e move pkg/scheduler/server to cmd/kube-scheduler/app 2015-02-20 08:49:12 -08:00
Tim Hockin
0b17c0f225 move pkg/controllermanager to cmd/kube-controller-manager/app 2015-02-20 08:49:12 -08:00
Tim Hockin
cb09571768 keep hyperkube noise in one place 2015-02-20 08:49:12 -08:00
Tim Hockin
899d30f16a move pkg/master/server to cmd/kube-apiserver/app 2015-02-20 08:49:12 -08:00
Tim Hockin
0a7b89cc00 keep hyperkube noise in one place 2015-02-20 08:49:12 -08:00
Tim Hockin
8c2ff81ae0 move pkg/proxy/server to cmd/kube-proxy/app 2015-02-20 08:49:12 -08:00
Tim Hockin
9f1451121d keep hyperkube noise in one place 2015-02-20 08:49:12 -08:00
Tim Hockin
7fe7f8a542 move pkg/kubelet/server to cmd/kubelet/app 2015-02-20 08:49:12 -08:00
Eric Paris
4806160c51 use the cobra inherrited flags instead of implementing it 2015-02-20 10:20:11 -05:00
Andy Goldstein
5bd0e9ab05 Add streaming command execution & port forwarding
Add streaming command execution & port forwarding via HTTP connection
upgrades (currently using SPDY).
2015-02-20 09:57:02 -05:00
Zach Loafman
7febce6321 Revert "Migrate the certs.sh e2e test to ginkgo" 2015-02-19 18:41:30 -08:00
Zach Loafman
597dedf762 Merge pull request #4551 from a-robinson/e2e
Migrate the certs.sh e2e test to ginkgo
2015-02-19 17:34:04 -08:00
Brendan Burns
d9d5837510 Merge branch 'kubectl-man' of https://github.com/eparis/kubernetes into eparis-kubectl-man
Conflicts:
	docs/kubectl.md

    COMMIT_BLOCKED_ON_GENDOCS
2015-02-19 11:53:38 -08:00
Daniel Smith
fcddefa184 Set GOMAXPROCS. Print errors on stderr. 2015-02-19 10:30:31 -08:00
Alex Robinson
94161a44ee Pass the GCE project, zone, and master name into e2e.go as flags. 2015-02-18 15:41:36 -08:00
Dawn Chen
34df171693 Debugging message for debugging #4500 2015-02-18 14:40:24 -08:00
Clayton Coleman
eebe00c259 Test namespace overlap in test-integration.sh 2015-02-16 16:31:32 -05:00
Clayton Coleman
3e2e4714a2 Always set ?namespace in query if specified
Revise our code to only call Request.Namespace() if a namespace
*should* be present.  For root scoped resources, namespace should
be ignored.  For namespaced resources, it is an error to have
Namespace=="".
2015-02-16 00:23:38 -05:00
Clayton Coleman
9175082a1c Split naming behavior out into objects that are derived from the request
Fix bug with cross namespace queries not being possible.  Ensure selflink
is set on lists correctly.
2015-02-16 00:23:38 -05:00
Eric Paris
a6beb2e7df Autogenerate md documentation for kubectl
This does away with the giant dump from cobra for kubectl and instead
generates md files which contain similar information, but one per verb.
This might work well as part of the cobra project, instead of doing it
in kube, but this gets us nice, linked, documentation right now.  If
people like it, I will try to get something similar into cobra.
2015-02-12 19:08:57 -05:00
Eric Paris
9e9fb9457f automatically generate man pages for kubectl
generate man pages for kubectl using the cobra.Command information.
This will directly create files in (by default) docs/man/man1/ called
kubectl*.1.  Each child verb/cobra command will gets its own man page.
2015-02-12 19:08:52 -05:00
Brian Grant
20f7cbb87b Merge pull request #4291 from jlowdermilk/delete-kubecfg
Remove kubecfg, cleanup a few stray references.
2015-02-11 11:18:59 -08:00
Eric Tune
9ea4d2f814 Merge pull request #4323 from dchen1107/podstatus
Check if kubelet does know such Pod before querying status.
2015-02-11 11:13:50 -08:00
Dawn Chen
f5f2b6f773 Check if kubelet does know such Pod before querying status. 2015-02-11 10:16:04 -08:00
Jeff Lowdermilk
197059b65d Remove kubecfg, cleanup a few stray references. 2015-02-10 16:43:12 -08:00
Clayton Coleman
dce4cd8b1d Merge pull request #3613 from derekwaynecarr/namespace_as_kind
Namespace as kind
2015-02-10 14:49:58 -05:00
Mike Danese
043794492e implement readiness. 2015-02-10 08:30:09 -08:00
derekwaynecarr
151be7773c Rename api.Namespace to api.NamespaceValue to avoid name collision 2015-02-10 09:44:29 -05:00
Deyuan Deng
4c6f6e0efc Refactor RegisterRetryCount, improve tests 2015-02-09 17:55:28 -05:00
Deyuan Deng
55b9944cfe Remove pods from failed node 2015-02-09 17:50:24 -05:00
Deyuan Deng
f5bc43a46c Merge pull request #3498 from pravisankar/ravi/sync-nodes-optional
Make periodic sync nodes from -cloud_provider/-machines optional.
2015-02-09 17:45:56 -05:00
Ravi Sankar Penta
3a5ef05f64 Make periodic sync nodes from cloud provider optional.
--sync_nodes=false gives user flexibility to add/remove nodes in the
cluster using REST api/kubectl cli and at the same time can use
cloud provider for other resources like persistent disks, etc.
2015-02-09 13:42:44 -08:00
Clayton Coleman
4369e31b9d Integration tests should use 127.0.0.1 consistently 2015-02-09 14:30:31 -05:00
Mike Danese
14bfec92f2 rename probe.Status to probe.Result. 2015-02-05 15:49:58 -08:00
Brendan Burns
8b25b43039 Merge pull request #4117 from wojtek-t/validate_docker_version
Check Docker version in Kubelet /healthz handler
2015-02-05 10:06:33 -08:00
Wojciech Tyczynski
524cdba101 Fix hack/test-cmd.sh test. 2015-02-05 01:58:26 +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
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
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
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
Joe Beda
b89454a48e Convert the scheduler binary to hyperkube. 2015-02-02 10:01:36 -08:00
Joe Beda
bbb4479166 Convert controller-manager to hyperkube. 2015-02-02 10:01:36 -08:00
saadali
e83fd7b8e7 Make master service IP static (no longer randomly assigned) 2015-01-30 16:07:19 -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
Satnam Singh
d8bda4006a Increase API rate limit on read only port of apiserver 2015-01-30 11:58:59 -08:00
Deyuan Deng
c793c4f0ab Sync node status from node controller to master. 2015-01-29 23:17:15 -05:00
nikhiljindal
dc92d3c7a2 Cleaning up the operations code in client 2015-01-28 21:04:16 -08:00
Zach Loafman
668d8539b8 Merge pull request #3855 from filbranden/ginkgo1
Initial adoption of Ginkgo in Kubernetes e2e tests
2015-01-28 16:32:11 -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
Filipe Brandenburger
bd79d00e22 Generate JUnit XML for Jenkins from the Go e2e tests
Use ginkgo's native support for JUnit in order to generate the XML file.

This is a first step in better integration of our e2e tests with
Jenkins. In order to improve the logged information, we will probably
need to have more native ginkgo tests but this step allows us to see
what Jenkins can already do with this information and what we need to
tweak to improve it.

Tested by running the full e2e tests and inspecting the contents of
junit.xml on the top of the tree.

Textual output is still generated on the console to keep the current
goe2e.sh logs available until the full conversion of our Jenkins
instance to use the JUnit XML is completed.
2015-01-28 15:09:53 -08:00
Satnam Singh
7d9845fc83 Parameterize API rate limits for apiserver 2015-01-28 15:08:08 -08:00
Mrunal Patel
19e0605f5b Replace "net" by "pod infra" in docs and format strings. 2015-01-28 15:03:06 -08: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
Tim Hockin
c8f61885df Merge pull request #3695 from mikedanese/ready
refactor pkg/health into more reusable pkg/probe
2015-01-28 11:00:32 -08:00
Clayton Coleman
5117189e03 Merge pull request #3707 from nikhiljindal/preOperations
Removing support for asynchronous server requests
2015-01-28 13:02:52 -05:00
Tim Hockin
80ff2128de Merge pull request #3844 from mikedanese/dockercfg-dirs
Check other dirs for .dockercfg
2015-01-28 08:50:08 -08:00
nikhiljindal
de60600608 Making all operations synchronous 2015-01-27 18:47:56 -08:00
Mike Danese
33f158073b Check other dirs for .dockercfg 2015-01-27 15:54:20 -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
derekwaynecarr
74f368f50e Modified LimitRangeItem.Kind to LimitRangeItem.Type, added example files 2015-01-27 16:41:28 -05:00
Mike Danese
5dc6362f8a rename probe.Healthy to probe.Success and renam probe.Unhealthy to probe.Failure. 2015-01-27 11:20:30 -08:00
Mike Danese
a298402bd4 remove pkg/health and move everything over to pkg/probe 2015-01-27 11:20:30 -08:00
Mrunal Patel
b6a0ff1003 IP: Shared IPC. 2015-01-27 09:26:36 -08:00
Deyuan Deng
c263a79d3e Add node sync period flag 2015-01-22 19:14:02 -05: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
deads2k
500bb3a7fa make kubectl factory flag binding optional 2015-01-20 18:12:24 -05: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
Zach Loafman
868d2c4336 cmd/e2e: Port --orderseed and --times to cmd/e2e from hack/e2e
* Add --orderseed, shuffle order every time, report order for repeatability
* Add --times, acts like a multi-deck shoe
* Remove fixed numbering in TAP output (this is actually not needed;
TAP output is just done by outputting what assertion count you're on.)

This is essentially just a port of f3a992aa and 369064c6 (minus
reporting, which can be handled later when we make TAP, etc, better).
2015-01-19 14:50:15 -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
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
15e9fa8a9d Introduce PodStatusResult, and deprecate PodContainerInfo. 2015-01-16 09:10:40 -08:00
Satnam Singh
33e00320bf Convert private.sh test to Go and remove basic.sh and private.sh 2015-01-15 18:04:12 -08:00
Filipe Brandenburger
6a79d4e265 Support a --test/-t repeated flag to allow run only a subset of the e2e.go tests.
This syntax is akin to what Python unittest uses for running a subset of the tests.

If a test gets skipped, log it. If an invalid test test is passed to --test, warn about it.
2015-01-15 16:30:39 -08:00
Daniel Smith
46f8a56dba Merge pull request #3376 from erictune/channel_api
Kublet watches Pods.
2015-01-15 14:48:12 -08:00
Satnam Singh
1bff012c36 Convert basic.sh e2e test to Go 2015-01-15 11:41:29 -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
Eric Tune
bc25748b36 Merge pull request #3472 from derekwaynecarr/default_cpu_mem
Admission control plugin for resource defaults
2015-01-15 09:35:17 -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
dcd00c936e Move all kubernetes to posix flags 2015-01-15 09:12:19 -08:00
Clayton Coleman
831557408b kubectl is double printing errors
cobra/command prints errs that are returned by cmd.Execute(), so
printing it twice does not accomplish anything.
2015-01-14 20:11:51 -05: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
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
Paul Morie
fd834ae84d Pods should see services only from their own ns 2015-01-14 17:06:36 -05:00
Tim Hockin
e86d4cd3c6 Use a strong type for UID fields 2015-01-14 13:53:43 -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
derekwaynecarr
7f724867c2 Admission control plugin for resource defaults 2015-01-14 15:28:59 -05: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
5b0a65e9a3 make private root dirs for integration test kubelets 2015-01-11 16:40:06 -08:00
Clayton Coleman
8a4f225941 Make expandResourceShortcuts part of RESTMapper on client 2015-01-09 11:59:11 -05:00
Jeff Lowdermilk
b26dfacfff Merge pull request #3316 from deads2k/deads-add-kubeconfig-file-properly
add kubeconfig file properly
2015-01-08 13:50:52 -08:00
Deyuan Deng
a2651bfcc7 Rename minioncontroller to nodecontroller 2015-01-08 14:52:10 -05:00
bgrant0607
7bff03fb41 Merge pull request #2878 from smarterclayton/enable_v1beta3
Enable v1beta3 API via --runtime_config=api/v1beta3 flag
2015-01-08 11:04:06 -08:00
deads2k
005f2e1bda don't require config.Version for IsConfigTransportTLS 2015-01-08 13:53:57 -05:00
Clayton Coleman
7fd887df61 Enable v1beta3 API via --runtime_config=api/v1beta3 flag
This exposes the proper v1beta3 API endpoint when the user specifies
the --runtime_config=api/v1beta3 argument to the apiserver. v1beta3
is still considered experimental and subject to change.

--runtime_config is a map of string keys and values, that can be
specified by providing

    --runtime_config=a=b,b=c,d,e

Only the key must be specified, the value can be omitted.

Enables v1beta3 in hack/local-up-cluster.sh and hack/test-cmd.sh
2015-01-08 13:01:24 -05:00
Tim Hockin
eac982137f Merge pull request #3260 from commonlisp/master
NewMainKubelet validates SyncFrequency, minimum GC age, etc.
2015-01-08 08:20:55 -08:00
deads2k
480635bb72 Revert "Revert "add kubeconfig types""
This reverts commit 02dbad7094.
2015-01-08 09:42:30 -05:00
Zach Loafman
e421e6eecd Merge pull request #3303 from zmerlynn/skip_skydns_test_on_gke
Skip TestClusterDNS on GKE (since DNS is disabled there)
2015-01-07 21:45:28 -08:00
George Kuan
06475fc4b4 NewMainKubelet validates Kubelet config parameters
Fixes issue #3202.
* Validates SyncFrequency and minimum GC age and propagates error to RunKubelet
* Defaults for Kubelet config and minor cleanup
* cmd Kubelet MinimumGCAge to 1m instead of 0
2015-01-07 18:50:53 -08:00
Zach Loafman
f30846ecd5 Skip TestClusterDNS on GKE (since DNS is disabled there)
We'll eventually want to do something fancier here. But the yak needs
to stop growing hair.
2015-01-07 17:22:17 -08:00
Eric Tune
c2b3d678c0 Merge pull request #3248 from derekwaynecarr/admission_control_hooks
Implement basic admission control framework
2015-01-07 16:52:49 -08:00
Tim Hockin
5f2dae4dd8 Merge pull request #3195 from lavalamp/numericWire
Add numeric type into api
2015-01-07 16:15:52 -08:00
Eric Tune
0d4d1e28b2 Merge pull request #3270 from smarterclayton/kubelet_fixes
Cleanup to client initialization in Kubelet
2015-01-07 15:55:38 -08:00
Daniel Smith
35f54addca Update more packages, tests, binaries for quantity
make etcd registry pass test
fix kubelet config for quantity
fix openstack for quantity
fix controller for quantity
fix last tests for quantity
wire into binaries
fix controller manager
fix build for 32 bit systems
2015-01-07 15:21:35 -08:00
Brendan Burns
02dbad7094 Revert "add kubeconfig types" 2015-01-07 12:39:37 -08:00
Brendan Burns
39d1c1aa30 Merge pull request #3255 from brendandburns/master
Add a little bit more logging to a test
2015-01-07 11:48:42 -08:00
derekwaynecarr
a56087cdf8 Remove client from attributes, remove admission control interface, fix-up error codes 2015-01-07 14:42:31 -05:00
derekwaynecarr
1e2b995a79 Fix admission control in tests 2015-01-07 14:42:31 -05:00
derekwaynecarr
520ae3ef27 Implement basic admission control framework 2015-01-07 14:42:31 -05:00
Clayton Coleman
ba53d723d3 Clean up how client is passed to Kubelet in preparation for reading pods
Also fixes how Kubelet server looks up pods by name when there are multiple
sources.
2015-01-07 14:40:37 -05:00
Clayton Coleman
585d2c8cbd Merge pull request #2861 from deads2k/deads-add-clicfg-types
add kubeconfig types
2015-01-07 13:35:50 -05:00
bgrant0607
6e24273937 Merge pull request #3061 from jlowdermilk/rollingupdate
Add a rollingupdate lib and command to kubectl
2015-01-07 10:33:39 -08:00
deads2k
0e688dc271 add kubeconfig file 2015-01-07 13:09:10 -05:00
Eric Tune
441445fae4 Added e2e test: checks service env vars created. 2015-01-06 20:50:58 -08:00
Jeff Lowdermlk
0ab39df66b Add a rollingupdate lib and command to kubectl
Also decouple conditions from client for testability.
2015-01-06 17:29:05 -08:00
Brendan Burns
01572617d4 Add a little bit more logging to a test so that if it times out we have more debugging. 2015-01-06 15:25:04 -08:00
Jordan Liggitt
b36a44f036 Automatically serve API on https with self-signed cert 2015-01-06 09:36:29 -05:00
Dawn Chen
f718957a79 Move GetHostName and GetDockerEndpoint methods to pkg/util 2015-01-05 11:44:21 -08:00
Tim Hockin
a57976b46d fix call to Fatal() vs Fatalf() 2015-01-03 20:51:14 -08:00
Tim Hockin
297c8d1d5a Parse flags for in integration test.
The default --v=10 might be reconsidered.
2015-01-03 20:48:19 -08:00
Clayton Coleman
e355f54eda Update references from Path() to the appropriate segment use 2014-12-29 15:38:52 -05:00
Tim Hockin
32a59477a5 Add an e2e test for DNS from pods. 2014-12-29 09:18:12 -08:00
Tim Hockin
652479a3b1 Add kubelet DNS flags & api disable for DNS
This adds --cluster_dns and --cluster_domain flags to kubelet.  If
non-empty, kubelet will set docker --dns and --dns-search flags based on
these.  It uses the cluster DNS and appends the hosts's DNS servers.
Likewise for DNS search domains.

This also adds API support to bypass cluster DNS entirely, needed to
bootstrap DNS.
2014-12-29 09:18:12 -08:00
Vishnu Kannan
6f53f33fda Set oom_score_adj for kubelet and kube-proxy to a low value to help them survive system memory pressure. 2014-12-24 00:34:28 +00:00
Daniel Smith
5b8e91595a Make pod listing costant-time
* move ip cache out of registry/pod
* combine, rationalize, and move pod status logic
* Fix unit and integration tests
2014-12-22 14:14:03 -08:00
Zach Loafman
57e1450ca7 Up cmd/e2e timeout
Attempt to fix https://github.com/GoogleCloudPlatform/kubernetes/issues/3053
2014-12-21 06:16:32 -08:00
Max Forbes
c3efef86d0 Add GKE as a provider. 2014-12-19 11:47:06 -08:00
bgrant0607
19f0b8b807 Merge pull request #2825 from mikedanese/scheduler-factory-plugins
Scheduler plugin configuration
2014-12-18 07:12:01 -08:00
Mike Danese
4850bdbe63 refactor scheduler factory to use plugin architecture style like credentialprovider and cloudprovider for configuring priority functions and fit predicates 2014-12-17 14:55:28 -08:00
Zach Loafman
d3aed6c9cd Add kubernetes-test.tar.gz
Add test artifacts to the build. This lets you do:

tar -xzf kubernetes.tar.gz
tar -xzf kubernetes-test.tar.gz
cd kubernetes
go run ./hack/e2e.go -up -test -down

without having a git checkout.
2014-12-17 14:30:30 -08:00
Daniel Smith
0fd1ed2ba9 Merge pull request #2720 from brendandburns/tap
Add support for TAP (test anything protocol) output
2014-12-15 18:29:04 -08:00
bgrant0607
f621a05d74 Merge pull request #2945 from smarterclayton/support_optional_swagger
Make Swagger API support optional, so that consumers can define their own
2014-12-15 16:13:13 -08:00
Daniel Smith
f1f20f820a Merge pull request #2942 from brendandburns/kubelet
revert the revert along with fixes to make it pass e2e tests.
2014-12-15 13:17:52 -08:00
Clayton Coleman
cd4135666e Make Swagger API support optional, so that consumers can define their own
OpenShift would like to also enable swagger, but we need to register our
services as swagger services prior to the SwaggerAPI being started. I've
added a bool (default false) to master.Config to enable swagger, and split
the method in master out so that a downstream consumer can call it.
2014-12-15 15:29:55 -05:00
James DeFelice
e27b8f0df7 proxy should fail fast if proxier is nil, rather than panic later 2014-12-15 12:56:35 -05:00
Brendan Burns
a6f967b6e7 Revert "Revert "Add an api object for the kubelet, and a versioned endpoint.""
This reverts commit dcfcf315e5.
2014-12-15 09:29:04 -08:00
Brendan Burns
dcfcf315e5 Revert "Add an api object for the kubelet, and a versioned endpoint."
This reverts commit d4b9979382.
2014-12-12 21:13:44 -08:00
Brendan Burns
d4b9979382 Add an api object for the kubelet, and a versioned endpoint. 2014-12-12 15:26:28 -08:00
Brendan Burns
21d3662c2d Add support for TAP (test anything protocol) output 2014-12-12 11:56:13 -08:00
Joe Beda
b7705d25c8 Merge pull request #2827 from liggitt/tlsv1
Bump minimum TLS version from SSLv3 to TLSv1.0
2014-12-10 13:15:29 -08:00
Clayton Coleman
9030759df8 Add 'nodes' everywhere 'minions' can be used in api / cli 2014-12-10 12:08:18 -05:00
Clayton Coleman
19379b5a38 Internal rename api.Minion -> api.Node 2014-12-10 12:08:18 -05:00
Jordan Liggitt
2475123d3c Bump minimum TLS version from SSLv3 to TLSv1.0 2014-12-10 09:13:15 -05:00
Brendan Burns
953fa540ee Merge pull request #2505 from abhgupta/abhgupta-dev
Scheduler changes for extensibility
2014-12-09 15:25:37 -08:00
Brendan Burns
91865f3576 Merge pull request #2536 from lavalamp/verifyNetwork
Verify network
2014-12-09 15:24:32 -08:00
Brendan Burns
4985f58eb5 Merge pull request #2759 from mikedanese/configure-cadvisor-port
make cadvisor port configurable on the kubelet
2014-12-09 15:21:35 -08:00
Brendan Burns
9a7f4469c1 Merge pull request #2793 from liggitt/tls_auth
x509 request authenticator
2014-12-09 15:17:39 -08:00
Daniel Smith
9c3f6a402d add network test to e2e.go 2014-12-09 13:10:59 -08:00
Brendan Burns
18cfac0d31 Make validation optional, handle YAML 2014-12-09 12:37:49 -08:00
Brendan Burns
c29f5db81c Revert "Revert "Add optional validation to kubecfg/kubectl.""
This reverts commit 6590c66dd4.
2014-12-09 12:37:48 -08:00
Jordan Liggitt
09ba404fb7 x509 request authenticator 2014-12-09 09:34:16 -05:00
Abhishek Gupta
6b712cc700 Scheduler changes for extensibility 2014-12-08 14:47:05 -08:00
Mike Danese
722abf1a95 - make cadvisor port configurable on the kubelet.
- added cadvisor port documentation.
2014-12-06 09:48:08 -08:00
Daniel Smith
24a1497d5c reenable update test 2014-12-04 15:13:11 -08:00
Daniel Smith
7d9a721852 Merge pull request #2736 from erictune/register_race
Fix race that drops the first event on restart.
2014-12-02 22:57:55 -08:00
Eric Tune
0c2a4302f5 Fix race that drops the first event on restart.
RegisterHandlers was called after the listening for events had already begun.
So, there was a race where sometimes the first update would, with the
initial state, would notify an empty list of listeners.
This showed up in services.sh e2e test as empty service and endpoint maps
after the test step which restarts the kube-proxy.

Perhaps due to timing, this doesn't show up with etcd source, but does
show up with apiserver as a source.  A separate PR makes APIserver
the source as a default, and depends on this.

This took me several days to debug.
2014-12-02 22:04:45 -08:00
Daniel Smith
c3f03e556f Merge pull request #2704 from brendandburns/e2e
e2e for "important URLs"
2014-12-02 17:53:46 -08:00
Brendan Burns
bf9d4a483d Merge pull request #2717 from erictune/event_e2e_flake
Fix e2e failure of events test.
2014-12-02 11:33:48 -08:00
Eric Tune
a7718054a8 Fix e2e failure of events test. 2014-12-02 11:20:23 -08:00
Brendan Burns
d43343db5e Add a test for important URLs on the apiserver. 2014-12-02 11:08:31 -08:00
Daniel Smith
d927031aec Merge pull request #2705 from brendandburns/fix
Fix a logic error in the events e2e test.
2014-12-02 10:49:26 -08:00
Brendan Burns
92e8ebcb55 Fix a logic error in the events e2e test. 2014-12-01 22:40:00 -08:00
Brendan Burns
993ef88eec Merge pull request #2689 from brendandburns/standalone
Refactor kubelet, standalone k8s and integration test to all use the same code.
2014-12-01 21:53:41 -08:00
Brendan Burns
203e76020e Add a test for important URLs. 2014-12-01 15:54:30 -08:00
Brendan Burns
d47b510104 Refactor kubelet, standalone k8s and integration test to all use the same code. 2014-12-01 15:37:21 -08:00
deads2k
2dbfb80349 add utility for binding flags and building api server clients 2014-11-26 07:50:51 -05:00
Joe Beda
6590c66dd4 Revert "Add optional validation to kubecfg/kubectl."
This reverts commit acf6d82800.
2014-11-25 14:45:00 -08:00
Clayton Coleman
a67912f937 Merge pull request #2517 from brendandburns/kubecfg
Add client side validation to kubecfg and kubectl.
2014-11-25 13:46:52 -06:00
Brendan Burns
acf6d82800 Add optional validation to kubecfg/kubectl. 2014-11-24 22:25:22 -08:00
Joe Beda
a25d865f06 Merge pull request #2555 from erictune/cleanup4
Do not use nginx image in e2e test
2014-11-24 08:49:59 -08:00
Brendan Burns
4b2a5cdb11 Merge pull request #2520 from mikedanese/proxy-healthz
add health check to kube-proxy
2014-11-24 08:44:33 -08:00
Brendan Burns
428cbcd799 Merge pull request #2531 from jbeda/32bit-fix
Fix 32bit build
2014-11-24 08:43:43 -08:00
Eric Tune
b67b359a1b Do not use nginx image in e2e test 2014-11-23 09:22:45 -08:00
Mike Danese
5bda95f9fe added healthz check to the proxy with configurable port 2014-11-23 09:07:19 -08:00
Joe Beda
e5b988393d Fix 32bit build 2014-11-21 14:58:17 -08:00
markturansky
8159c8fd25 Refactor PodCondition to PodPhase 2014-11-21 15:28:38 -05:00
Tim Hockin
ea960711ff Clean up error logs.
Use %v for errors, tidy some messages, make error messages start lowe-case
(as per go guidelines).  Just accumulated nits.
2014-11-21 09:45:26 +08:00
Jordan Liggitt
c895331277 Make master take authenticator.Request interface instead of tokenfile 2014-11-19 15:07:51 -05:00
Clayton Coleman
1c524607d8 Merge pull request #2097 from markturansky/v1beta3_podrefactor
Refactor internal API for Pods to match v1beta3
2014-11-18 15:28:58 -05:00
Eric Tune
057d78e471 Treat unset KUBERNETES_PROVIDER as gce.
Should fix jenkins failure.
2014-11-18 10:13:45 -08:00
markturansky
8af4ccb111 v1beta3 Pod refactor 2014-11-18 09:25:42 -05:00
Eric Tune
4dbdfd7935 Only test events on GCE. 2014-11-18 00:23:41 -08:00
Eric Tune
46dcacfa93 Kubelet talks securely to apiserver.
Configure apiserver to serve Securely on port 6443.
Generate token for kubelets during master VM startup.
Put token into file apiserver can get and another file the kubelets can get.
Added e2e test.
2014-11-18 00:23:41 -08:00
Brendan Burns
cea52d7e4f Merge pull request #2409 from mattmoor/master
Implements a credentialprovider library for use by DockerPuller.
2014-11-17 21:53:25 -08:00
Matt Moore
0c5d9ed0d2 Implements a credentialprovider library for use by DockerPuller.
This change refactors the way Kubelet's DockerPuller handles the docker config credentials to utilize a new credentialprovider library.

The credentialprovider library is based on several of the files from the Kubelet's dockertools directory, but supports a new pluggable model for retrieving a .dockercfg-compatible JSON blob with credentials.

With this change, the Kubelet will lazily ask for the docker config from a set of DockerConfigProvider extensions each time it needs a credential.

This change provides common implementations of DockerConfigProvider for:
 - "Default": load .dockercfg from disk
 - "Caching": wraps another provider in a cache that expires after a pre-specified lifetime.

GCP-only:
 - "google-dockercfg": reads a .dockercfg from a GCE instance's metadata
 - "google-dockercfg-url": reads a .dockercfg from a URL specified in a GCE instance's metadata.
 - "google-container-registry": reads an access token from GCE metadata into a password field.
2014-11-17 21:46:54 -08:00
Joe Beda
66d287f7e4 Merge branch 'rename-to-kube' of https://github.com/eparis/kubernetes into eparis-rename-to-kube
* 'rename-to-kube' of https://github.com/eparis/kubernetes:
  rename kube server binaries to kube-

Conflicts:
	docs/salt.md
2014-11-17 09:52:10 -08:00
Victor Marmol
6908c9ca4a Merge pull request #2407 from eparis/cadvisor-0.5.0
Cadvisor 0.5.0
2014-11-17 08:53:36 -08:00
Eric Paris
630acf221c alias cadvisor/client to cadvisor
cadvisor 0.5.0 changes the package from cadvisor to client.  Which of
course conflicts with our own client.  Alias it back to cadvisor.
2014-11-16 21:44:34 -05:00
Daniel Smith
c412540cf2 Remove confusing function; add TODO and explanation for (nonfatal) error message in integration test. 2014-11-14 17:16:05 -08:00
Eric Tune
c770e70495 Factor to function. 2014-11-14 14:09:51 -08:00
Eric Tune
6430250ce8 Send events from kubelet.
Accept argument specifying file with kubernetes_auth file.
Make an api client in kubelet.
Send events to apiserver.
2014-11-14 13:37:20 -08:00
Clayton Coleman
c95b8694d6 Merge pull request #2340 from erictune/refactor_kube_auth
Refactor kube auth
2014-11-14 14:10:53 -05:00
Eric Tune
0727219c83 New package defines .kubernetes_auth format.
Refactored common code to that package.
Subsequent PRs will load and emit these files.
2014-11-14 10:36:25 -08:00
Brendan Burns
c2485a4056 Merge pull request #2147 from justinsb/ipv6
Initial ipv6 / iptables work
2014-11-14 10:34:37 -08:00
Daniel Smith
7df0f6d3bd Merge pull request #2343 from erictune/tokens_need_private_comms
Use https when Insecure is selected.
2014-11-14 09:51:59 -08:00
Eric Tune
5c24855349 Rename Secure -> TLS; we may use TLS insecurely. 2014-11-13 21:42:36 -08:00
Eric Paris
a99c3c7963 rename kube server binaries to kube-
apiserver becomes kube-apiserver
controller-manager -> kube-controller-manager
scheduler and proxy similarly.

Only thing I promise is that right now hack/build-go.sh and
build/release.sh exit with 0.  That's it.  Who knows if any of this
actually works....
2014-11-13 20:08:26 -05:00
Daniel Smith
1be56fa91b Merge pull request #2279 from brendandburns/integration
Added some etcd retries to try to work around some flakes we see in Travis
2014-11-12 13:51:39 -08:00
Brendan Burns
bcec212c37 Added some etcd retries to try to work around some flakes we see in Travis. 2014-11-12 12:59:19 -08:00
Daniel Smith
0348a67413 Merge pull request #2195 from smarterclayton/prepare_pod_template_v1beta3
Allow an internal pod template reference or object
2014-11-12 10:55:08 -08:00
Clayton Coleman
d97f6cd0d8 Integration test was not decoding using api.Scheme 2014-11-11 17:03:20 -05:00
Clayton Coleman
94c873e7a4 Remaining refactor for PodTemplateSpec and fixing test cases 2014-11-11 17:03:20 -05:00
Brendan Burns
ffcdb9dfb7 Fix build on 32 bit processors. 2014-11-11 09:51:45 -08:00
Dawn Chen
30fcf24131 Merge pull request #2121 from brendandburns/standalone
Create a standalone k8s binary, capable of running a full cluster
2014-11-10 22:04:28 -08:00
Daniel Smith
c67083572b Merge pull request #2268 from erictune/kubelet_local_log_event
Locally log kubelet events
2014-11-10 15:57:07 -08:00
Daniel Smith
626eb2700e Merge pull request #2261 from erictune/aux_port
Add a third port which has HTTPS and auth(n,z)
2014-11-10 15:31:49 -08:00
Eric Tune
53f9d42ed3 Add a third port which has HTTPS and auth(n,z)
It is disabled by default.
Document all the various and sundry (3) ports.
2014-11-10 15:16:46 -08:00
Eric Tune
c5d1782c00 Add local logging of kubelet events. 2014-11-10 13:57:13 -08:00
Eric Tune
08c8f2cde1 Record event of kubelet restart re: minion obj. 2014-11-10 13:46:48 -08:00
Brendan Burns
2c1221864d Make a standalone binary. 2014-11-10 13:34:11 -08:00
Daniel Smith
66d62229f6 Fix kubecfg -template to be versioned 2014-11-07 16:47:21 -08:00
Eric Tune
c068b56919 Return InsecureHandler from master.
Subsequent changes will make use of both
m.Handler and m.InsecureHandler for different ports.
2014-11-06 09:11:31 -08:00
Eric Tune
6e81e8c896 Basic ACL file.
Added function to read basic ACL from a CSV file.
Added implementation of Authorize based on that file's policies.
Added docs on authentication and authorization.
Added example file and tested it.
2014-11-05 16:06:22 -08:00
Daniel Smith
c163535563 Allow (delayed) apiserver starting when network interface isn't available immediately. 2014-11-05 12:07:33 -08:00
bgrant0607
fc0dab630c Merge pull request #2086 from markturansky/v1beta3_refactor
Refactor internal API for Services to match v1beta3
2014-11-04 21:48:02 -08:00
Daniel Smith
e4dcd4a131 Merge pull request #2122 from erictune/moar_attribs
Moar authorization attributes
2014-11-04 13:17:47 -08:00
markturansky
bd7643c033 refactor services to v1beta3 2014-11-04 14:23:53 -05:00
Clayton Coleman
09cfa364c5 Refactor Get and Describe to allow extension of types
Get should use ResourceMapper, allow Printer to be abstracted,
and extract Describe as *Describer types.
2014-11-04 10:44:56 -05:00
Eric Tune
1668c6f107 Authorization based on namespace, kind, readonly.
Also, pass Authorizer into master.Config.
2014-11-03 17:45:15 -08:00
Justin SB
9a053a4b59 Initial ipv6 / iptables work 2014-11-03 15:23:04 -08:00
Erik St. Martin
f75f2bbc0f Fixes #1612 kubelet should fail to start if it cannot create rootDir 2014-11-03 14:44:46 -05:00
bgrant0607
2ab2911856 Merge pull request #2083 from lavalamp/eventing2
Add events to kubecfg's list of resource types
2014-10-31 13:40:58 -07:00
Eric Tune
55c2d6bbbb Add basic Authorization.
Added basic interface for authorizer implementations.
Added default "authorize everything" and "authorize nothing
implementations.
Added authorization check immediately after authentication check.
Added an integration test of authorization at the HTTP level of
abstraction.
2014-10-31 12:04:33 -07:00
Brendan Burns
893291d81d Merge pull request #1997 from ddysher/split-master
Separate minion controller from master.
2014-10-31 11:23:58 -07:00
Brendan Burns
c6df93d76e Merge pull request #2082 from lavalamp/fix
Fix self linking of objects returned in lists.
2014-10-30 21:43:31 -07:00
Deyuan Deng
019b7fc74c Separate minion controller from master. 2014-10-30 20:24:15 -04:00
Clayton Coleman
41f0929384 Merge pull request #2044 from erictune/fix_mux
Allocate mux in master.New()
2014-10-30 20:15:57 -04:00
Daniel Smith
b6dd5d4cff Add events to kubecfg's list of resource types (kubectl appears to be correct already) 2014-10-30 15:34:01 -07:00
Daniel Smith
b28234fac6 Fix self linking of objects returned in lists. 2014-10-30 15:04:11 -07:00
Clayton Coleman
2c10dd85c3 Merge pull request #2047 from smarterclayton/make_request_testable
Make client.Request/RESTClient more testable and fakeable
2014-10-29 19:33:36 -04:00
Eric Tune
9713b58caa Allocate mux in master.New()
Callsites no longer allocate a mux.
Master now exposes method to install handlers
which use the master's auth code.  Not used
but forks (openshift) are expected to use these
methods.  These methods will later be a point
for additional plug-in functionality.
Integration tests now use the master-provided
handler which has auth, rather than using the mux,
which didn't.  Fix TestWhoAmI now that /_whoami
sits behind auth.
2014-10-29 14:31:07 -07:00
Daniel Smith
070c6c0440 Fix missing portalNets in tests once and for all by adding a default. 2014-10-29 12:27:35 -07:00
Daniel Smith
a036ebc1be Switch models. No master election. 2014-10-29 11:38:45 -07:00
Daniel Smith
35bd8d4a11 Add e2e and integration tests. 2014-10-29 11:29:57 -07:00
Daniel Smith
7146ec9d49 Implement kubernetes & kubernetes-ro services 2014-10-29 11:29:28 -07:00
Clayton Coleman
71fecef6f6 Add test coverage and fix a few minor problems 2014-10-29 14:08:37 -04:00
Daniel Smith
dca7363459 Serve API version list, test with an integration test. 2014-10-28 17:35:56 -07:00
Brendan Burns
51bf451932 Add container garbage collection. 2014-10-28 12:52:06 -07:00
bgrant0607
ddea4ff709 Merge pull request #1977 from lavalamp/fix4
Start running e2e go tests. Disable broken test.
2014-10-27 16:27:11 -07:00
Eric Tune
245585f364 Move handler setup: cmd/apiserver -> pkg/master
Moved CORS handler setup and authorizer setup.
Will allow for integration test of authorization.
2014-10-27 11:43:12 -07:00
Eric Tune
40a5ca034d Integration test on master, not just apiserver.
Moved code from cmd/apiserver to pkg/master.

test/integration/client_test made to use a master object,
instead of an apiserver.Handle.

Subsequent PRs will move more handler-installation into
pkg/master, with the goal that every http.Handler of a
standalone apiserver process can also be tested
in a "testing"-style go test.

In particular, a subsequent PR will test
authorization.
2014-10-27 09:14:58 -07:00
derekwaynecarr
ce30b2657a Fix integration tests 2014-10-24 11:49:04 -04:00
derekwaynecarr
580cb5ea4f Rework client.Interface 2014-10-24 11:47:30 -04:00
Clayton Coleman
644eb70085 Refactor tests to split ObjectMeta from TypeMeta 2014-10-24 11:22:21 -04:00
Daniel Smith
1e249be99d Start running e2e go tests. Disable broken test. 2014-10-23 16:13:46 -07:00
Clayton Coleman
3df1c2f29d Use meta.Interface and meta.Accessor 2014-10-23 18:01:25 -04:00
Clayton Coleman
1ccb86c760 Rename methods in api/meta to be cleaner 2014-10-22 22:59:12 -04:00
Clayton Coleman
64d98cba73 Move typemeta.go to api/meta/meta.go
Prepares for the meta object to front multiple underlying types
when TypeMeta and ObjectMeta is split in internal and v1beta3, but
combined in v1beta1 and v1beta2
2014-10-22 22:28:06 -04:00
Clayton Coleman
dd8c49fc47 Merge pull request #1746 from hmrm/refactor-kubelet-access
Refactor kubelet access and add SSL
2014-10-22 19:44:43 -04:00
Daniel Smith
6ef6ff5bc5 Merge pull request #1893 from crhym3/fix-1149-req-body
Replace custom ProxyServer (kubecfg/kubectl -proxy) with httputil.ReverseProxy
2014-10-22 15:29:59 -07:00
Haney Maxwell
3160500940 Refactor kubelet access and add SSL 2014-10-22 14:53:59 -07:00
Clayton Coleman
bb77a5d15f Rename ID -> Name 2014-10-22 15:00:26 -04:00
Clayton Coleman
fa4e186e54 Merge pull request #1911 from erictune/token_client
Handle auth files with BearerToken sections.
2014-10-21 14:08:42 -04:00
alex
fb2b15a797 Replace custom proxy with httputil.ReverseProxy for kubecfg/kubectl.
Fixes #1149 - kubecfg proxy "411 Length Required" error on POST/PUT.
2014-10-21 18:52:18 +01:00
Eric Tune
21dae01005 Handle auth files with BearerToken sections. 2014-10-20 17:02:03 -07:00
Tim Hockin
e8686429c4 Merge pull request #1916 from lavalamp/fix
Add read-only, rate limited endpoint
2014-10-20 16:42:46 -07:00
Daniel Smith
9356ed7fe7 Add read-only, rate limited endpoint 2014-10-20 16:32:52 -07:00
Daniel Smith
82bbcee8d9 Move port definitions to their own package 2014-10-20 11:28:12 -07:00
derekwaynecarr
085ca40291 Enforce unique constraint at namespace boundary in etcd, make client and server namespace aware 2014-10-16 13:02:52 -04:00
Tim Hockin
e907011111 Core support for ip-per-service 2014-10-16 08:36:47 -07:00
Eric Tune
6f577aa321 Merge pull request #1789 from lavalamp/eventing4
Add event creation library and implement in scheduler.
2014-10-15 15:55:26 -07:00
Sam Ghods
4b220f8b0a kubectl: kubecfg rewrite for better modularity and improved UX 2014-10-15 15:29:54 -07:00
Daniel Smith
595d4b4abd Merge pull request #1676 from anguslees/openstack-provider
Add OpenStack cloud provider
2014-10-15 12:05:33 -07:00
Daniel Smith
d4c750a878 Fix vet-go.sh and some things it complained about 2014-10-15 11:56:19 -07:00
Daniel Smith
68a784439b Add event listing and printing to kubecfg 2014-10-15 11:42:06 -07:00
Angus Lees
a8ab55b413 Add skeleton for new OpenStack cloud provider 2014-10-15 13:52:12 +11:00
Brendan Burns
8d38f8890e Add an e2e test in go. Also adjust validation logic a little to make it more reasonable.
Not integrated into existing e2e yet.
2014-10-14 16:43:00 -07:00
Tim Hockin
6820e068f1 Merge pull request #1700 from lavalamp/eventing2
Add Event Registry/REST types
2014-10-13 16:16:29 -07:00
Daniel Smith
8007614085 Remove untested and unused code 2014-10-13 16:06:44 -07:00
Daniel Smith
0431f2430d Use cache for minion lookups, don't hammer apiserver 2014-10-13 14:46:31 -07:00
Daniel Smith
15680731f7 Add event endpoint to apiserver 2014-10-10 15:47:34 -07:00
Daniel Smith
a292d8c416 Merge pull request #1667 from hmrm/add-kubelet-disable-flags
Allow disabling non-necessary kubelet and apiserver endpoints
2014-10-10 13:38:11 -07:00
derekwaynecarr
9e60bf1e43 Pod cache needs to be namespace-aware 2014-10-10 09:35:31 -04:00
Haney Maxwell
c0bf974871 Allow disabling non-necessary kubelet and apiserver endpoints 2014-10-09 16:49:27 -07:00
Brendan Burns
227311a05d Add URL opening to kubecfg. 2014-10-09 12:26:24 -07:00
Daniel Smith
1fc92bef53 Load cadvisor connection in background. 2014-10-08 17:06:41 -07:00
Daniel Smith
5d24820dd5 Merge pull request #1464 from hmrm/add-etcd-config
Allow etcd config file to be passed to apiserver, kubelet, and proxy
2014-10-08 16:29:46 -07:00
Clayton Coleman
82bcdd3b3b Make ResourceVersion a string internally instead of uint64
Allows us to define different watch versioning regimes in the future
as well as to encode information with the resource version.

This changes /watch/resources?resourceVersion=3 to start the watch at
4 instead of 3, which means clients can read a resource version and
then send it back to the server. Clients should no longer do math on
resource versions.
2014-10-07 19:00:26 -04:00
Haney Maxwell
4d87159eda Allow etcd config file to be passed to apiserver, kubelet, and proxy 2014-10-07 14:25:54 -07:00
Daniel Smith
cf203f1304 Fix build error in integration test 2014-10-07 13:10:58 -07:00
erictune
5503e95c1d Merge pull request #1529 from smarterclayton/add_auth_interfaces
Add simple Bearer authenticator filter for Kube
2014-10-07 11:23:41 -07:00
Clayton Coleman
897c59a713 Merge pull request #1598 from brendandburns/nginx
Add UX documentation, link into the apiserver, add a missing file.
2014-10-07 14:06:20 -04:00
Clayton Coleman
c8ef4b8230 Add simple Bearer authenticator filter for Kube
* Default file based implementation
* Define some simple interfaces
* Add -token_auth_file to apiserver that will start the apiserver
  with a request filter for tokens
2014-10-07 13:25:12 -04:00
Brendan Burns
414473607a Update the UX, add documentation. 2014-10-07 09:49:49 -07:00
Clayton Coleman
d3e51a0f24 Rename JSONBase -> TypeMeta in preparation for v1beta3
Will make subsequent refactor much easier
2014-10-07 11:12:16 -04:00
Tim Hockin
eb24c997e4 Merge pull request #1606 from lavalamp/fix
Try to fix flakiness by increasing timeouts
2014-10-06 17:22:51 -07:00
Daniel Smith
a744623948 Try to fix flakiness by increasing timeouts, because that is always the best way to perform such a fix. 2014-10-06 17:14:34 -07:00
Brendan Burns
ab6065944c Merge pull request #1584 from thockin/net
Flag-compatible IP type
2014-10-06 13:35:48 -07:00
Daniel Smith
cc086908aa Merge pull request #1578 from brendandburns/controller
Extract the service controller from the apiserver.
2014-10-06 12:44:41 -07:00
Tim Hockin
0ad0a247c4 Flag-compatible IP type 2014-10-06 11:29:22 -07:00
Johan Euphrosine
f91162cf78 kubelet: add --runonce flag, exits after starting pod from the manifest 2014-10-03 18:02:30 -07:00
Deyuan Deng
a9e7cf8e40 Fix integration test read volume dir error. 2014-10-03 19:51:07 -04:00
Brendan Burns
e6991d0a66 Extract the service controller from the apiserver, put it in the controller manager for now. 2014-10-03 15:27:22 -07:00
Brendan Burns
1551b48347 Add a resource fit scheduler predicate. Set sensible defaults. 2014-10-03 15:09:59 -07:00
Brendan Burns
f00fd8d2e3 Add an integration test for services. 2014-10-02 21:07:06 -07:00
Tim Hockin
f7db0bc674 Merge pull request #1546 from smarterclayton/allow_configurable_net_image
Allow configurable Kubelet net image for isolated networks
2014-10-02 17:11:32 -07:00
Clayton Coleman
6881db64a9 Allow configurable Kubelet net image for isolated networks
Public access to the DockerHub is not guaranteed in all environments,
add a flag to the kubelet that allows it to use a different image (like
one on a private registry) as well as only pull the first time the
image is needed.

Fixes #1545
2014-10-02 15:56:03 -04:00
erictune
0a2e208e8f Merge pull request #1538 from smarterclayton/allow_skip_tls_verify
Allow clients to skip TLS verification
2014-10-02 11:49:40 -07:00
derekwaynecarr
0a290506c2 Fix integration tests 2014-10-02 12:56:42 -04:00
derekwaynecarr
fc67d822c6 Add context as parameter to client interface functions 2014-10-02 12:51:36 -04:00
Clayton Coleman
7af3c7d75e Allow clients to skip TLS verification
Adds -skip_tls_verify to any API server client. Also store in auth
2014-10-02 12:08:58 -04:00
Brendan Burns
c3d2517371 Re-add the ability to load certs from the config file. 2014-10-01 17:10:07 -07:00
Clayton Coleman
ff2eca97d9 Refactor the client (again) to better support auth
* Allows consumers to provide their own transports for common cases.
* Supports KUBE_API_VERSION on test cases for controlling which
  api version they test against
* Provides a common flag registration method for CLIs that need
  to connect to an API server (to avoid duplicating flags)
* Ensures errors are properly returned by the server
* Add a Context field to client.Config
2014-10-01 15:23:37 -04:00
derekwaynecarr
de1f94cbc7 Fix integration test 2014-09-30 14:31:17 -04:00
derekwaynecarr
b7b1193919 Add context object to kubecfg/client 2014-09-30 14:27:19 -04:00
Dawn Chen
a208fbfcf4 Merge pull request #1476 from brendandburns/print
Add the ability to print objects that are parsed in, without sending them anywhere.
2014-09-29 09:12:53 -07:00
Tim Hockin
1c02af3d16 Kill LivenessProbe.Type 2014-09-27 21:16:30 -07:00
Brendan Burns
8f1643bc0c Add the ability to print objects that are parsed in, without sending them anywhere. 2014-09-26 20:35:12 -07:00
Brendan Burns
3ac706a32e Add a rate limiter, use it to rate limit docker pulls. 2014-09-26 11:55:21 -07:00
Daniel Smith
bb0cd95a83 fix non-gofmt'd things 2014-09-24 14:27:10 -07:00
Tim Hockin
8b6de5af83 Merge pull request #1390 from smarterclayton/allow_stdin
Allow STDIN to kubecfg via `-c -`.
2014-09-22 16:49:55 -07:00
Clayton Coleman
b9028753b0 Merge pull request #1387 from lavalamp/fix4
Don't pass empty labels (looks weird to POST with a label set)
2014-09-22 16:41:01 -04:00
Clayton Coleman
de9dc08e55 Allow STDIN to kubecfg via -c -.
Follows the `tar xvf -` convention (because all the other conventions
are crazier?)
2014-09-20 18:40:00 -04:00
Daniel Smith
4aecdce258 Don't pass empty labels (looks weird to POST with a label set) 2014-09-19 16:04:55 -07:00
Brendan Burns
8dff6f12d7 Add authenticated TLS support to the client. 2014-09-19 15:43:23 -07:00
Clayton Coleman
5483333e29 Allow server and client to take api version as argument
* Defaults to v1beta1
* apiserver takes -storage_version which controls etcd storage version
  and the version of the client used to connect to other apiservers
* Changed signature of client.New to add version parameter
* All controller code and component code prefers the oldest (most common)
  server version
2014-09-18 23:27:28 -04:00
Clayton Coleman
ca5355908f Expose v1beta2 API group 2014-09-18 23:24:05 -04:00
Brendan Burns
dc5a4a8c3f Refactor to clean up names. 2014-09-16 15:19:02 -07:00
erictune
506f51b186 Merge pull request #1330 from brendandburns/privilege
Only allow privileged containers if API server flag set.  Adds capabilities package.
2014-09-16 15:12:26 -07:00
Clayton Coleman
61e3ce7ddc Make runtime less global for Codec
* Make Codec separate from Scheme
* Move EncodeOrDie off Scheme to take a Codec
* Make Copy work without a Codec
* Create a "latest" package that imports all versions and
  sets global defaults for "most recent encoding"
  * v1beta1 is the current "latest", v1beta2 exists
  * Kill DefaultCodec, replace it with "latest.Codec"
  * This updates the client and etcd to store the latest known version
* EmbeddedObject is per schema and per package now
* Move runtime.DefaultScheme to api.Scheme
* Split out WatchEvent since it's not an API object today, treat it
like a special object in api
* Kill DefaultResourceVersioner, instead place it on "latest" (as the
  package that understands all packages)
* Move objDiff to runtime.ObjectDiff
2014-09-16 16:26:43 -04:00
Clayton Coleman
fe614aeda2 Simple refactor for ease of readability
runtime.DefaultCodec -> latest.Codec
2014-09-16 16:12:35 -04:00
Brendan Burns
5b9e2a55b5 Add a flag to reject privileged containers in the apiserver. 2014-09-16 11:22:32 -07:00
Kelsey Hightower
9cd0fc70f1 apiserver does not require a cloud provider or machine list
Currently the apiserver will not start unless a machine list or a
valid cloud provider is specified. This prevents a workflow that
manages machines solely through the minions API.

Fix the issue by changing the apiserver to only log a message that
the apiserver is being started with an empty machine list.

This patch results in a change in behavior. The apiserver will no
longer exit non-zero if a cloud provider or machine list is not
configured.
2014-09-15 11:13:17 -07:00
Clayton Coleman
24b5b7e8d3 Merge pull request #1296 from brendandburns/healthz
Add healthz handlers to the controller manager and scheduler
2014-09-15 11:28:02 -04:00
Brendan Burns
99f7a4f25d Add healthz handlers to the controller manager and scheduler 2014-09-12 21:13:33 -07:00
Daniel Smith
6eeb967d3d Merge pull request #1229 from ragnard/aws-provider
Initial impl. of cloud provider for AWS
2014-09-12 15:16:47 -07:00
Daniel Smith
1853c66ddf Merge pull request #1298 from jwforres/cors_fixup
Remove unused enable_cors flag and allow localhost without a port as an ...
2014-09-12 10:51:25 -07:00
Jessica Forrester
2dc30aa932 Remove unused enable_cors flag and allow localhost without a port as an origin in local-up-cluster 2014-09-12 13:01:32 -04:00
Brendan Burns
46d0cbd645 Add a global flag to enable/disable privileged containers 2014-09-12 09:56:45 -07:00
Tim Hockin
bc9a290241 Merge pull request #1218 from bcwaldon/docker-auth
Authenticated docker pulls, pt. I
2014-09-11 22:53:36 -07:00
Ragnar Dahlén
b548465adf Initial impl. of cloud provider interface for AWS 2014-09-11 22:28:56 +01:00
Daniel Smith
6757b402d5 Merge pull request #1133 from jwforres/enable_cors
Add option to enable a simple CORS implementation for the api server
2014-09-11 13:59:14 -07:00
Brian Waldon
0bf4fabc19 kubelet: move docker-related code into sub-package 2014-09-11 13:12:28 -07:00
Daniel Smith
b5c6edcd79 Merge pull request #1189 from simon3z/ovirt-cloud
Add support for oVirt cloud provider
2014-09-11 09:50:31 -07:00
Federico Simoncelli
320fd528e2 Add support for oVirt cloud provider
This patch adds the initial support for the oVirt cloud provider.

Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2014-09-11 13:08:46 +00:00
brendandburns
4f8536dd80 Merge pull request #1211 from derekwaynecarr/kubecfg_improve_c_option
Add support to fetch config file from network
2014-09-10 13:06:03 -07:00
Filipe Brandenburger
b849d65b32 Uniformize handling of -server_version flag of kubecfg to match -version.
In particular, add support for -server_version=raw and use matching
format for the output of -version and -server_version.

The "normal" format is essentially defined by (version.Info) String()
method, so future updates to that method will be reflected on both.

Full version information is still available by using the "raw" flag.

Tested:
- Used cluster/kubecfg.sh to query local build and the server.

    $ cluster/kubecfg.sh -version
    Kubernetes version 0.2+, build 9316edfc0d2b28923fbb6eafa38458350859f926
    $ cluster/kubecfg.sh -server_version
    Server: Kubernetes version 0.2, build a0abb38157
    $ cluster/kubecfg.sh -version=raw
    version.Info{Major:"0", Minor:"2+", GitVersion:"v0.2-25-g9316edfc0d2b28", GitCommit:"9316edfc0d2b28923fbb6eafa38458350859f926", GitTreeState:"clean"}
    $ cluster/kubecfg.sh -server_version=raw
    version.Info{Major:"0", Minor:"2", GitVersion:"v0.2", GitCommit:"a0abb3815755d6a77eed2d07bb0aa7d255e4e769", GitTreeState:"clean"}

Fixes: #1092

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
2014-09-09 15:25:41 -07:00
derekwaynecarr
35a50a94da Add support to fetch config file from network 2014-09-09 17:50:38 -04:00
Jessica Forrester
0cac1c5f79 Switch LogOf from panicking when logger is missing to creating logger with the defaults.
Update CORS tests to a table-based test and cover more cases.
2014-09-09 17:50:18 -04:00
Jessica Forrester
becf6ca4e7 Move RecoverPanics to be the top level wrapped handler. Add new method to be sure a logger has been generated instead of assuming one has. Move regexp list compilation into a utility and pass regexp list into CORS. 2014-09-09 17:50:18 -04:00
Jessica Forrester
8b4ca9c2a7 Move CORS handler wrapping into cmd/apiserver and switch config flag to a list of allowed origins 2014-09-09 17:50:18 -04:00
Jessica Forrester
8723eece49 Add option to enable a simple CORS implementation for the api server 2014-09-09 17:50:18 -04:00
csrwng
6551f4e0f0 Use codec to encode/decode api objects in client and kubecfg parser 2014-09-09 08:45:53 -04:00
Brian Ketelsen
83d3da1436 changed address variable to bindAddress. Used net.JoinHostPort() instead of fmt.Sprintf() 2014-09-07 23:50:36 -07:00
Brian Ketelsen
34922226fd allow proxy to accept a listen address. fixes #1220 2014-09-07 23:27:43 -07:00
Federico Simoncelli
6add1993c9 Support configurations for cloudproviders
Cloud providers may need specific configurations to run properly (e.g.
authentication parameters, uri, etc.).

This patch adds the simplest implementation for passing configurations
to cloudproviders: a new apiserver -cloud_config flag to specify the
path to an arbitrary configuration file.

Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2014-09-08 21:46:53 +00:00
Daniel Smith
fc09f988b4 Make tests pass again 2014-09-07 22:26:42 -07:00
Daniel Smith
1c2b65788d Rename Codec and ResourceVersioner to add Default in front, to allow for types of those names 2014-09-07 22:19:24 -07:00
Joe Beda
e5fe8270a1 Improve 'Usage' for kubecfg 2014-09-04 13:25:39 -07:00
Joe Beda
f8e2f927f6 Pretty up the demo a little.
Use images and some better formatting.  Also add scripts to help prevent typos.

This based on an improved version done by Julia Ferraioli.  She came up with the cool images.
2014-09-04 13:25:39 -07:00
Joe Beda
45aaff9993 Add template update to rollingUpdate 2014-09-04 13:25:38 -07:00
Tim Hockin
8ad98db773 Merge pull request #1121 from filbranden/rawversion2
Add support for -version=raw
2014-09-02 13:53:13 -07:00
Daniel Smith
a63966e73c Combine pkg/apitools and pkg/api/common and call the result pkg/runtime 2014-09-02 11:15:44 -07:00
Daniel Smith
099c8fd36f Propagate rename; tests pass again. 2014-09-02 10:42:06 -07:00
Filipe Brandenburger
1d8067450c Rename pkg/version/flag to pkg/version/verflag
This avoids some conflict with the built-in `flag` module in Go. The
module was already being renamed to `verflag` on import anyways, so we
might as well just call it that.

Tested:
- hack/build-go.sh and ran the resulting binaries with -version args.

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
2014-08-29 23:19:32 -07:00
Clayton Coleman
818f357128 Client should validate the incoming host value
Convert host:port and URLs passed to client.New() into the proper
values, and return an error if the value is invalid.  Change CLI
to return an error if -master is invalid.  Remove Client.rawRequest
which was not in use, and fix the involved tests. Add NewOrDie

Preserves the behavior of the client to not auth when a non-https
URL is passed (although in the future this should be corrected).
2014-08-28 13:47:36 -04:00
Clayton Coleman
e840062c65 Delete all keys prior to running integration test 2014-08-28 09:58:39 -04:00
Joe Beda
2ea2c55d16 Fix e2d tests w/ http prefix in kube client init 2014-08-27 16:53:57 -07:00
Clayton Coleman
9006eadcfe kube-proxy can read config from the apiserver
All clients that talk to a "master" as a host:port or URL
(scheme://host:port) parameter.  Add tests.
2014-08-27 15:49:01 -04:00
Daniel Smith
0a1dfa366e Make integration test pass. 2014-08-25 11:59:00 -07:00
Clayton Coleman
286c3c543c Improve the wait.Poll GoDoc and api
Add more tests, and switch to timeouts instead of cycles.
Deflake TestPoller
2014-08-23 12:18:03 -04:00
Daniel Smith
025ba881b1 Don't shadow important variables. 2014-08-21 17:55:48 -07:00
brendandburns
8f5dd8cf63 Merge pull request #984 from thockin/make_vs_new
Rename a bunch of "Make" functions to "New"
2014-08-20 22:06:57 -07:00
Tim Hockin
0f97a73c1b Rename a bunch of "Make" functions to "New"
Also rename some to other names that make better reading.  There are still a
bunch of "make" functions but they do things like assemble a string from parts
or build an array of things.  It seemed that "make" there seemed fine.  "New"
is for "constructors".
2014-08-20 21:27:19 -07:00
brendandburns
1bd4ae0c62 Merge pull request #943 from smarterclayton/only_wait_for_acceptance
Clients must wait for completion of actions
2014-08-20 21:01:21 -07:00
Tim Hockin
f7d54390f9 Make cloud providers be plugins 2014-08-20 20:16:41 -07:00
Tim Hockin
eb9f3394c5 Move VagrantCloud into its own pkg 2014-08-20 20:16:41 -07:00
Tim Hockin
b23bef26eb Move GCECloud into its own pkg 2014-08-20 20:16:41 -07:00
Clayton Coleman
493863eb93 Return immediately when controllers/pods are committed
Add client waiting conditions.
2014-08-20 18:46:10 -04:00
Clayton Coleman
34031dbc6a Remove excessive waiting in kubelet etcd loop
Listen to etcd longer, and wait a shorter time before reconnecting.
No longer an argument to the source.
2014-08-20 18:46:10 -04:00
derekwaynecarr
fd8741edf2 Refactor kubelet to use http.ServeMux 2014-08-20 16:08:08 -05:00
csrwng
14714f2638 Allow kubecfg to print custom types 2014-08-20 12:23:02 -04:00
brendandburns
bd53643647 Merge pull request #851 from derekwaynecarr/cloud_provider
Vagrant supports a cloud provider
2014-08-18 18:23:49 -07:00
Tim Hockin
e472752ff9 Merge pull request #875 from brendandburns/exec
Add a in container exec based health check.
2014-08-18 12:19:22 -07:00
Brendan Burns
0caae9c1d4 Add a in container exec based health check. 2014-08-18 12:00:11 -07:00
derekwaynecarr
8df21b84a1 Add vagrant cloudprovider 2014-08-18 14:30:31 -04:00
Clayton Coleman
0df89fee48 Make global http timeout longer than most operations
We have a few long running operations today (sync=true, watch) that
exceed the original default http.Server timeout.  We should set the
timeout to a high enough limit that more granular controls can be
implemented.
2014-08-18 13:32:29 -04:00
Daniel Smith
26e2256178 Remove unused and not completely correct code 2014-08-15 18:20:37 -07:00
csrwng
5538bfca01 Allow kubecfg to parse other types via initialization map 2014-08-14 18:14:12 -04:00
Clayton Coleman
bbf3b55e76 Extract RESTHandler and allow API groupings
Prepare for running multiple API versions on the same HTTP server
by decoupling some of the mechanics of apiserver.  Define a new
APIGroup object which represents a version of the API.
2014-08-13 10:53:34 -04:00
Daniel Smith
85ff1d3e7f Add fake client to make testing easier. 2014-08-08 14:09:13 -07:00
Clayton Coleman
d7f46718a8 Kubelet should have a max think time before auto resync
The sync frequency should be part of the syncLoop and resync no
less often than every X seconds.  The current implementation runs
even if a config update was delivered less than X seconds ago.
2014-08-07 10:40:03 -04:00
Tim Hockin
adc9bb9451 Clarify flags for info server startup
Make a distinct flag to enable/disable the server.  Comment on the address
flag.
2014-08-06 17:28:41 -07:00
Daniel Smith
e75854a1f9 Merge pull request #759 from brendandburns/valid
Add c-identifier validation to service ids.
2014-08-05 12:32:02 -07:00
brendandburns
cc4300c3ec Merge pull request #757 from lavalamp/repCtl
Remove etcd dep from controller manager
2014-08-05 11:47:31 -07:00
Brendan Burns
20a8f03d62 Add dns-952-identifier validation to service ids. 2014-08-05 11:40:48 -07:00
Robert Bailey
8671d69f34 Minor style fixes and keep the test manifest in sync. 2014-08-04 16:14:43 -07:00
Daniel Smith
b430cebe72 Remove etcd dependency from controller manager. 2014-08-04 14:29:49 -07:00
Brendan Burns
1101c00014 Make updates atomic from the client side. 2014-08-01 16:47:25 -07:00
Yuki Yugui Sonoda
331fd0d986 Extract "pkg/version".PrintAndExitIfRequested() to its own package
because it causes a runtime panic if a binary which has its own implementation
of "-version" flag tries to reuse a package library which indirectly depend on
"pkg/version".

e.g. If such an user-defined binary tires to link "pkg/api" or "pkg/client",
the binary fails with a runtime panic "flag redefined: version".
2014-08-01 15:05:27 +09:00
Daniel Smith
928092e79e Etcd watcher verification
To make sure the etcd watcher works, I changed the replication
controller to use watch.Interface. I made apiserver support watches on
controllers, so replicationController can be run only off of the
apiserver. I made sure all the etcd watch testing that used to be in
replicationController is now tested on the new etcd watcher in
pkg/tools/.
2014-07-31 14:54:30 -07:00
Victor Marmol
4de48613e7 Change cAdvisor port to 4194.
This is so it doesn't conflict with the default registry address of
5000.
2014-07-31 13:14:00 -07:00
Yuki Yugui Sonoda
c65ac62cdd Allow omitting -machines flag in apiserver when -cloud_provider and
-minion_regexp are specified because it is eventually overwritten by
-minion_regexp.
2014-07-31 14:38:54 +09:00
Filipe Brandenburger
7e56609139 Handle -version flag on all commands
Tested: Passed -version argument to kubelet (and all other binaries):
  $ output/go/bin/kubecfg -version
  Kubernetes version 0.1, build 6454a541fd56

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
2014-07-30 18:48:56 -07:00
Daniel Smith
3b8488028d Add /version to server and check it in client.
Will help detect client/version skew and prevent e2e test from passing
while running a version other than the one you think it's running.
2014-07-28 15:45:25 -07:00
Daniel Smith
c92e8d38b6 Merge pull request #642 from kelseyhightower/cleanup_master_configs
Add master.Config type and cleanup master configuration
2014-07-28 12:53:31 -07:00
brendandburns
f073cee13b Merge pull request #636 from kelseyhightower/load_auth_info_tests
kubecfg: improve tests around authentication
2014-07-28 10:44:27 -07:00
Kelsey Hightower
1ca199379f kubecfg: improve tests around authentication
This change adds additional test coverage for the kubecfg
command. There is now a test for the case when the auth info
file does not exist. LoadAuthInfo tests have been refactored
to use table testing.
2014-07-26 22:21:17 -07:00
Kelsey Hightower
6d1be5f0ee Add master.Config type and cleanup master configuration
Setting up a new master.Master instance requires passing
around too many arguments.

Add a master.Config type and group related master configs.
Refactor all commands to instantiate new masters using a
master.Config struct.
2014-07-26 22:07:24 -07:00
Kelsey Hightower
7a7dfeb85b integration: Fix multiple response.WriteHeader calls
The current integration tests do not return after delegating
HTTP requests, as a result an extra call to response.WriteHeader
is made for every request.

Fix the issue by returning after delegating HTTP requests.
2014-07-26 16:09:15 -07:00
Brendan Burns
bf5ae4bb9d Fork API types. 2014-07-24 21:47:08 -07:00
Jonathan Boulle
c43035088b assorted formatting and typo fixes 2014-07-24 15:10:36 -07:00
Danny Jones
bfa4642055 Adds a flag to specify root working directory.
--root_dir specifies the directory kubelet will use for it's
procedures. Currently used for volume mounts.
2014-07-24 13:04:05 -07:00
Clayton Coleman
586a9f4356 Restore behavior of trimming / from kubecfg url
Also make the output and validation of input better for kubecfg api calls.
Kubecfg will now display a usage argument if the URL is incorrect or an
unrecognized storage type is passed.
2014-07-23 11:16:41 -04:00
Brendan Burns
cf486a53b6 Change a != to a < to fix kubecfg. 2014-07-22 22:45:17 -07:00
Daniel Smith
ec0f639a21 Merge pull request #551 from erictune/private_kubelet
Private kubelet
2014-07-22 18:58:43 -07:00
Clayton Coleman
fbd7bc375f kubecfg doesn't allow updates because of path checks
Check for 1 path segment on create/list, 2 on update/delete, and
allow any number of path segments on get (for now).

Also pretty prints the list of actual types that are supported for
create/update, which today corresponds to the list of types that
are supported period.
2014-07-22 20:25:06 -04:00
Eric Tune
ded67ead1e Make Kubelet type members private and provide New functions. 2014-07-22 14:40:59 -07:00
Brendan Burns
6c734b1c55 integrate minion health checking and caching. 2014-07-21 21:52:33 -04:00
Clayton Coleman
7767c2a2ac Switch the Kubelet to use kubelet/config
Also transfer the Kubelet from using ContainerManifest.ID to source specific
identifiers with namespacing.  Move goroutine behavior out of kubelet/ and
into integration.go and cmd/kubelet/kubelet.go for better isolation.
2014-07-21 21:27:26 -04:00
Daniel Smith
d02e4d6036 Merge pull request #537 from kelseyhightower/kubecfg_comments
clean up code comments for the kubecfg command
2014-07-20 10:59:45 -07:00
Kelsey Hightower
5e8326bd1d clean up code comments for the kubecfg command
This patch removes unnecessary code comments and improves the comment
for the readConfig function.
2014-07-20 08:36:20 -07:00
Kelsey Hightower
dc7ee7c333 normalize -etcd_servers flag across all commands
The -etcd_servers flag is used inconsistently by the Kubernetes commands,
both externally and internally.

This patch fixes the issue by using the same type to represent a list of
etcd servers internally, and declares the -etcd_servers flag consistently
across all commands.

This patch should be 100% backwards compatible with no changes in behavior.
2014-07-20 07:48:47 -07:00
Tim Hockin
4aa1f04b08 Break out small functions in cmd/kubelet 2014-07-19 22:03:46 -07:00
Daniel Smith
05f01a3654 Revert "assorted formatting and typo fixes" 2014-07-18 17:16:30 -07:00
Daniel Smith
211f6b312f Merge pull request #520 from jonboulle/master
assorted formatting and typo fixes
2014-07-18 17:15:30 -07:00
Brendan Burns
59da62e2a1 Address comments. 2014-07-18 14:27:50 -07:00
Brendan Burns
c6255afe37 Make the service reconciller use the API, not a PodRegistry 2014-07-18 13:54:33 -07:00
Jonathan Boulle
9e63c3a633 assorted formatting and typo fixes 2014-07-18 13:02:59 -07:00
Clayton Coleman
17053f5950 Merge pull request #465 from smarterclayton/simplify_config_for_reuse
Extract proxy/config common functions for reuse
2014-07-16 18:28:07 -04:00
Clayton Coleman
021cf64808 Change proxy config to reuse util/config
Splits endpoint and service configuration into their own objects.  Also makes
the endpoint and service configuration tests correct - there was a race condition
previously that meant tests were passing but not checking correct code.
2014-07-16 14:13:25 -04:00
Yuki Yugui Sonoda
edac5ce0b8 Fixes golint errors in pkg/kubelet 2014-07-15 22:56:31 +09:00
Brendan Burns
b2ef24fb48 Address comments. 2014-07-14 21:39:22 -07:00
Brendan Burns
f7bd5a6f0f Add a template printer to kubecfg. 2014-07-14 21:13:06 -07:00
Brendan Burns
5bf0820580 Fix integration tests. 2014-07-11 14:24:54 -07:00
brendandburns
40c71e8292 Merge pull request #372 from yugui/feature/golint
Fixes Go lint errors.
2014-07-08 12:55:41 -07:00
Tim Hockin
92cf6662ed Merge pull request #351 from discordianfish/use-api-for-pull
Use api for pulling images instead of shelling out
2014-07-08 09:08:12 -07:00
Johannes 'fish' Ziemke
3fa6c9671d Use docker client lib instead of binary for pulls 2014-07-08 12:21:39 +02:00
Yuki Yugui Sonoda
c25f44c137 Fixes golint errors in cmd/. 2014-07-08 16:08:24 +09:00
Brendan Burns
a77248eb6f Add some more logging to better understand integration test timeouts. 2014-07-07 13:57:25 -07:00
Brendan Burns
e3838e1153 Make poll period and timeout configurable.
Make poll period short for integration testing.
2014-07-07 10:13:27 -07:00
Daniel Smith
3b9735d787 Test atomic PUTs, and make them work.
Improve apiserver/logger.go's interface (it's pretty cool now).

Improve apiserver's error reporting to clients.

Improve client's handling of errors from apiserver.

Make failed PUTs return 409 (conflict)-- http status codes are amazingly
well defined for what we're doing!
2014-07-02 15:42:05 -07:00
Daniel Smith
969586a214 Add logging, fix crash
Crash was in kublet_server when fake docker client gives it nil pointer.
2014-07-01 17:38:07 -07:00
Daniel Smith
bf3b34c2e9 Allow master's pod info getter to be faked. Wire up in integration tests in futile attempt to make travis pass. 2014-07-01 17:08:32 -07:00
Daniel Smith
587fb75a7a rearrange RunKubelet's parameters so that address and port are next to each other 2014-07-01 16:47:37 -07:00
Daniel Smith
d523ccb428 Change error printing for easier debugging 2014-07-01 16:41:09 -07:00
Daniel Smith
b820e026f6 Improve logging. 2014-07-01 14:02:14 -07:00
Daniel Smith
50bbf39925 improvements to integration test organization 2014-07-01 14:02:14 -07:00
Brendan Burns
4d6a783e5f Initial add of an environment variable for the kubernetes master. 2014-07-01 10:12:38 -07:00
brendandburns
d53c56dd29 Merge pull request #314 from thockin/valid2
Fix examples to set manifest ID and version
2014-06-30 20:21:32 -07:00
brendandburns
65a62278b1 Merge pull request #286 from lavalamp/exampleEtcd
Separate scheduler from registry
2014-06-30 20:17:07 -07:00
Tim Hockin
9affd6d260 Fix examples to set manifest ID and version
Part 4 in a series of changes towards data validation.
2014-06-30 16:16:06 -07:00
Daniel Smith
011ce9d871 Add crash handler bypass for testing. 2014-06-29 12:35:43 -07:00
Tim Hockin
6c79937a42 Reduce logging noise
Don't use %#v for errors.
Do use %+v when more detail than %v is needed.
Fix typos Kublet -> Kubelet.
2014-06-28 22:16:26 -07:00
Daniel Smith
134f44e3fa Merge pull request #276 from brendandburns/minion
Initial integration of the cloud based minion registry.
2014-06-27 22:56:47 -07:00
Brendan Burns
431fcac8b0 Initial integration of the cloud based minion registry. 2014-06-27 22:49:27 -07:00
Daniel Smith
b21facafb1 Merge pull request #273 from brendandburns/kubelet
Make the docker endpoint a flag.
2014-06-27 17:09:25 -07:00
Brendan Burns
f8060c5b3d Make the docker endpoint a flag. 2014-06-27 17:01:12 -07:00
Daniel Smith
9a0f89170e Fix comments. Add timeout to integration test; don't make travis run for 15 minutes any more. 2014-06-27 15:40:23 -07:00
Brendan Burns
b25f950362 Use etcd compare and swap to update the list of pods, to remove a race. 2014-06-27 11:09:36 -07:00
Justin Huff
253a783365 Remove localkube 2014-06-26 11:52:23 -07:00
Daniel Smith
c97c514742 Rename cloudcfg to kubecfg 2014-06-25 18:01:37 -07:00
Justin Huff
1c32df4aac Fix cloudcfg duplicate flag error 2014-06-24 22:05:27 -07:00
Tim Hockin
9f9e75f508 Switch to glog for logging, bridge logging to glog.
1) imported glog to third_party (previous commit)
2) add support for third_party/update.sh to update just one pkg
3) search-and-replace:
  s/log.Printf/glog.Infof/
  s/log.Print/glog.Info/
  s/log.Fatalf/glog.Fatalf/
  s/log.Fatal/glog.Fatal/
4) convert glog.Info.*, err into glog.Error*

Adds some util interfaces to logging and calls them from each cmd, which
will set the default log output to write to glog.  Pass glog-wrapped
Loggers to etcd for logging.

Log files will go to /tmp - we should probably follow this up with a
default log dir for each cmd.

The glog lib is sort of weak in that it only flushes every 30 seconds, so
we spin up our own flushing goroutine.
2014-06-24 20:51:57 -07:00
Daniel Smith
f7968ce00b Make integration test the manifest url feature. Make kubelet's docker pull command testable. 2014-06-24 16:57:35 -07:00
Daniel Smith
fd66a8b59b Readability fixes & address review comments. 2014-06-24 15:16:21 -07:00
Daniel Smith
6900431b13 Add kubelet testing to integration test. Test that kubelet makes the requested containers. Check that the url manifest feature works. 2014-06-24 15:14:40 -07:00
Daniel Smith
568631e765 Merge pull request #217 from brendandburns/demo
Create a proxy server using cloudcfg.  Useful for demos
2014-06-24 12:01:04 -07:00
Daniel Smith
07a431f713 Fix duplicated path. 2014-06-24 11:51:14 -07:00