Commit Graph

3989 Commits (c292d2e8d6fcd1bb5b3cb211d53abc8a277c1c48)

Author SHA1 Message Date
Brendan Burns 7c684e4331 Pipe through the ability to set the external hostname for swagger URLs. 2015-03-25 21:08:05 -07:00
Victor Marmol 8183a4805e Merge pull request #5973 from ArtfulCoder/pause_no_port_forward_for_net_host
Stop port forwarding from pause in net=host mode
2015-03-25 18:13:04 -07:00
Abhishek Shah cd5ed38250 Stop port forwarding from pause in net=host mode 2015-03-25 17:55:37 -07:00
Clayton Coleman 581d7cd789 Allow resource.Builder commands to take arguments by type/name
Will allow xarg behavior to fetch resources across multiple types.
Changes 'create', 'get', 'update', 'stop', and 'delete' to output
<resourceType>/<name>.
2015-03-25 20:39:22 -04:00
Victor Marmol b1c06eb52e Merge pull request #5969 from yujuhong/selflink
Kubelet: no need to overwrite SelfLink for pods from the apiserver
2015-03-25 16:59:56 -07:00
Vish Kannan 46751acf2e Merge pull request #5950 from vmarmol/default
Use default ContainerInfoRequest in Kubelet HTTP.
2015-03-25 16:40:31 -07:00
Vish Kannan 4b1dd0606c Merge pull request #5929 from rjnagal/node
Add validation for node creation.
2015-03-25 16:39:53 -07:00
Yu-Ju Hong 4e909c6cee Kubelet: no need to overwrite SelfLink for pods from the apiserver
Pods from the apiserver should already have SelfLink set. There is no need to
create one ourselves.
2015-03-25 16:34:02 -07:00
Satnam Singh cd05c8b9bc Give better error message for PUTs with no resource version 2015-03-25 15:52:48 -07:00
Victor Marmol 9e77c3d7e5 Use default ContainerInfoRequest in Kubelet HTTP.
Fixes #5777.
2015-03-25 15:37:06 -07:00
Dawn Chen af32a0aa8e Merge pull request #5952 from thockin/reset_hash_state
Reset hash state between runs.
2015-03-25 15:36:51 -07:00
Rohit Jnagal 49ff04765b Add validation for node creation. 2015-03-25 21:55:03 +00:00
Paul Morie 852362ee39 Add positive logging for secret volume plugin 2015-03-25 17:25:13 -04:00
Yu-Ju Hong 6145b3b9c4 Merge pull request #5738 from smarterclayton/cleanup_clients
Clients should not check conditions, UpdateStatus() is inconsistent
2015-03-25 13:59:47 -07:00
David Oppenheimer 76889fa3ae Merge pull request #5818 from simon3z/boot-id
nodecontroller: record node reboot event
2015-03-25 13:50:21 -07:00
Tim Hockin 9ed6c95e8e Reset hash state between runs. 2015-03-25 13:44:57 -07:00
Clayton Coleman b1ab14315b Clients should not check conditions, UpdateStatus() is inconsistent
Corrects some of the cargo culting that has crept into the API.
2015-03-25 16:25:04 -04:00
Yu-Ju Hong 5d628770c1 Merge pull request #5926 from vmarmol/fast-test
Reduce testing time of status_manager_test.
2015-03-25 12:52:27 -07:00
Salvatore Dario Minonne 6ad5c07350 Adding a func to labels.Selector to add requirement 2015-03-25 20:37:04 +01:00
Federico Simoncelli 2db64d3f90 nodecontroller: record node reboot event
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-03-25 15:06:53 -04: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
Federico Simoncelli afbf401464 nodeinfo: add boot id system information
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-03-25 15:06:53 -04:00
Derek Carr bf14cbf682 Merge pull request #5930 from markturansky/fix_quota_registry_names
Changed arg names from 'pod' to 'resourceQuota'
2015-03-25 15:03:41 -04:00
Victor Marmol 65070d6d81 Reduce testing time of status_manager_test.
Adds tests for syncBatch().
2015-03-25 11:45:06 -07:00
Dawn Chen e54cbf6e07 Merge pull request #5886 from vmarmol/net-host-1
Implement Kubelet support for HostNetwork by pod source
2015-03-25 11:41:01 -07:00
Victor Marmol cf7e2756b5 Add HostNetworkSources capability to limit use of HostNetwork. 2015-03-25 11:23:06 -07:00
Victor Marmol d9cd7a78f7 Allow starting a container with --net=host. 2015-03-25 11:22:03 -07:00
Clayton Coleman 27c668b54a Merge pull request #5441 from kazegusuri/port_minion_registry
Port minion registry to generic etcd
2015-03-25 14:18:17 -04:00
Victor Marmol 5eb373692b Merge pull request #5928 from yujuhong/pod_status
Kubelet: pass the acutal pod for status update
2015-03-25 10:51:32 -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
Masahiro Sano c49af0b7cb port minion registry to generic etcd 2015-03-26 02:44:35 +09:00
markturansky 89a17a410c changed arg names from 'pod' to 'resourceQuota' 2015-03-25 13:23:31 -04:00
Robert Bailey 659fc558f6 Merge pull request #5900 from brendandburns/api3
Add support for grabbing the externalIP in the GCE cloud provider.
2015-03-25 10:16:51 -07:00
Yu-Ju Hong b4b0bc75c4 Kubelet: pass the acutal pod for status update
Pod status update should include the ObjectMeta of the pod. This change is
required for #5738 to merge.
2015-03-25 09:58:46 -07:00
Saad Ali 1f50bd226b Merge pull request #5854 from fgrzadkowski/delete_pod_cache
Delete pod_cache and rely on updating pod status by kublet.
2015-03-25 09:17:09 -07:00
Clayton Coleman 367284b63b Merge pull request #5767 from kazegusuri/endpoints_storage
port endpoints to generic etcd
2015-03-25 11:32:01 -04:00
Tim Hockin 61d7bb7019 Merge pull request #5800 from markturansky/yoko_pv_api
PersistentVolume & PersistentVolumeClaim API types
2015-03-25 08:24:09 -07:00
Saad Ali c02e300096 Merge pull request #5887 from nikhiljindal/clientClient_test
Updating unit tests for pkg/client so that they pass with v1beta3 api
2015-03-25 08:05:56 -07:00
markturansky f762b303ad PersistentVolume & PersistentVolumeClaim API types 2015-03-25 10:09:25 -04:00
Filip Grzadkowski 74da3b14b0 Delete pod_cache and rely on updating pod status by kublet. 2015-03-25 15:08:09 +01:00
Wojciech Tyczynski c8e89bc717 Merge pull request #5853 from fgrzadkowski/better_errors
Improve error message for invalid pod spec update
2015-03-25 14:31:13 +01:00
Masahiro Sano 410e11c305 port endpoints to generic etcd 2015-03-25 22:15:19 +09:00
Filip Grzadkowski 7085a0cb44 Merge pull request #5508 from fgrzadkowski/validate_ips
Validate Service.Spec.publicIPs to be a valid IP that is not a localhost
2015-03-25 12:11:29 +01:00
Brendan Burns bfceb21007 Add support for grabbing the externalIP in the GCE cloud provider. 2015-03-24 21:21:50 -07:00
Derek Carr cfb6f1199b Merge pull request #5851 from smarterclayton/support_input_streams
Support input streams being returned by the APIserver
2015-03-24 22:41:24 -04:00
Sreekanth Pothanis 1c06cde4c4 added cloud provider flag to kubelet
This is to fix issue #5667
2015-03-24 19:32:50 -07:00
nikhiljindal ba3746172f Updating unit tests for pkg/client so that they pass with v1beta3 api 2015-03-24 18:54:02 -07:00
Yu-Ju Hong ff3d36edc5 Fix flakey TestGetSetPods 2015-03-24 18:29:35 -07:00
Yu-Ju Hong a9c9d27fdd Merge pull request #5893 from vmarmol/remove-server
Remove unused ServerSource.
2015-03-24 18:09:32 -07:00
Victor Marmol bacd859b33 Remove unused ServerSource.
We no longer use server as a source in the Kubelet.
2015-03-24 17:47:09 -07:00
Brian Grant d75291dbe7 Merge pull request #5838 from nikhiljindal/clientTests
Updating unit tests so that they pass with v1beta3 api
2015-03-24 17:30:50 -07:00
Dawn Chen 1665f4bc87 Merge pull request #5702 from yifan-gu/get_pods
Introduce GetPods() to replace GetKubeletDockerContainers()
2015-03-24 17:13:32 -07:00
Yifan Gu e02c6994dc kubelet.container: Fix volume map type. 2015-03-24 16:08:04 -07:00
Yifan Gu 31bb11ac2a kubelet: Move pod name helpers to pkg/kubelet/container/runtime.go 2015-03-24 16:08:04 -07:00
Yifan Gu 13250c904f kubelet: Replace GetKubeletDockerContainers with GetPods in syncPod/SyncPods. 2015-03-24 16:01:38 -07:00
Yifan Gu eec6456f51 kubelet.container: Add helpers in container runtime to filter pod/containers. 2015-03-24 16:01:38 -07:00
Yifan Gu f4c3ccf639 dockertools: Introduce GetPods() for docker runtime. 2015-03-24 16:01:37 -07:00
Abhi Shah f1872d36cf Merge pull request #5814 from vmarmol/net-host
Add HostNetworking container option to API.
2015-03-24 15:55:27 -07:00
David Oppenheimer 30c3583900 Merge pull request #5806 from ddysher/condition-rename
Rename ConditionFull->ConditionTrue, ConditionNone->ConditionFalse
2015-03-24 15:50:11 -07:00
Victor Marmol 270c850b3b Merge pull request #5826 from yujuhong/pod_manager
Kubelet: refactor pod manager
2015-03-24 15:33:54 -07:00
Tim Hockin e1a66ad015 Merge pull request #5398 from markturansky/volume_access_modes
Add GetAccessModes to volume plugin interface
2015-03-24 15:16:01 -07:00
Yu-Ju Hong 08e4a883b6 Kubelet: refactor pod manager
This change cleans up the pod manager extensively so that
 * Mirror pods are actually stored in the pod manager.
 * Both (non-mirror) pods and mirror pods are indexed by UID and full name for
   easy lookup and mapping. This is required for the next change to send
   full pod along with the pod status update.

