Commit Graph

7777 Commits (0797d812220be9b76716d366f13215b94b70bf5d)

Author SHA1 Message Date
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
Brendan Burns 8b50e45dcc Update the proxy server. 2014-06-24 11:25:45 -07:00
Brendan Burns 5756189f0d Added a proxy server to cloudcfg 2014-06-24 11:15:08 -07:00
Daniel Smith 5ce54bb77b Use new method. 2014-06-24 09:38:22 -07:00
Daniel Smith 61a494d303 First step of combination. 2014-06-24 09:38:22 -07:00
Tim Hockin 7218a4d165 Clarify config file code to be clear that it handles directories. ...
… Add a check for IsRegular() before reading a config path.  Add a comment
about exec.Command("hostname", "-f").
2014-06-23 21:14:15 -07:00
brendandburns 974d3f3999 Merge pull request #180 from lavalamp/master
Make minions first class citizens
2014-06-23 19:52:00 -07:00
Daniel Smith 79ee5aa250 Implement minion registry. Minions now a first-class object. 2014-06-23 13:27:52 -07:00
Daniel Smith 6ccd9b2361 Move to new file. Build and tests pass. 2014-06-23 13:24:27 -07:00
Daniel Smith b1d8a41049 Add new api usage mechanism. 2014-06-23 13:24:26 -07:00
brendandburns 49c25a4e28 Merge pull request #196 from lavalamp/marshal
Make api able to marshal its types correctly
2014-06-23 13:22:52 -07:00
Daniel Smith b850d36166 Fix boilerplate everywhere 2014-06-23 11:32:11 -07:00
Daniel Smith 41534c1cc5 Encode/decode working everywhere now. 2014-06-23 09:54:17 -07:00
Justin Huff c9473431fb Localkube wasn't seeding it's random number generator, leading to
conflicting docker container names.
2014-06-21 11:48:16 -07:00
Justin Huff d204f76484 Add config dir support to kubelet 2014-06-20 09:31:52 -07:00
brendandburns e031c193a3 Merge pull request #164 from lavalamp/master
Standardize terminology on "selector"
2014-06-19 13:55:27 -07:00
Daniel Smith bc02b3c21a Rename [label] query to selector 2014-06-19 13:31:42 -07:00
Brendan Burns 302ec0f37b Wire in the pod cache. Just used for List for now. 2014-06-18 22:26:35 -07:00
Brendan Burns 420b2fdd57 Add support for populating host ip address. 2014-06-18 14:57:50 -07:00
Daniel Smith d8206503b8 Make integration/localkube work with new controller library 2014-06-18 13:10:39 -07:00
Daniel Smith e74ac01a62 Move run logic into package 2014-06-18 13:10:39 -07:00
Daniel Smith a24116c7bd Move controller to it's own package, it's not part of the registry. 2014-06-18 13:10:39 -07:00
Brendan Burns 2759b2367f Add load balancing support to services. 2014-06-17 12:37:39 -07:00
Daniel Smith ea5cbd44bb Refactor apiserver command; move logic to a package for reuse and eventual testing 2014-06-15 23:30:58 -07:00
Daniel Smith f3734260d5 Readability improvements. 2014-06-15 23:30:58 -07:00
brendandburns 4adaee01dd Merge pull request #118 from lavalamp/master
Alternative local launch script.
2014-06-15 22:27:23 -07:00
Brendan Burns 7ded6945c1 Added a -verbose flag, and made a message verbose only. 2014-06-15 20:53:21 -07:00
Daniel Smith a047dc4930 No underscores in variable names. Add option to set hostname at command line. 2014-06-15 10:24:36 -07:00
gleamglom dd045544b0 Add more help messages to cloudcfg utility 2014-06-13 13:16:27 -07:00
brendandburns f053a49988 Merge pull request #71 from brendandburns/container_info
Fix some problems in container info handling if the container's no present.
2014-06-12 20:17:05 -07:00
brendandburns 4a8c53e7bd Merge pull request #74 from danielnorberg/dano/cloudcfg-start
cloudcfg: resize <name> <replicas> command
2014-06-12 20:16:31 -07:00
Daniel Smith 74fd0c1a58 Usability improvements 2014-06-12 17:23:28 -07:00
Daniel Smith 853a4e26a8 Call parsing code from cloudcfg 2014-06-12 17:23:28 -07:00
Johan Euphrosine 4f6bed03ae gofmt -s pkg/ cmd/ 2014-06-12 14:16:19 -07:00
Daniel Norberg 339623736d cloudcfg: resize <name> <replicas> command 2014-06-12 17:07:06 -04:00
Brendan Burns 8f8c31e5cf Fix localkube due to a bad merge. 2014-06-12 13:20:16 -07:00
Daniel Smith ac65cc7094 Address comments 2014-06-12 09:35:04 -07:00
Daniel Smith 69acbf5a74 Fix build 2014-06-12 09:35:04 -07:00
Daniel Smith 7c17db672e Move hostname detection logic to allow replacement 2014-06-12 09:35:04 -07:00
Daniel Smith 187f7d2534 cloudcfg working locally now 2014-06-12 09:35:04 -07:00
Daniel Smith 8178240bbe Add a binary and scripts for running a local kubernetes cluster. 2014-06-12 09:35:04 -07:00
Joe Beda 02d9cf2eb9 Merge pull request #69 from brendandburns/scheduler
Fix the first fit scheduler to randomize.
2014-06-11 21:29:51 -07:00
Daniel Smith 59d9763a52 remove package name, not needed here 2014-06-11 17:20:16 -07:00
Brendan Burns 5563459178 Fix the first fit scheduler to randomize. 2014-06-11 17:11:48 -07:00
brendandburns f453de3a92 Merge pull request #58 from dsymonds/patch-1
Change flag.Duration descriptions to be unit-free.
2014-06-11 07:04:21 -07:00
David Symonds 86d34996b4 Change flag.Duration descriptions to be unit-free.
flag.Duration permits different durations, not just seconds.
2014-06-11 16:29:36 +10:00
David Symonds 7f3989f91b Change flag.Duration descriptions to be unit-free.
flag.Duration permits different durations, not just seconds.
2014-06-11 16:29:35 +10:00
Julius Volz f6c4dd2332 Make cloudcfg method switch idiomatic. 2014-06-10 23:42:59 +02:00
Brendan Burns 83c5b2c578 Add some extra log info. 2014-06-10 09:43:04 -07:00
Brendan Burns 3d0231e0f8 Add a couple of printers. 2014-06-08 23:05:56 -07:00
Brendan Burns 5cb4444176 Task -> Pod #4, the final chapter 2014-06-08 23:00:12 -07:00
Brendan Burns 6018497174 Task -> Pod part #3 2014-06-08 22:38:45 -07:00
Brendan Burns 66e2575f2b More Task -> Pod 2014-06-08 21:43:17 -07:00
Johan Euphrosine ee64a67843 cloudcfg: var cleanup 2014-06-07 14:06:28 -07:00
Joe Beda 2c4b3a562c First commit 2014-06-06 16:40:48 -07:00