Commit Graph

725 Commits (835a87aed2478ee441f2dbfab15124315ddd880a)

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