This change also renames mirrorManager as mirrorClient since it is merely a
client to contact the API server and create/delete mirror pods.
2015-03-24 15:10:26 -07:00
Victor Marmol 2a0793c155 Add HostNetworking container option to API.
This allows a container to run within the same networking namespace as
the host. This will be locked down by default using a flag on the master
and nodes (similar to how privileged is handled today).
2015-03-24 14:40:28 -07:00
markturansky 519cbc498b Added conversion and check to prevent panic 2015-03-24 17:33:31 -04:00
Deyuan Deng ca68f4a9d1 Rename ConditionFull->ConditionTrue, ConditionNone->ConditionFalse 2015-03-24 17:28:59 -04:00
Clayton Coleman bfb6b05311 Wait longer in TestWatchControllers
10ms is too slow for travis
2015-03-24 17:25:46 -04:00
Clayton Coleman bac4689942 Expose Transform() as a method on a field Selector 2015-03-24 17:25:45 -04:00
Clayton Coleman 319f5b280a Not all Kinds should be registered to RESTMapper 2015-03-24 17:25:45 -04:00
Clayton Coleman fc3609fb5b Allow InputStreams to be returned by requests
Add additional metadata to restful services.
2015-03-24 17:25:45 -04:00
Clayton Coleman ea32b89e5e Allow map[string][]string to be converted to an object
Will allow query parameters to be converted to versioned objects.
2015-03-24 17:25:45 -04:00
Tim Hockin 064b7dec42 Merge pull request #5807 from pmorie/secret_volume_ref
Change secret volume plugin reference to name
2015-03-24 14:18:35 -07:00
David Oppenheimer c1730989cb Merge pull request #5870 from dchen1107/podstatus
Fix a bug of running node selector predicate on kubelet introduced by #5...
2015-03-24 14:05:27 -07:00
Piotr Szczesniak fef81150b9 Merge pull request #5858 from a-robinson/timeout
Increase the client-specified timeout for service create/update/delete.
2015-03-24 21:42:01 +01:00
Piotr Szczesniak ada4f5a366 Merge pull request #5860 from brendandburns/kubecfg
Add validation of args for create.
2015-03-24 21:41:28 +01:00
David Oppenheimer 3f57378972 Merge pull request #5399 from ddysher/nc-keep-sync
Node controller monitor node status
2015-03-24 13:30:06 -07:00
markturansky 5fa07f57b6 Removed PersistentVolumeSource and FindPersistentPluginBySpec func 2015-03-24 16:26:33 -04:00
Alex Robinson ab67cba7fb Increase the client-specified timeout for service create/update/delete.
This is only temporary until external load balancer creation is changed to
be asynchronous.
2015-03-24 20:17:36 +00:00
Dawn Chen e2e1d9e943 Fix a bug of running node selector predicate on kubelet introduced by #5715.
part of #5207, and fixed #5810
2015-03-24 13:13:25 -07:00
markturansky 111f3d5120 Add GetAccessModes to volume plugin interface 2015-03-24 16:02:39 -04:00
nikhiljindal 7e3b7f9673 Updating unit tests so that they pass with v1beta3 api 2015-03-24 12:13:53 -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 b51d491f05 Delete all pods based on condition transition time. 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
Brendan Burns 99267d725c Add validation of args for create. 2015-03-24 11:21:52 -07:00
Deyuan Deng 0d5f8dfde1 Node controller monitor node status 2015-03-24 14:19:56 -04:00
Paul Morie e40ba109a1 Change SecretVolumeSource to use a secret name instead of ObjRef 2015-03-24 13:58:41 -04:00
markturansky 2fd82f60f4 Move escape function to util and clarify name 2015-03-24 13:52:31 -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 b74b203da2 Improve error message for invalid pod spec update 2015-03-24 17:11:16 +01:00
Victor Marmol a2e2fea410 Merge pull request #5714 from fgrzadkowski/update_status_on_change
Update pod status only when it changes.
2015-03-24 09:00:57 -07:00
Clayton Coleman 0902ffd70e Merge pull request #5746 from bprashanth/rc_genericetcd_interface
Migrate replication controllers to generic etcd
2015-03-24 11:45:59 -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
Satnam Singh 69a648406d Merge pull request #5841 from piosz/clusterinfo
Added colors to output of kubectl clusterinfo
2015-03-24 08:38:45 -07: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
Saad Ali 2a88c77522 Merge pull request #5809 from dchen1107/podstatus
Introduced LastTerminateState to ContainerStatus
2015-03-24 07:42:24 -07:00
Saad Ali 282f605241 Merge pull request #5786 from fgrzadkowski/better_errors
Add validation error explanation for long annotations.
2015-03-24 07:40:29 -07:00
derekwaynecarr ee53dfc741 Turn on namespace lifecycle plug-in 2015-03-24 10:36:06 -04:00
derekwaynecarr 2ac63ebbe6 Add namespace controller to drive life-cycle 2015-03-24 10:36:06 -04:00
derekwaynecarr 29c491ef2e Namespace.Spec.Finalizer support 2015-03-24 10:36:06 -04:00
Wojciech Tyczynski f7191d626d Change "/ns" to "/namespaces" in few remaining places. 2015-03-24 13:05:32 +01:00
Piotr Szczesniak c06eecf7aa Added colors to output of kubectl clusterinfo
Added warning about trailing slashes

Also I ran godeps as described at
https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/devel/development.md

This fixes #5698
2015-03-24 11:46:04 +01:00
Filip Grzadkowski 6bc1e2ef40 Add validation error explanation for long annotations. 2015-03-24 11:01:26 +01:00
Filip Grzadkowski 24eb1a08f3 Validate Service.Spec.publicIPs to be a valid IP that is not a localhost 2015-03-24 10:48:46 +01:00
Victor Marmol 07f928be64 Cap container hostname length to 63 chars.
Fixes #5829.
2015-03-23 19:36:45 -07:00
Prashanth Balasubramanian ef6601646d Migrate replication controllers to generic etcd 2015-03-23 17:59:25 -07:00
Robert Bailey 5c40bd61e4 Merge pull request #5794 from thockin/gcepd_name
Rename the JSON for GCEPersistentDisk, fix examples
2015-03-23 17:12:32 -07:00
Victor Marmol fe65aa5dc9 Merge pull request #5748 from yujuhong/refactor
Kubelet: add podManager for managing internal pod storage
2015-03-23 16:53:27 -07:00
Nikhil Jindal 5c71e2ba00 Merge pull request #5769 from sdminonne/cleaning_labels
Removing dead code in labels package and changing LabelSelector type
2015-03-23 16:28:31 -07:00
Jeff Lowdermilk 7f7a004373 Merge pull request #5792 from ddysher/more-describe
More node describe, and 'kubectl describe' tests for all resources
2015-03-23 15:28:03 -07:00
Yu-Ju Hong f440989017 Kubelet: add podManager for managing internal pod storage
This change moves pod array and mirrorPods into podManager, along with all
methods accessing these internal pod storages. This is the first step of the
refactoring, and no function change is involved.
2015-03-23 15:11:10 -07:00
Deyuan Deng 4939c1137c Add node describe labels, creationTimestamp 2015-03-23 17:13:45 -04:00
Dawn Chen fdfec4db2d Introduced LastTerminateState 2015-03-23 13:54:46 -07:00
Tim Hockin 7ce59d9bc7 Rename the JSON for GCEPersistentDisk in internal
I know the internal JSO tags are slated for death.  Until then, make them
correct.  Also fix some examples of v1b3 conversions that did not rename the
JSON field.
2015-03-23 13:54:00 -07:00
Clayton Coleman 9bb797fe93 Rename NewREST -> NewStorage to align on terminology 2015-03-23 16:52:21 -04:00
Clayton Coleman 5a3f0adbcc Remove older names 2015-03-23 16:52:21 -04:00
Clayton Coleman d46087db50 Move REST* interfaces into pkg/api/rest
Dependency chain is now api -> api/rest -> apiserver.  Makes the
interfaces much cleaner to read, and cleans up some inconsistenties
that crept in along the way.
2015-03-23 16:52:21 -04: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 b442f76961 Syntax errors in file_test were added right as validation became more strict 2015-03-23 14:43:09 -04:00
Saad Ali e8f70428fb Merge pull request #5715 from jszczepkowski/kubelet-nodesel
Running node selector predicate on kubelet.
2015-03-23 11:06:00 -07:00
Clayton Coleman d19aac80ea Merge pull request #5533 from smarterclayton/burn_yaml_with_fire
Burn YAML with fire (kind of)
2015-03-23 13:45:52 -04:00
Victor Marmol adac4328e8 Merge pull request #5713 from AAzza/kubelet_build_parse_dockername
Refactor build/parse DockerName from Kubelet. #3511
2015-03-23 08:45:53 -07:00
Victor Marmol 4e3c07543e Merge pull request #5784 from wojtek-t/applyDefaultsInTryDecode
Hide applyDefaults method under pkg/kubelet/config
2015-03-23 07:32:00 -07:00
Wojciech Tyczynski b395c40e19 Refactor pkg/kubelet/config 2015-03-23 10:29:46 +01:00
Jerzy Szczepkowski 34a8a3a844 Running node selector predicate on kubelet.
Added checking on kubelet if scheduled pods have matching node selector. This is the last step to fix #5207.
2015-03-23 08:21:58 +01:00
Clayton Coleman 65425f690c Move field errors to pkg/util/fielderrors
Allows pkg/api to take a reference to labels.Selector and fields.Selector
2015-03-22 17:43:34 -04:00
Salvatore Dario Minonne 4c55689fb7 Removing dead code in labels package and chaning LabelSelector type 2015-03-22 18:03:50 +01:00
Nataliia Uvarova 73c2338320 Refactor build/parse dockername. #3511
Functions Build/ParseDockerName now work with struct instead of the long
list of arguments. This new struct also was reused in the kubelet.go
instead of auxilary podContainer struct.
2015-03-21 09:09:03 +01:00
Ravi Gadde 5871e53060 Add timeout to kubelet client 2015-03-20 18:46:45 -07:00
Victor Marmol 4d2e7981bb Merge pull request #5730 from yujuhong/static_stats
Kubelet: support retrieving stats using UID of mirror pods
2015-03-20 17:05:23 -07:00
Yu-Ju Hong f3f3c8f151 Fix volume imports 2015-03-20 16:22:35 -07:00
Yifan Gu 3b4685ef6c kubelet.runtime: update the import path for volume. 2015-03-20 16:16:27 -07:00
Yu-Ju Hong 15e9760bd4 Kubelet: support retrieving stats using UID of mirror pod
Kubelet supports retrieving stats for pods/containers with and without UID.
This does not always work for the static pods because users may get the UIDs of
the mirror pods from the API server, and use them to query Kubelet. In this
case, Kubelet would fail to locate the containers due to mismatched UIDs.

This change adds a intenral mirror to static pod UID mapping and teaches all
public-facing functions to perform UID lookup before proceeding. This allows
users to use either mirror or static pod's UID to retrieve stats.
2015-03-20 15:40:49 -07:00
Vish Kannan f118ca8fb4 Merge pull request #5642 from thockin/volume_multi_plugins
Prep for multiple kinds of volume plugins
2015-03-20 15:12:30 -07:00
Saad Ali f57540c7a0 Merge pull request #5532 from nikhiljindal/event
Adding GetFieldSelector() to client.EventInterface
2015-03-20 15:05:14 -07:00
Dawn Chen fbd362d3c7 Merge pull request #5572 from yifan-gu/rkt_support
Add container runtime
2015-03-20 14:38:48 -07:00
Dawn Chen 7a6490f572 Merge pull request #5729 from thockin/plural_endpoints_30_restart
Rename Service.ContainerPort to TargetPort in v1b3
2015-03-20 14:37:46 -07:00
Yu-Ju Hong 0206115703 Merge pull request #5697 from vmarmol/doc
Correct documentation about stats arguments.
2015-03-20 14:22:33 -07:00
Victor Marmol 5cfe0c04f8 Merge pull request #5705 from wojtek-t/refactor_file_test
Refactor pkg/kubelet/config/file_test.go
2015-03-20 14:08:06 -07:00
nikhiljindal 1b87060aec Adding GetFieldSelector() to client.EventInterface 2015-03-20 13:58:23 -07:00
Tim Hockin 4375376e9c Rename Service.ContainerPort to TargetPort in v1b3
Fix all callers and examples.  Part of multi-port service cleanup.
2015-03-20 13:50:06 -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
Yifan Gu 487d34e409 kubelet: add container runtime cache and fake runtime. 2015-03-20 13:15:20 -07:00
Yifan Gu 319d537cf9 kubelet: add container runtime interface. 2015-03-20 13:15:20 -07:00
Wojciech Tyczynski 9c4ef28b2d Comments 2015-03-20 20:13:16 +01:00
Wojciech Tyczynski 3b367f8ab8 Refactor file_test.go 2015-03-20 20:13:16 +01:00
Abhishek Gupta b0c23c1046 Headless Services: Adding option to specify None for PortalIP 2015-03-20 12:10:03 -07:00
Victor Marmol c5f73516b6 Merge pull request #5704 from wojtek-t/kubelet_file_read_pod
Kubelet read pods from file
2015-03-20 10:00:49 -07: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
Satnam Singh ec77230386 Merge pull request #5416 from smarterclayton/use_utc_serialized_and_local_otherwise
Use UTC when marshalling times and Local when unmarshalling
2015-03-20 08:32:26 -07:00
Victor Marmol dd74fa7f85 Merge pull request #5703 from fgrzadkowski/empty_pod_docs
Add documentation explaining there must be at least one container in a Pod
2015-03-20 08:07:25 -07:00
Wojciech Tyczynski 7a7e64331c Kubelet file read both ContainerManifest and Pod 2015-03-20 12:09:09 +01:00
Filip Grzadkowski a48e9af28d Add documentation explaining there must be at least one container in a Pod 2015-03-20 11:10:30 +01:00
Wojciech Tyczynski c5d8c391fb Refactor kubelet/config to share code 2015-03-20 09:40:52 +01:00
Victor Marmol fc8f4411ef Correct documentation about stats arguments. 2015-03-19 22:11:04 -07:00
Clayton Coleman 6918a4d32e Replace automatic YAML decoding with opt-in YAML decoding
Base codecs no longer automically handle YAML.  Instead, clients
must convert to JSON first via yaml.ToJSON and runtime.YAMLDecoder.
2015-03-20 00:03:56 -04:00
Clayton Coleman 71abc99dbe Expose a ToJSON and runtime.YAMLDecoder helper
Enables clients to optionally handle YAML
2015-03-20 00:03:56 -04:00
Clayton Coleman 022c103699 Update RollingUpdater to use resource.Builder
Remove last usage of ResourceFromFile
2015-03-20 00:03:54 -04:00
Clayton Coleman 84ab8f7254 Reduce probe logging level
Too chatty for normal operation
2015-03-19 23:06:21 -04:00
Victor Marmol b6d2cf4b3e Merge pull request #5685 from yujuhong/pod_status
Kubelet: per-pod workers should avoid grabbing the pod array lock
2015-03-19 18:54:36 -07:00
Yu-Ju Hong 0d0fb5f07b Kubelet: per-pod workers should avoid grabbing the pod array lock
Per-pod worker syncs the pod and container status, and write the pod status in
the pod status cache. Given that it already owns a copy of the pod, it can
bypass the additional pod lookup step completely. This change adds a new
generatePodStatusByPod() method to achieve this. In general, per-pod worker
should avoid accessing the internal pod array completely, as this would may
lead to high contention.

This change also changes the return type of GetPodByFullName to reflect the
name, and consolidates GetPodByFullName() and GetPodByName().
2015-03-19 18:25:41 -07:00
Brian Grant 699dc96c7b Merge pull request #5085 from smarterclayton/allow_graceful_delete
Support graceful deletion of resources
2015-03-19 17:58:31 -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
Tim Hockin 4ee6eb8c73 Make net plugins build on non-unix 2015-03-19 16:15:33 -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
Tim Hockin 1ce5dda691 Merge pull request #5069 from rajatchopra/network_hooks
[WIP] southbound networking hooks in kubelet
2015-03-19 15:03:53 -07:00
CJ Cullen f6d8d5f800 Merge pull request #5522 from fabioy/expose-label.fix
Add "--labels" option to the "expose" kubectl command.
2015-03-19 14:40:15 -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
Jerzy Szczepkowski c0ff504ad3 Merge pull request #5501 from jszczepkowski/kubelet-spechost
Running resource predicate on kubelet.
2015-03-19 21:34:27 +01:00
Clayton Coleman 428d2263e5 Graceful deletion of resources
This commit adds support to core resources to enable deferred deletion
of resources.  Clients may optionally specify a time period after which
resources must be deleted via an object sent with their DELETE. That
object may define an optional grace period in seconds, or allow the
default "preferred" value for a resource to be used. Once the object
is marked as pending deletion, the deletionTimestamp field will be set
and an etcd TTL will be in place.

Clients should assume resources that have deletionTimestamp set will
be deleted at some point in the future.  Other changes will come later
to enable graceful deletion on a per resource basis.
2015-03-19 15:33:32 -04:00
Victor Marmol 6f6485909e Merge pull request #5598 from wojtek-t/kubelet_http_read_pod
Kubelet read pods from http
2015-03-19 11:49:28 -07:00
Tim Hockin 9bc2b0c2db Merge pull request #4601 from calfonso/nfs_mount_plugin
NFSMount storage plugin for kubelet.
2015-03-19 11:19:12 -07:00
Victor Marmol 84ee72d4a7 Merge pull request #5631 from dchen1107/podstatus
Remove PodIP from ContainerStatus
2015-03-19 11:03:10 -07:00
Wojciech Tyczynski c512c549a1 Kubelet http read both ContainerManifest and Pod 2015-03-19 18:57:00 +01:00
Dawn Chen 4910be6dcb Remove PodIP from ContainerStatus 2015-03-19 10:42:01 -07: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
CJ Cullen 2e7356bca7 Merge pull request #5534 from bprashanth/generic_storage_interface
Add a GenericRESTStorage interface
2015-03-19 09:35:06 -07:00
CJ Cullen 80914498e4 Merge pull request #5610 from jlowdermilk/kubectl-flags
Declare kubectl validate flag once
2015-03-19 09:26:10 -07:00
Filip Grzadkowski f89f91b7bd Validate that there is at least one container in the pod 2015-03-19 12:31:53 +01:00
Jerzy Szczepkowski 5845f6ad48 Running resource predicate on kubelet.
Added checking on kubelet if scheduled pods do not exceed resources. Related to #5207.
2015-03-19 10:40:10 +01:00
gmarek cbf57ee324 Merge pull request #5588 from hurf/master
Fix comments on caculating scores.
2015-03-19 07:44:11 +01:00
Yu-Ju Hong 187cbcfabf Merge pull request #5627 from vmarmol/fix-test
Fix data race in imageManager test.
2015-03-18 18:24:18 -07:00
Yu-Ju Hong 05c61d2e47 Merge pull request #5622 from vmarmol/http
Add SelfLink to Kubelet http source.
2015-03-18 18:09:05 -07:00
Victor Marmol 6db6e41a34 Merge pull request #5632 from yujuhong/manifest
kubelet/config/http_test: use versioned ContainerManifest
2015-03-18 17:58:19 -07:00
Yu-Ju Hong 7b71780dfc kubelet/config/http_test: use versioned ContainerManifest 2015-03-18 17:40:40 -07: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
Victor Marmol 3a3b950009 Fix data race in imageManager test.
The background monitoring thread was using the DockerClient before we
had written our fake data. This commit stops the background thread from
running during tests.

Fixes #5611.
2015-03-18 17:02:03 -07:00
Victor Marmol ce96182cc3 Add SelfLink to Kubelet http source. 2015-03-18 16:38:41 -07:00
Prashanth Balasubramanian 960e16c397 Embed etcdgeneric in RESTStorage for pods 2015-03-18 16:31:33 -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
Clayton Coleman d516a86633 Use UTC when marshalling times and Local when unmarshalling
Marshal to UTC and read into Local, which means clients automatically
show local time and stored values are always consistent.
2015-03-18 17:44:35 -04:00
Yifan Gu 027f6854d0 kubelet: Remove docker container in prober's interface
Also change
kubelet.docketIDToRef[dockertools.DockerID]*api.ObjectReference{} to
kubelet.containerIDToRef[string]*api.ObjectReference{}.
2015-03-18 14:28:27 -07:00
Jeff Lowdermilk 39211af25e Declare kubectl validate flag once 2015-03-18 14:00:19 -07:00
Yu-Ju Hong 6e8a8b741a Kubelet: simplify the lock acquring pattern
Avoid holding both podStatusesLock and podLock at the same time.
2015-03-18 11:45:29 -07:00
CJ Cullen c34200824c Merge pull request #5584 from brendandburns/err
start normalizing error handling in watch.
2015-03-18 10:49:34 -07:00
Jeff Lowdermilk 72699606a9 Merge pull request #5541 from deads2k/deads-expose-resolve-local-paths
allow any number of kubeconfig files
2015-03-18 10:46:47 -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
Jeff Lowdermilk e92067d102 Merge pull request #5481 from TamerTas/issue#4470
Remove cmd from kubectl/cmd/factory
2015-03-18 10:03:25 -07:00
Dawn Chen f746123438 Merge pull request #5580 from ncdc/docker-ParseRepositoryTag
Use docker's ParseRepositoryTag when pulling
2015-03-18 08:55:56 -07:00
Dawn Chen 9e781bc57d Merge pull request #5569 from vmarmol/image-gc
Garbage collecting images in the Kubelet.
2015-03-18 08:55:08 -07:00
Tamer Tas b39e31d8a3 Remove cmd from kubectl/cmd/factory 2015-03-18 14:23:14 +02:00
Filip Grzadkowski 1a352b74ba Periodically update pod status from kubelet. 2015-03-18 12:11:39 +01:00
gmarek a3b137ce8e Cleanup of validation.go 2015-03-18 08:59:35 +01:00
Brendan Burns 6d763dce2b start normalizing error handling in watch. 2015-03-17 21:04:55 -07: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
Jeff Lowdermilk faab509a23 Merge pull request #5543 from you-n-g/master
add get available versions commmand
2015-03-17 17:34:33 -07:00
Andy Goldstein 7b07960758 Use docker's ParseRepositoryTag when pulling 2015-03-17 20:15:13 -04:00
Tim Hockin 7e42fc86fd Merge pull request #5573 from brendandburns/err
Set the emptyNameError to be a bad request.  Always return a JSON error.
2015-03-17 16:43:22 -07:00
Brendan Burns 4725ecac3f Set the emptyNameError to be a bad request. Always return a JSON error. 2015-03-17 16:17:14 -07:00
Yu-Ju Hong b84de4e986 Merge pull request #5571 from vmarmol/fix
Adding errors to Kubelet events.
2015-03-17 16:14:58 -07:00
Dawn Chen cbe4a1a679 Merge pull request #5510 from vmarmol/gc
Introduce and implement container GC policy
2015-03-17 16:02:17 -07:00
Victor Marmol 0c664a343c Adding errors to Kubelet events.
This will help while debugging issues that generate events.

Also removed unecessary log line.
2015-03-17 15:55:25 -07:00
Zach Loafman 5496686f33 Revert "Use docker's ParseRepositoryTag when pulling" 2015-03-17 15:16:33 -07:00
Salvatore Dario Minonne 31ddefc347 Finalize fields.Selector 2015-03-17 22:55:43 +01:00
Dawn Chen 2a5610dbcb Merge pull request #5558 from ncdc/docker-ParseRepositoryTag
Use docker's ParseRepositoryTag when pulling
2015-03-17 12:56:22 -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
Victor Marmol 4c17c09a8f Separate GC policy into containerGC struct.
The policy today takes a min GC age, max dead containers per pod, and
max containers overall. When GC is called, only dead containers created
more than min GC age ago are considered. The policy tries to keep one
dead instance of every pod's containers.
2015-03-17 10:50:06 -07:00
Dawn Chen 5a04bf6316 Merge pull request #5512 from vmarmol/igc
Introduce and implement image GC policy
2015-03-17 10:36:22 -07:00
Victor Marmol 6b9b2a5ef1 Merge pull request #5401 from yujuhong/syncstatic
Sync static pods from Kubelet to the API server
2015-03-17 10:36:05 -07:00
Andy Goldstein c08f41c18b Use docker's ParseRepositoryTag when pulling 2015-03-17 13:23:17 -04:00
fabioy 401451c510 Add "--labels" option to the "expose" kubectl command. 2015-03-17 09:47:57 -07:00
Victor Marmol 6bcbf12a3d Add image garbage collection policy to imageManager. 2015-03-17 09:19:04 -07:00
Victor Marmol 303a1f7ea1 Adding cAdvisor API to get image usage information. 2015-03-17 09:17:38 -07:00
Tim Hockin 879a39bcc4 Merge pull request #5192 from quinton-hoole/2015-03-06-service-namespace-clash
Fix service namespace clash
2015-03-17 09:10:50 -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
Victor Marmol 668e2dbcd8 Merge pull request #5502 from wojtek-t/completely_remove_bound_pods
Remove BoundPod type from source code
2015-03-17 08:09:50 -07:00
Brendan Burns 5fb18c6f33 Merge pull request #5101 from justinsb/aws_getnoderesources
Add support for GetNodeResources to AWS
2015-03-17 07:30:34 -07:00
Brendan Burns b2ed6b3255 Merge pull request #3171 from anguslees/openstack-provider
OpenStack updates
2015-03-17 07:30:08 -07:00
Young 97b647207e add get available versions commmand 2015-03-17 13:51:18 +00:00
Filip Grzadkowski 18b728ff44 Revert "Periodically update pod status from kubelet." 2015-03-17 13:51:45 +01:00
deads2k 8555ed3ede allow any number of kubeconfig files 2015-03-17 08:49:34 -04:00
Wojciech Tyczynski e6d188fca8 Remove BoundPod structure 2015-03-17 10:27:41 +01:00
Quinton Hoole cc72eaec3a Fix services namespace clash.
Serve identically names services in different namespaces on different external IP addresses.
2015-03-16 18:19:19 -07:00
Victor Marmol c04ceec27f Merge pull request #5531 from GoogleCloudPlatform/rel-0.13
Release 0.13.0
2015-03-16 17:06:57 -07:00
Victor Marmol 009737e69e Merge pull request #5205 from fgrzadkowski/sync_pod_status
Periodically update pod status from kubelet.
2015-03-16 17:04:31 -07:00
Victor Marmol fa23519387 Merge pull request #5167 from thockin/volume_wrapper_plugins
Implement volume wrapper plugins
2015-03-16 16:37:50 -07:00
Brendan Burns 7fbf52a599 Kubernetes version v0.13.0-dev 2015-03-16 16:31:03 -07:00
Brendan Burns 8d8b9b9a78 Kubernetes version v0.13.0 2015-03-16 16:31:03 -07:00
Tim Hockin b42652cd3d Retool mount detection for tests 2015-03-16 16:17:47 -07:00
Brian Grant 407589147e Merge pull request #5005 from jdef/persistent_bindings
Persist Bindings annotations alongside pod Host assignment
2015-03-16 16:16:44 -07:00
Brian Grant 2f9a41b898 Merge pull request #5233 from brendandburns/labels
Make label and field selector query strings versionable.
2015-03-16 16:01:37 -07:00
Filip Grzadkowski 336525a27d Periodically update pod status from kubelet. 2015-03-16 23:03:03 +01:00
Tim Hockin 9eebaa8168 Merge pull request #4115 from sub-mod/master_changes
Use discovery heuristics in ChooseHostInterface method to fetch PublicAddress
2015-03-16 14:31:15 -07:00
Derek Carr 1291401c2e Merge pull request #5516 from smarterclayton/add_ttl_to_helper
Add TTL support to etcd_helper in preparation for graceful delete
2015-03-16 17:14:35 -04:00