Victor Marmol
7283e662b5
Introduce SystemContainer to Kubelet ContainerManager.
...
This generalizes the handling of containers in the
ContainerManager.
Also introduces the ability to determine how much
resources are reserved for those system containers.
2015-05-29 17:32:34 -07:00
Rohit Jnagal
233ce46b83
Merge pull request #8923 from caesarxuchao/TerminationToTerminated
...
Update ContainerState.Termination to ContainerState.Terminated
2015-05-29 14:51:09 -07:00
Rohit Jnagal
50b9d6284a
Merge pull request #8681 from vmarmol/system-container
...
Create a system container
2015-05-29 09:41:06 -07:00
Chao Xu
2f6e5e2e08
Update ContainerState.Termination to ContainerState.Terminated in pkg/api/types.go and pkg/api/v1/types.go
2015-05-28 17:18:24 -07:00
Tim Hockin
bade36c7dd
Merge pull request #8826 from markturansky/b2d_fix
...
Fixed setNodeStatus to allow running on pods on OS X
2015-05-28 16:54:42 -07:00
Tim Hockin
4318ca5a8b
Rename 'portal IP' to 'cluster IP' most everywhere
...
This covers obvious transforms, but not --portal_net, $PORTAL_NET and
similar.
2015-05-28 16:10:44 -07:00
Federico Simoncelli
2a89428d44
api: add the ProviderID attribute to NodeSpec
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-28 13:01:58 -04:00
markturansky
8aa3cb22b5
added pod capacity to node.Status when cadvisor unavailable. defaults to kubelet's pod list length
2015-05-28 10:53:08 -04:00
Paul Morie
8b338860aa
Make kubelet expand var refs in cmd, args, env
2015-05-27 00:13:57 -04:00
Victor Marmol
9a2630ac6e
Make system container name configurable.
2015-05-26 20:49:55 -07:00
Victor Marmol
ddec34a000
Have the ContainerManager create a system container.
...
The system container is a resource-only container which contains all
non-kernel processes that are not already part of a container. This will
allow monitoring of their resource usage and limiting it (eventually).
2015-05-26 20:49:55 -07:00
CJ Cullen
197115853e
Report node.Ready == false until cbr0 is configured correctly
2015-05-26 10:48:29 -07:00
Dawn Chen
677a4aa1a7
Merge pull request #8164 from cjcullen/cloudprovider
...
Route creation reconciler loop.
2015-05-22 12:27:50 -07:00
David Oppenheimer
6b428ef1a8
Merge pull request #7170 from simon3z/node-events
...
Node events recording fixes
2015-05-21 12:54:38 -07:00
Dawn Chen
0710976d43
Merge pull request #8490 from thockin/diff-proto
...
Allow same-hostport-different-protocol
2015-05-21 09:16:16 -07:00
Federico Simoncelli
fefc65164a
kubelet: fix node ready condition logic
...
Fixes #8585
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-20 20:03:57 -04:00
Federico Simoncelli
2f503c57a5
nodecontroller: improve node status event recording
...
This patch substitutes the misleading reason "unknown" for the event
recording. For symmetry with kubelet's message "online" the conditions
Unknown and False are reported as "offline".
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-20 18:46:01 -04:00
CJ Cullen
bf646abf8d
Revert "Revert "Modify nodes to register directly with the master.""
...
This reverts commit c53786ab31
.
2015-05-20 14:21:03 -07:00
Quinton Hoole
c53786ab31
Revert "Modify nodes to register directly with the master."
2015-05-20 13:47:51 -07:00
Tim Hockin
9117a757e2
Revert "Introduce an 'svc' segment for DNS search"
2015-05-20 09:04:15 -07:00
Eric Tune
1f4172d23c
Merge pull request #6949 from roberthbailey/node-register
...
Modify nodes to register directly with the master.
2015-05-19 11:29:43 -07:00
Daniel Smith
181124bc9b
Merge pull request #7974 from deads2k/attach-pull-secrets-to-pods
...
Attach pull secrets to pods
2015-05-19 10:26:39 -07:00
Tim Hockin
711fa2f2c6
fix
2015-05-19 10:17:53 -07:00
Tim Hockin
c7bf373d98
Allow same-hostport-different-protocol
2015-05-19 10:00:35 -07:00
Robert Bailey
01467e0bb8
Modify nodes to register directly with the master.
...
- Delete nodes when they are no longer ready and don't exist in the
cloud provider.
- Label each node with it's hostname.
- Add flag to skip node registration.
- Add a test for registering an existing node.
2015-05-19 09:55:07 -07:00
Brian Grant
2c81050e6f
Merge pull request #8457 from davidopp/master
...
Fix stylistic isues with #5547 . Closes #4910 .
2015-05-19 07:43:21 -07:00
David Oppenheimer
44b1e1ca0c
Fix stylistic isues with #5547 . Closes #4910 .
2015-05-18 23:32:06 -07:00
Victor Marmol
c5da035d51
Merge pull request #8421 from yujuhong/active_deadline
...
Kubelet: move active deadline check to per pod worker
2015-05-18 17:42:21 -07:00
Vish Kannan
c5f7ee6f96
Merge pull request #8430 from vmarmol/logging
...
Don't run OOM watcher is cAdvisor is not available.
2015-05-18 14:41:24 -07:00
Yu-Ju Hong
2bf0646c76
Kubelet: do not remove directories of terminated pods
...
We recently changed `SyncPods` to filter out terminated pods at the beginning
for two reasons:
* performance: kubelet no longer keeps goroutines to checks containers for
terminated pods.
* correctness: kubelet relies on inspecting dead containers to generate
pod status. Because dead containers may get garbage collected and
kubelet does not have checkpoints yet, syncing terminated pod could
lead to modifying the status of a terminated pod.
However, even though kubelet should not *sync* the terminated pods, it
should not attempt to remove the directories and volumes for such
pods as long as they have not been deleted. This change fixes aggresive
directory removal by passing all pods (including terminated pods) to the
cleanup functions.
2015-05-18 13:23:49 -07:00
deads2k
0c14e0cbdb
add pull secret references to pods
2015-05-18 16:18:16 -04:00
Victor Marmol
4a1100bb66
Don't run OOM watcher is cAdvisor is not available.
...
Fixes #8424 .
2015-05-18 12:18:12 -07:00
Victor Marmol
45874d5f76
Merge pull request #5547 from gmarek/client3
...
Add a resource specifying number of Pods that are allowed to run on Kubelet.
2015-05-18 11:11:43 -07:00
Yu-Ju Hong
050b8ba60b
Kubelet: move active deadline check to per pod worker
...
Per-pod workers have sufficient knowledge to determine whether a pod has
exceeded the active deadline, and they set the status at the end of each sync.
Move the active deadline check to generatePodStatus so that per pod workers
can update the pod status directly. This eliminates the possibility of a race
condition where both SyncPods and the pod worker are updating the status, which
could lead to temporary erratic pod status behavior (pod phase: failed ->
running -> failed).
2015-05-18 10:52:41 -07:00
Yu-Ju Hong
25668ccc11
Kubelet: remove the getPodstatus method
...
Pod statuses are periodically writtien to the status manager, and status
manager sets the start time of the pod. All non-status-modifying code should
perform cache lookup and should not attempt to generate pod status on its own.
2015-05-18 10:52:36 -07:00
Yu-Ju Hong
e1a153e841
Merge pull request #8340 from dchen1107/clean
...
Wait for docker to start cadvisor.
2015-05-15 14:36:10 -07:00
derekwaynecarr
8216332611
Kubelet kills a pod that exceeds ActiveDeadlineSeconds
2015-05-15 16:33:37 -04:00
Dawn Chen
85ca8506bb
Wait for docker to start cadvisor.
2015-05-15 13:24:24 -07:00
Victor Marmol
43e4654333
Merge pull request #8292 from yujuhong/rm_podinfo
...
Remove /podInfo endpoint on kubelet
2015-05-15 08:42:02 -07:00
gmarek
27d660d0ac
Add a resource specifying number of Pods that are allowed to run on Kubelet.
2015-05-15 10:57:46 +02:00
Yu-Ju Hong
4b40db3367
Remove /podInfo endpoint on kubelet
...
Kubelet sends pod status updates to the API server now. This endpoint is no
longer needed.
2015-05-14 17:51:26 -07:00
Yu-Ju Hong
a2d04a84de
kubelet: filter out terminated pods before rejecting pods
...
Currently, kubelet doesn't filter out terminated pods before determining whether
a pod fits. This could lead to duplicated events for rejecting the pods. This
change fixes that.
This change also groups all related pod fitness checking functions into one
function to improve readability.
2015-05-14 13:02:36 -07:00
Rohit Jnagal
532f6fdcef
Merge pull request #7955 from hurf/refactor_scheduler
...
Move pkg/scheduler to plugin/pkg/scheduler
2015-05-14 10:28:52 -07:00
Dawn Chen
309a157665
Merge pull request #7984 from cjcullen/kubelet
...
Kubelet configure cbr0 instead of configure-vm.sh
2015-05-13 17:32:52 -07:00
Victor Marmol
67eab52b9e
Merge pull request #8146 from yifan-gu/runtime_opt
...
kubelet/container: Refactor RunContainerOptions.
2015-05-13 11:09:56 -07:00
Yifan Gu
d164ac0ba0
kubelet/container: Refactor RunContainerOptions.
...
Make Envs, Mounts, PortMappings more generic.
Also add default name for PortMapping if it's not specified.
2015-05-13 10:01:00 -07:00
hurf
6203ce9f85
Move pkg/scheduler to plugin/pkg/scheduler
...
As the TODO in plugin/pkg/scheduler/scheduler.go described:
move everything from pkg/scheduler into this package. Remove
references from registry.
2015-05-13 14:03:25 +08:00
CJ Cullen
31ea7d1295
Put cbr0-modifying stuff behind a flag. Address some other comments.
2015-05-12 23:00:28 -07:00
CJ Cullen
5e3d2b9138
Kubelet configure cbr0 instead of configure-vm.sh
2015-05-12 23:00:12 -07:00
Victor Marmol
40ec627cd4
Merge pull request #8108 from rjnagal/kubelet
...
Handle out of disk situation on kubelet.
2015-05-12 15:49:31 -07:00
Victor Marmol
3481db8aee
Merge pull request #8136 from yifan-gu/runtime_opt
...
kubelet/container: Remove ipcMode and netMode from RunContainerOptions.
2015-05-12 14:41:49 -07:00
Yifan Gu
a2dac158c2
kubelet/container: Remove ipcMode and netMode from RunContainerOptions.
...
Since createPodInfraContainer() is moved into dockertools. There is no
need to pass the ipcMode or netMode via RunContainerOptions.
2015-05-12 14:18:00 -07:00
Rohit Jnagal
2cf0dfb79d
Handle out of disk situation on kubelets.
...
Kubelet will stop accepting new pods if it detects low disk space on root fs or fs holding docker images.
Running pods are not affected. low-diskspace-threshold-mb is used to configure the low diskspace threshold.
2015-05-12 18:23:09 +00:00
Victor Marmol
e1447618f4
Integrating ContainerManager into Kubelet
2015-05-12 10:13:23 -07:00
Tim Hockin
41033af256
Introduce an 'svc' segment for DNS search
2015-05-11 17:20:44 -07:00
Victor Marmol
43029345f9
Merge pull request #7973 from dchen1107/podstatus
...
Add kubectl log --previous support to view last terminated container log
2015-05-11 17:08:45 -07:00
Victor Marmol
1465475401
Merge pull request #8079 from yifan-gu/rm_command_runner
...
kubelet/container: Move prober.ContainerCommandRunner to container.
2015-05-11 16:05:25 -07:00
Yifan Gu
7831b7da72
kubelet/container: Move prober.ContainerCommandRunner to container.
...
Also include the ContainerCommandRunner in Runtime interface, but
still keep the ContainerCommandRunner interface for testability.
2015-05-11 15:32:51 -07:00
Yu-Ju Hong
8b3130b112
Merge pull request #7980 from yifan-gu/fix_kubelet_tests
...
kubelet: Fix racy kubelet tests.
2015-05-11 14:09:44 -07:00
Dawn Chen
86479cc56c
Add support to pull log for last terminated container
2015-05-11 12:54:04 -07:00
Yifan Gu
52af792852
kubelet: Fix racy kubelet tests.
...
Add fakePodWorkders to run syncPod() in serial for testing.
2015-05-11 12:50:33 -07:00
Yu-Ju Hong
a9c9505206
Use VirtualSize of the docker image as the image size
2015-05-11 11:03:47 -07:00
Yu-Ju Hong
3599d81ef1
Remove some docker references
2015-05-11 11:03:47 -07:00
Yifan Gu
7e9ba26103
kubelet: Add container runtime option for rkt.
2015-05-07 23:39:37 -07:00
Victor Marmol
ecf8348609
Revert "kubelet: Add container runtime option for rkt."
2015-05-07 13:01:37 -07:00
Yifan Gu
4f6535ed8a
kubelet: Add container runtime option for rkt.
2015-05-07 10:31:58 -07:00
Victor Marmol
35c644a45f
Merge pull request #7870 from yifan-gu/rkt_volume
...
Add volumeGetter to rkt.
2015-05-07 08:58:00 -07:00
Wojciech Tyczynski
e26da316dc
Set NodeReady=False when docker is dead
2015-05-07 09:30:25 +02:00
Yifan Gu
8715c54bd3
kubelet/container: Move kubelet.volumeMap to container.VolumeMap.
...
This is a quick fix to solve circular dependency problem when
rkt references volume maps.
2015-05-06 16:50:57 -07:00
Zach Loafman
3fcea23185
Revert "Revert "Revert "Kubelet: Add rkt as a runtime option"""
2015-05-05 15:55:12 -07:00
Zach Loafman
92ca92f43a
Revert "Revert "Kubelet: Add rkt as a runtime option""
2015-05-05 15:28:09 -07:00
Zach Loafman
6016408096
Revert "Kubelet: Add rkt as a runtime option"
2015-05-05 15:15:15 -07:00
Yu-Ju Hong
b2c0ea37b4
Merge pull request #7743 from vmarmol/runtime-switch
...
Kubelet: Add rkt as a runtime option
2015-05-05 13:36:46 -07:00
Victor Marmol
9f283f356f
Start ImageManager housekeeping in Run().
...
Fixes #7762
Fixes #5634
2015-05-05 11:15:12 -07:00
Victor Marmol
22297d316a
Add rkt runtime to Kubelet init
2015-05-05 10:55:21 -07:00
Brian Grant
df8521c468
Merge pull request #7592 from pmorie/dapi-example
...
Rename EnvVarSource.FieldPath -> FieldRef and add example
2015-05-04 17:02:17 -07:00
Victor Marmol
a32d31d045
Merge pull request #7729 from yujuhong/runtime_up
...
Kubelet: wait until container runtime is up
2015-05-04 16:02:30 -07:00
Paul Morie
e949a623ff
Change EnvVarSource.FieldPath -> FieldRef and add example
2015-05-04 18:41:09 -04:00
Yu-Ju Hong
d231eb6bef
Kubelet: wait until container runtime is up
...
Instead of waiting for the docker client to be up, we wait for the container
runtime to be up.
2015-05-04 15:16:38 -07:00
Victor Marmol
ba7e940a57
Make rkt implement the container Runtime
2015-05-04 11:16:33 -07:00
Victor Marmol
79fc8bee34
Change GetContainerLogs() signature.
...
This works for both runtimes. We need to eventually unify the ID scheme
for this method.
2015-05-04 11:16:32 -07:00
Victor Marmol
2ad933e124
Merge pull request #7674 from yujuhong/enable_runtime
...
Kubelet: replace DockerManager with the Runtime interface
2015-05-04 11:10:20 -07:00
Yu-Ju Hong
1ad4dd7803
Kubelet: replace DockerManager with the Runtime interface
...
This change instructs kubelet to switch to using the Runtime interface. In order
to do it, the change moves the Prober instantiation to DockerManager.
Note that most of the tests in kubelet_test.go needs to be migrated to
dockertools. For now, we use type assertion to convert the Runtime interface to
DockerManager in most tests.
2015-05-04 10:19:46 -07:00
Paul Morie
b538642464
Inject mounter into volume plugins
2015-05-04 11:28:57 -04:00
Daniel Smith
4a6ab7fd36
Merge pull request #7597 from eparis/copyright
...
Use generic copyright holder name in license boilerplate
2015-05-01 17:01:39 -07:00
Eric Paris
6b3a6e6b98
Make copyright ownership statement generic
...
Instead of saying "Google Inc." (which is not always correct) say "The
Kubernetes Authors", which is generic.
2015-05-01 17:49:56 -04:00
Victor Marmol
d9d61c3511
Kubelet: Add container runtime option.
2015-05-01 14:26:54 -07:00
Victor Marmol
3b9eba2c1b
Add SyncPod() to DockerManager and use in Kubelet.
...
This allows us to abstract away the logic of syncing a pod by the
runtime. It will allow other runtimes to perform their own sync as well.
2015-05-01 11:03:08 -07:00
Vish Kannan
cadfde0bd1
Merge pull request #7277 from guenter/cgroup-parent
...
Add --cgroup_parent flag to Kubelet to set the parent cgroup for pods
2015-05-01 10:24:58 -07:00
Victor Marmol
441a4e6f30
Merge pull request #7578 from yujuhong/docker_manager
...
Add image-related methods to DockerManager
2015-04-30 16:16:39 -07:00
Yu-Ju Hong
644ec0dbfb
Remove ErrNoKubeletContainers
...
We no longer use it.
2015-04-30 13:35:21 -07:00
Yu-Ju Hong
83c599e4d4
Add image-related methods to DockerManager
...
This change is part of the efforts to make DockerManager implement the Runtime
interface.
The change also modifies the interface slightly to work with existing
code, and aggregates the type converting functions to convert.go.
2015-04-30 13:27:52 -07:00
Yu-Ju Hong
2f7b951140
Remove more docker references in kubelet
...
This change also renames TrimRuntimePrefixFromImage to TrimRuntimePrefix to
better reflect that the usage is not limited to images (e.g. ID).
2015-04-30 13:16:11 -07:00
Tobi Knaup
b96c4046a8
Add --cgroup_root flag to Kubelet to set the parent cgroup for all pods.
...
Implements #6991 .
2015-04-30 10:32:27 -07:00
Victor Marmol
238b3c6f4e
Move lifecycle handlers to its own sub package.
...
This will allow injecting it into the runtimes.
2015-04-30 08:47:23 -07:00
Victor Marmol
4db5127073
Make HttpGetter a shared Kubelet type.
2015-04-30 08:47:23 -07:00
Yu-Ju Hong
baaea11cd5
Merge pull request #7520 from vmarmol/runtime-pull
...
Add RuntimeHooks to abstract Kubelet logic
2015-04-30 08:33:19 -07:00
Victor Marmol
2a01a2c7e9
Use RuntimeHooks in Kubelet.
...
Used in functionality that will be moved to the runtimes.
2015-04-29 17:06:49 -07:00
Yu-Ju Hong
d81ecc58f8
Adapt pod killing and cleanup for generic container runtime
...
This change removes docker-specifc code in killUnwantedPods. It
also instructs the cleanup code to move away from interacting with
containers directly. They should always deal with the pod-level
abstraction if at all possible.
2015-04-29 16:08:09 -07:00
Yu-Ju Hong
ba1140a54f
Merge pull request #7480 from vmarmol/runtime-syncpod
...
Move ComputePodChanges to the Docker runtime
2015-04-29 16:05:20 -07:00
Victor Marmol
209b4fcbef
Merge pull request #6718 from vishh/sys_oom1
...
Adding system oom events from kubelet
2015-04-29 14:29:38 -07:00
Victor Marmol
fe4600ba17
Move ComputePodChanges to DockerManager.
...
This logic is specific to the Docker runtime. This move is the first
step towards making syncPod() runtime-agnostic.
2015-04-29 14:00:37 -07:00
Vishnu Kannan
020950fd0f
Adding events for system ooms.
...
Kubelet will continuously watch for system OOMs and generate events whenever it
encounters a system OOM.
2015-04-29 11:19:11 -07:00
Victor Marmol
f38c607285
Move Prober to its own subpackage.
...
This will allow it to be reused by the runtimes.
2015-04-29 10:11:28 -07:00
Yu-Ju Hong
33b8f487f6
Merge pull request #7449 from vmarmol/runtime-network-plugins
...
Move network plugin TearDown to DockerManager
2015-04-29 10:09:58 -07:00
Victor Marmol
02231ea75d
Merge pull request #7503 from jsafrane/devel/fix-volume-rm
...
Fixed kubelet deleting data from volumes on stop (#7317 ).
2015-04-29 10:01:16 -07:00
Jan Safranek
9b9e98a22f
Fixed kubelet deleting data from volumes on stop ( #7317 ).
...
We must not clear the pod directory in killUnwantedPods(), volumes are still
mounted there at this time. There already is cleanupOrphanedPodDirs(),
called later in the SyncPods() sequence, which should remove these pod
directories.
2015-04-29 10:41:19 +02:00
Yifan Gu
fb1c55aa11
kubelet/container: Add GetContainerLogs to runtime interface.
2015-04-28 20:26:16 -07:00
Victor Marmol
787d42d50b
Move network plugin teardown to DockerManager.
...
This teardown is Docker-specific and will let us also do the setup in
the manager in future cleanups.
2015-04-28 16:58:54 -07:00
Victor Marmol
de0957ccb1
Create Kubelet types package for common shared types.
2015-04-28 16:57:45 -07:00
Vishnu Kannan
820d0f3e83
Adding a 'PastEventf' method to EventRecorder interface. This will be
...
useful for recording the timestamp of events that happened in the past.
2015-04-28 16:13:29 -07:00
Dawn Chen
af5d017911
Merge pull request #7386 from vmarmol/rkt-pull-image
...
Kubelet: Factor out and remove pullImageAndRunContainer
2015-04-28 09:28:16 -07:00
Dawn Chen
1de4c45115
Merge pull request #7401 from vmarmol/rkt-kill-pod
...
Kubelet: Move killPod() logic to DockerManager's KillPod()
2015-04-28 09:25:12 -07:00
Victor Marmol
6b0db76e85
Move killPod() logic to DockerManager KillPod().
...
This moved Docker specific logic there and allows it to align with the
runtime API. There is still a pod infra container reference in the
function due to network plugins. We can handle this in the Kubelet since
we'll need to be explicit in stating that the network plugin will not
work in a non-Docker runtime.
2015-04-27 17:15:37 -07:00
Victor Marmol
42a2059a5d
Remove DockerPrefix references in Kubelet.
...
Makes this usage generic and usable by other runtimes.
2015-04-27 15:55:13 -07:00
Victor Marmol
3082bb291c
Remove pullImageAndRunContainer().
...
Relevant logic is now in shared helpers.
2015-04-27 15:13:11 -07:00
Victor Marmol
b232eef5f7
Move image PullPolicy logic to pullImage().
...
This will allow us to remove the Docker-specific logic in
pullImageAndRunContainer() and re-use pullImage() in other runtimes.
2015-04-27 15:13:11 -07:00
Dawn Chen
aa487b7cab
Merge pull request #7382 from vmarmol/rkt-deps
...
Move Docker-specific log handling to DockerManager.
2015-04-27 15:10:14 -07:00
Victor Marmol
7404b7019c
Move Docker-specific log handling to DockerManager.
...
Eases the separation of Docker-specific code into the Docker-specific
runtime.
2015-04-27 13:10:10 -07:00
Brian Grant
2648ae86d6
Merge pull request #6739 from pmorie/downward-api
...
Env var sources / downward API
2015-04-27 12:46:00 -07:00
Paul Morie
7d30f09ebf
Add downward API for environment vars
2015-04-27 14:13:11 -04:00
Victor Marmol
0c52f7b6a5
Move CreatePodInfraContainer to DockerManager.
...
This will allow us to start making it an implementation detail of the
Docker runtime.
2015-04-27 11:07:38 -07:00
Yifan Gu
6c98b9daee
kubelet/metrics: Move instrumented_docker.go to dockertools.
...
This can solve the circular import problem when we move the
kubelet.pullImage to kubelet/metrics or kubelet/container package.
2015-04-24 22:03:11 -07:00
Yu-Ju Hong
b0e6926f67
kubelet: filter out terminated pods in SyncPods
...
Once a pod reaches a terminated state (whether failed or succeeded), it should
not transit out ever again. Currently, kubelet relies on examining the dead
containers to verify that the container has already been run. This is fine
in most cases, but if the dead containers were garbage collected, kubelet may
falsely concluded that the pod has never been run. It would then try to restart
all the containers.
This change eliminates most of such possibilities by pre-filtering out the pods
in the final states before sending updates to per-pod workers.
2015-04-24 15:28:03 -07:00
Yifan Gu
b5a1b32aa4
kubelet/dockertools: Move RunContainer into container runtime.
...
Also removed ContainerRunner interface.
2015-04-23 16:40:37 -07:00
Yifan Gu
6ed27d06f7
kubelet: Move KillContainer to container runtime.
...
Rename KillContainerID(string) with KillContainer(string).
Delete the old KillContainer(*kubecontainer.Container).
2015-04-23 15:44:00 -07:00
David Oppenheimer
8667ebddff
Merge pull request #7249 from yifan-gu/generator
...
kubelet/container: Introduce RunContainerOptionsGenerator.
2015-04-23 14:59:23 -07:00
Dawn Chen
6207c518b3
Merge pull request #7254 from yifan-gu/readiness
...
kubelet/dockertools: Add readinessManage/containerRefManager to dockerManager.
2015-04-23 14:34:43 -07:00
Yifan Gu
e8d485a3a1
kubelet/dockertools: Add readinessManage/containerRefManager to dockerManager.
...
This can enable us to move KillContainer() to container runtime.
2015-04-23 14:20:34 -07:00
Yifan Gu
bd7132bc07
kubelet/container: Introduce RunContainerOptionsGenerator.
...
This interface wraps the kubelet to provide the options for
container runtime to run a container.
2015-04-23 13:55:50 -07:00
Dawn Chen
f7831dcd93
Merge pull request #7229 from vmarmol/stats
...
Kubelet: Add /stats/container endpoint for raw containers
2015-04-23 13:43:23 -07:00
Victor Marmol
c29d328c55
Kubelet: Add /stats/container endpoint.
...
This endpoint exposes container stats for all raw containers on the
machine. The addition is backwards compatible.
2015-04-23 10:38:29 -07:00
Yifan Gu
af1e9f737f
kubelet: Introduce volume manager.
...
The volume manager book-keeps the information for the volume mounts
on the kubelet, so we can avoid passing the volumeMap around.
2015-04-23 10:37:02 -07:00
Satnam Singh
2444c1f943
Propagate pod and container name for log files
2015-04-22 15:08:51 -07:00
Victor Marmol
45575d95b3
Merge pull request #7177 from yifan-gu/runner
...
kubelet/dockertools: Remove dockerContainerCommandRunner.
2015-04-22 13:24:50 -07:00
Yifan Gu
f59013410a
kubelet/container: Move Prober/HandlerRunner interface to container/helpers.go
...
This enables us to pass them to container runtime as parameters.
2015-04-22 11:56:15 -07:00
Yifan Gu
c55c879ffe
kubelet/dockertools: Remove dockerContainerCommandRunner.
...
Replace with docker manager.
2015-04-22 11:00:54 -07:00
Victor Marmol
914a6febfb
Merge pull request #7010 from yifan-gu/compute
...
kubelet: Refactor computePodContainerChanges().
2015-04-22 08:05:18 -07:00
Brian Grant
8dbbf3da5c
Merge pull request #7138 from pravisankar/unschedulable-event
...
Record an event on node schedulable changes
2015-04-22 07:11:14 -07:00
Yifan Gu
611fb25926
kubelet: Refactor GetDockerVersion().
...
Remove GetDockerServerVersion() from DockerContainerCommandRunner interface,
replaced with runtime.Version(). Also added Version type in runtime for version
comparision.
2015-04-21 14:52:08 -07:00
Ravi Sankar Penta
f1d88f6d2f
Record an event on node schedulable changes
2015-04-21 14:14:59 -07:00
Yifan Gu
5594981340
kubelet: Refactor computePodContainerChanges().
...
Pull generatePodStatus() and makePodDataDirs() out as they are the
common part for container runtimes.
2015-04-21 13:53:20 -07:00
Victor Marmol
4b9a64bcd8
Merge pull request #7098 from yifan-gu/handler
...
kubelet: Refactor runHandler().
2015-04-21 08:14:42 -07:00
Yifan Gu
c23b83b0ca
kubelet: Refactor runHandler().
...
Use new HandlerRunner type to replace runHandler()
2015-04-20 21:31:11 -07:00
Daniel Smith
462534ca5d
Merge pull request #7068 from krousey/api_pod_pointer
...
Changing a few more instances of api.Pod to *api.Pod
2015-04-20 17:09:28 -07:00
Kris Rousey
594f514843
Changing a few remaining instances of passing pods around by value. I
...
avoided changing api.PodList.Items to []*api.Pod.
2015-04-20 15:26:45 -07:00
Victor Marmol
d44e9b4880
Merge pull request #7048 from yujuhong/para_cleanup
...
Kubelet: parallelize cleaning up containers in unwanted pods
2015-04-20 14:59:07 -07:00
Yu-Ju Hong
275002173e
Kubelet: parallelize cleaning up containers in unwanted pods
...
Kubelet kills unwanted pods in SyncPods, which directly impact the latency of a
sync iteration. This change parallelizes the cleanup to lessen the effect.
Eventually, we should leverage per-pod workers for cleanup, with the exception
of truly orphaned pods.
2015-04-20 14:42:12 -07:00
Brendan Burns
01b891770f
Merge pull request #7054 from ncdc/dockerclient-version
...
Use go-dockerclient's APIVersion
2015-04-20 14:20:57 -07:00
Andy Goldstein
a0a80ea76e
Use go-dockerclient's APIVersion
...
Use go-dockerclient's APIVersion to check the minimum required Docker
version, as it contains methods for parsing the ApiVersion response from
the Docker daemon and for comparing 2 APIVersion objects.
2015-04-20 13:48:18 -04:00
Yu-Ju Hong
cd61aa9484
Merge pull request #7009 from yifan-gu/kube_dep
...
kubelet: Refactor prober.
2015-04-20 10:23:04 -07:00
Clayton Coleman
9e87924983
Tone down kubelet logs for already run containers
2015-04-19 22:55:38 -04:00
Yifan Gu
1d58992df7
kubelet: Refactor prober.
...
Decompose the health check prober from the kubelet.
2015-04-17 15:54:28 -07:00
Yu-Ju Hong
1f3e47f6f7
Merge pull request #7005 from yifan-gu/kube_dep
...
kubelet: Refactor shouldContainerBeRestarted():
2015-04-17 15:05:41 -07:00
Yifan Gu
29a5da231d
kubelet: Refactor shouldContainerBeRestarted():
...
Remove the function's dependency on kubelet.
2015-04-17 14:35:39 -07:00
Kris Rousey
81497f3ed2
Changing the scheduler package to use *api.Pod instead of api.Pod to
...
avoid unnecessary shallow copies. The change rippled through a lot of
code.
2015-04-17 13:34:31 -07:00
Yu-Ju Hong
13b29cd64b
Merge pull request #6595 from guenter/kubelet-update-channel-closed
...
kubelet syncloop should stop if/when updates chan closes
2015-04-17 10:42:05 -07:00
Victor Marmol
abab9ea31f
Merge pull request #6844 from yifan-gu/cleankube
...
kubelet: Clean up computePodContainerChanges.
2015-04-15 13:53:21 -07:00
Yifan Gu
3b28c6262b
kubelet: Clean up computePodContainerChanges.
...
More `continue`, less `else` to make it less indent and more readable.
2015-04-15 10:13:57 -07:00
Victor Marmol
fb3c351fe1
Run Kubelet on "/kubelet" container.
2015-04-14 10:29:05 -07:00
Victor Marmol
ca9e209ccb
Merge pull request #6795 from yifan-gu/cache
...
kubelet/container: Replace DockerCache with RuntimeCache.
2015-04-14 09:37:34 -07:00
Dawn Chen
8420abeea8
Merge pull request #6786 from yifan-gu/cleankube
...
kubelet: Remove unused docker functions.
2015-04-14 09:16:53 -07:00
Victor Marmol
e265f2c58d
Merge pull request #6799 from xiang90/kerr
...
pkg/kubelet: fix error msg in GetHostIP
2015-04-14 08:40:34 -07:00
Xiang Li
4a152290f4
pkg/kubelet: fix error msg in GetHostIP
2015-04-13 22:44:23 -07:00
Yifan Gu
e1feed9a8b
kubelet/container: Replace DockerCache with RuntimeCache.
2015-04-13 18:16:05 -07:00
Yifan Gu
7fedb14c27
kubelet: Remove unused docker functions.
...
Remove kubelet.getPodInfraContainer().
Remove dockertools.RemoveContainerWithID().
Remove dockertools.FindContainersByPod().
Also replace the useless test with a test for GetPods().
2015-04-13 16:32:18 -07:00
Yifan Gu
d14cb8f1dd
kubelet: Introduce PodInfraContainerChanged().
...
This functions computes in ahead whether we need to restart the pod
infra container.
2015-04-13 16:18:52 -07:00
Yifan Gu
dda600e45c
kubelet/dockertools: Add puller interfaces in the containerManager.
2015-04-13 15:34:22 -07:00
Yifan Gu
a3675e08f2
kubelet/dockertool: Move Getpods() to DockerManager.
2015-04-13 14:05:22 -07:00
Xiang Li
cef744ecaa
pkg/kubelet: move the capabilities related code to util.go
2015-04-11 12:09:11 -07:00
Tobi Knaup
3932dfd8bb
Log an error when update channel is closed.
2015-04-10 17:30:04 -07:00
Dawn Chen
fff6cebb5f
Merge pull request #6711 from yujuhong/container_status
...
Kubelet: surface the container creation/start failure reason
2015-04-10 17:19:32 -07:00
Yu-Ju Hong
bb417e82d7
Kubelet: surface the container creation/start failure reason
...
Container creation/start failure cannot be reproduced by inspecting the
containers. This change caches such errors so that kubelet can retrieve it
later.
This change also extends FakeDockerClient to support setting error response
for a specific function.
2015-04-10 16:02:27 -07:00
Daniel Smith
e2093798cb
Merge pull request #6675 from wojtek-t/nodes_support_field_selector
...
FieldSelector for node List()
2015-04-10 10:30:55 -07:00
Victor Marmol
1563a7636a
Merge pull request #6652 from dchen1107/podstatus
...
Populate last terminated container information
2015-04-10 09:21:58 -07:00
Wojciech Tyczynski
88eb0b0295
FieldSelector for node List()
2015-04-10 12:53:16 +02:00
Dawn Chen
563f2965ba
Populate last terminated container information
2015-04-09 16:10:13 -07:00
Daniel Smith
629d94657e
Merge pull request #6624 from gmarek/status_to_subresource
...
Update NodeStatus use subresources.
2015-04-09 16:00:15 -07:00
Victor Marmol
40acaef454
Merge pull request #6607 from yujuhong/mirror_update
...
Kubelet: recreate mirror pod if the static pod changes
2015-04-09 10:29:55 -07:00
Yifan Gu
b868f421e0
kubelet: Move pod infra container image setting to dockertools.
2015-04-09 09:53:07 -07:00
gmarek
ccc56d3c3c
Update NodeStatus use subresources.
2015-04-09 14:07:40 +02:00
Yu-Ju Hong
d7cf294c99
Kubelet: recreate mirror pod if the static pod changes
...
If a static pod changes, delete the corresponding mirror pod. When kubelet
could not see mirror pod from the API server update, it'd attemp to create a
new mirror pod with up-to-date specs.
2015-04-08 18:06:21 -07:00
Vish Kannan
43949b41d4
Merge pull request #6586 from dchen1107/podstatus
...
small cleanup by removing useless generatePodStatus
2015-04-08 14:59:23 -07:00
Tobi Knaup
3efff6d4e8
kubelet syncloop should stop if/when updates chan closes
2015-04-08 14:45:16 -07:00
Dawn Chen
914616a195
Merge pull request #6592 from vishh/kubelet_logging
...
Improve kubelet logging around startup.
2015-04-08 14:35:53 -07:00
David Oppenheimer
4ffc2aad21
Merge pull request #6146 from kazegusuri/node_client_label
...
List in NodesInterface takes label selector
2015-04-08 14:22:53 -07:00
Vishnu Kannan
2b5cad6acf
Improve kubelet logging around startup. This might help detect any lockup issues during startup.
2015-04-08 21:02:15 +00:00
Dawn Chen
b6d846aea5
small cleanup by removing useless generatePodStatus
2015-04-08 13:38:06 -07:00
Yifan Gu
4b945e7218
kubelet: Remove GetRecentDockerContainersWithNameAndUUID().
...
Add unit tests to test the restart behaviour under different
restart policy.
2015-04-08 09:44:23 -07:00
Yifan Gu
ddf323ee00
kubelet: Remove GetRecentDockerContainersWithNameAndUUID().
...
Always call GetPodStatus().
2015-04-08 09:44:23 -07:00
Yifan Gu
6103b144e0
kubelet: Remove GetRecentDockerContainersWithNameAndUUID().
...
Use the pod status to get the recent stopped containers in
shouldContainerBeRestarted().
2015-04-08 09:44:23 -07:00
Masahiro Sano
d04cc5ced4
List in NodesInterface takes label selector
2015-04-08 23:41:27 +09:00
gmarek
72182735b9
Remove Node Controllers ability to pull status from Kubelet
2015-04-08 09:44:42 +02:00
Daniel Smith
c1390a0836
version field selector field names in the client
2015-04-07 16:59:57 -07:00
Quinton Hoole
c670071e87
Revert "kubelet: Remove GetRecentDockerContainersWithNameAndUUID."
2015-04-07 14:25:10 -07:00
David Oppenheimer
402bf60366
Merge pull request #6214 from gmarek/move_consts_to_flags
...
Move NodeController constants to flags
2015-04-07 11:31:11 -07:00
gmarek
321a81047c
Move NodeController constants to flags
2015-04-07 12:33:03 +02:00
Yifan Gu
ba1ad9fad2
kubelet: Refactor RunInContainer/ExecInContainer/PortForward.
...
Replace GetKubeletDockerContainers() with findContainer().
2015-04-06 17:14:46 -07:00
Victor Marmol
7716804a0d
Merge pull request #6470 from yifan-gu/get_recent
...
kubelet: Remove GetRecentDockerContainersWithNameAndUUID.
2015-04-06 14:25:59 -07:00
Yifan Gu
a8c02412b2
kubelet: Remove GetRecentDockerContainersWithNameAndUUID().
...
Use the pod status to get the recent stopped containers in
shouldContainerBeRestarted().
2015-04-06 12:43:49 -07:00
James DeFelice
d194af6b4f
allow for more easily customized kubelet creation and initialization
2015-04-06 18:51:42 +00:00
Yu-Ju Hong
0e1bd18b3e
Fix the kubelet node watch
2015-04-04 09:59:39 -07:00
Dawn Chen
67c1678e7e
Merge pull request #6378 from yujuhong/docker_manager
...
RFC: Kubelet: a step towards to better encapsulation of docker functions
2015-04-02 14:22:26 -07:00
Yu-Ju Hong
d01bc660b5
Kubelet: a step towards to better encapsulation of docker functions
...
We want to stop leaking more docker details into kubelet, and we also want to
consolidate some of the existing docker interfaces/structs. This change creates
DockerManager as the new home of some functions in dockertools/docker.go. It
also absorbs containerRunner. In addition, GetDockerPodStatus is renamed to
GetPodStatus with the entire pod passed to it so that it is simialr to the what
is defined in the container Runtime interface.
Eventually, DockerManager should implement the container Runtime interface, and
integrate DockerCache with a flag to turn on/off caching. Code in kubelet.go
should not be using docker client directly.
2015-04-02 13:26:39 -07:00
Brian Grant
414be101b6
Merge pull request #6352 from piosz/api
...
Removed PodStatus.Host
2015-04-02 13:16:24 -07:00
Wojciech Tyczynski
6b08958264
Kubelet watching only its own Node
2015-04-02 18:39:59 +02:00
Piotr Szczesniak
5c6439d449
Removed PodStatus.Host
...
Fixes #6165
2015-04-02 16:38:45 +02:00
Dawn Chen
db28ca67f6
Using gcr.io/google_containers/pause by default
2015-04-01 14:59:44 -07:00
Kris Rousey
6904c4d585
Fixing a lot of string formatting issues with regards to:
...
* Improper format specifier (e.g. %s for bools or %s for ints)
* More or less parameters than format specifiers
* Not calling a formatting function when it should have (e.g. Error() instead of Errorf())
2015-03-31 16:47:10 -07:00
Victor Marmol
9bbf0b1546
Merge pull request #6100 from pmorie/entrypoint
...
Add control over container entrypoint
2015-03-31 09:58:40 -07:00
Victor Marmol
d6d370d8ae
Merge pull request #6211 from dchen1107/docker
...
publish node components version information
2015-03-31 09:47:08 -07:00
Dawn Chen
5b9a6d47e8
publish node components version information
2015-03-31 09:32:29 -07:00
Paul Morie
7628b37d78
Add control over container entrypoint
2015-03-31 12:32:03 -04:00
Victor Marmol
de35c8f2af
Record event when image GC fails.
2015-03-30 10:32:51 -07:00
Federico Simoncelli
0e60374346
nodes: record an event on NodeReady changes
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-03-30 12:01:09 -04:00
Federico Simoncelli
fe2d1f6762
node: move the reboot detection logic to kubelet
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-03-30 09:33:07 -04:00
Federico Simoncelli
604e0ad328
kubelet: move getNodeReference logic into a function
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-03-30 09:33:00 -04:00
Yu-Ju Hong
372c5c9f3a
Kubelet: set host field in the pending pod status
...
Otherwise, the apiserver would reject the update.
2015-03-27 17:26:47 -07:00
Victor Marmol
e4fc45c26f
Merge pull request #6054 from fgrzadkowski/fix_pod_status
...
Do not fail pod status update if failed to get host IP
2015-03-27 09:10:44 -07:00
Victor Marmol
4ed3346587
Merge pull request #6039 from yifan-gu/readiness
...
kubelet: Add container readiness manager.
2015-03-27 09:04:00 -07:00
Filip Grzadkowski
fe2f7f25c6
Do not fail if failed to get host IP
2015-03-27 14:15:41 +01:00
Yifan Gu
6fecda710c
kubelet: Add container readiness manager.
...
Move the readiness managing logic into pkg/kubelet/container package
to facilitate the pluggable container runtime.
2015-03-26 18:45:23 -07:00
Vish Kannan
f2c7dda6da
Merge pull request #6026 from dchen1107/clean
...
kubectl describe nodes id reports related events
2015-03-26 17:39:21 -07:00
Dawn Chen
f662d7d11c
Kubelet reports node related events with empty namespace for now.
2015-03-26 16:30:23 -07:00
Yifan Gu
5f08555f45
kubelet: Refactor kubelet.runContainer.
...
Push the run container logic into container runtime.
2015-03-26 13:43:45 -07:00
Victor Marmol
1cad0df268
Merge pull request #6004 from yifan-gu/ref_manager
...
kubelet: Move container reference manager to pkg/kubelet/container.
2015-03-26 13:04:34 -07:00
Brian Grant
3b0db99692
Merge pull request #5915 from piosz/api
...
Changed PodInfo to be a list
2015-03-26 12:46:50 -07:00
Yifan Gu
9f62b929b8
kubelet: Move container reference manager to pkg/kubelet/container.
...
This enables other package to use it, such as docktools.
2015-03-26 11:53:44 -07:00
Victor Marmol
a59e5f8995
Refactor pod killing to be done in a single killPod().
2015-03-26 11:25:48 -07:00
Victor Marmol
106cc037ee
Merge pull request #5995 from ArtfulCoder/pause_no_port_forward_for_net_host
...
Kill running Pod running with -net=true if kubelet does not allow it
2015-03-26 11:03:58 -07:00
Victor Marmol
d2ea1a793b
Merge pull request #5982 from yifan-gu/ref_manager
...
kubelet: Add container reference manager.
2015-03-26 10:20:13 -07:00
Abhishek Shah
5c42070eeb
Kill running Pod running with -net=true if kubelet does not allow it
2015-03-26 10:13:06 -07:00
Yifan Gu
a06bc96414
kubelet: Add container reference manager.
...
Move the reference managing logic into container reference manager.
This enables pluggable container runtime to manage the container references.
2015-03-26 09:50:54 -07:00
gmarek
5a11748018
Move Capacity from NodeSpec to NodeStatus
2015-03-26 15:28:48 +01:00
Piotr Szczesniak
31901ed9d0
Changed PodInfo to be a list
...
This change is to make API consistent with our convention.
Fixes #3622
2015-03-26 10:15:25 +01:00
Abhishek Shah
cd5ed38250
Stop port forwarding from pause in net=host mode
2015-03-25 17:55:37 -07: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
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
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
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
Filip Grzadkowski
74da3b14b0
Delete pod_cache and rely on updating pod status by kublet.
2015-03-25 15:08:09 +01:00
Sreekanth Pothanis
1c06cde4c4
added cloud provider flag to kubelet
...
This is to fix issue #5667
2015-03-24 19:32:50 -07:00
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
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
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
Deyuan Deng
ca68f4a9d1
Rename ConditionFull->ConditionTrue, ConditionNone->ConditionFalse
2015-03-24 17:28:59 -04: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
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
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
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
Victor Marmol
07f928be64
Cap container hostname length to 63 chars.
...
Fixes #5829 .
2015-03-23 19:36:45 -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
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
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
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
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
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
Abhishek Gupta
b0c23c1046
Headless Services: Adding option to specify None for PortalIP
2015-03-20 12:10:03 -07:00
Clayton Coleman
84ab8f7254
Reduce probe logging level
...
Too chatty for normal operation
2015-03-19 23:06:21 -04: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
CJ Cullen
7ddcecfd1c
Revert "Revert "[WIP] southbound networking hooks in kubelet""
2015-03-19 16:14:13 -07:00
Zach Loafman
b5d1e538df
Revert "[WIP] southbound networking hooks in kubelet"
2015-03-19 16:08:08 -07:00
Rajat Chopra
7857aa7751
kubelet networking plugin
2015-03-19 14:15:52 -07:00
Jerzy Szczepkowski
c0ff504ad3
Merge pull request #5501 from jszczepkowski/kubelet-spechost
...
Running resource predicate on kubelet.
2015-03-19 21:34:27 +01:00
Dawn Chen
4910be6dcb
Remove PodIP from ContainerStatus
2015-03-19 10:42:01 -07: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
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
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
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
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
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
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
Filip Grzadkowski
1a352b74ba
Periodically update pod status from kubelet.
2015-03-18 12:11:39 +01:00
Victor Marmol
d78ecf820e
Garbage collecting images in the Kubelet.
...
Integrated the imageManager into the Kubelet and applies the garbage
collection policy every 5 minutes. The default policy allows up to 90%
disk usage, after which images are garbage collected to bring limit back
down to 80%.
Fixes #157 .
2015-03-17 17:56:02 -07:00
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
Salvatore Dario Minonne
31ddefc347
Finalize fields.Selector
2015-03-17 22:55:43 +01:00
Victor Marmol
d1ed571e28
Use containerGC in the Kubelet.
...
New policy default is 100 containers max.
Fixes #5457 .
2015-03-17 10:50:32 -07:00
Yu-Ju Hong
929fb63b33
Sync static pods from Kubelet to the API server
...
Currently, API server is not aware of the static pods (manifests from
sources other than the API server, e.g. file and http) at all. This is
inconvenient since users cannot check the static pods through kubectl.
It is also sub-optimal because scheduler is unaware of the resource
consumption by these static pods on the node.
This change syncs the information back to the API server by creating a
mirror pod via API server for each static pod.
- Kubelet creates containers for the static pod, as it would do
normally.
- If a mirror pod gets deleted, Kubelet will re-create one. The
containers are sync'd to the static pods, so they will not be
affected.
- If a static pod gets removed from the source (e.g. manifest file
removed from the directory), the orphaned mirror pod will be deleted.
Note that because events are associated with UID, and the mirror pod has
a different UID than the original static pod, the events will not be
shown for the mirror pod when running `kubectl describe pod
<mirror_pod>`.
2015-03-17 08:45:56 -07:00
Filip Grzadkowski
18b728ff44
Revert "Periodically update pod status from kubelet."
2015-03-17 13:51:45 +01:00
Filip Grzadkowski
336525a27d
Periodically update pod status from kubelet.
2015-03-16 23:03:03 +01:00
Victor Marmol
bdc1981eb5
Merge pull request #5433 from wojtek-t/remove_bound_pods
...
Remove BoundPods from Kubelet
2015-03-16 13:38:24 -07:00
Wojciech Tyczynski
5d95e9e671
Remove BoundPods from Kubelet
2015-03-16 19:17:21 +01:00
Jeff Lowdermilk
e37fd2a84d
Merge pull request #5477 from dchen1107/clean
...
Convert RestartPolicy to string for v1beta3.
2015-03-16 10:23:52 -07:00
Dawn Chen
34e9c82c70
Convert RestartPolicy to string for v1beta3.
...
Fixed #3607 and spiritually support #5475
2015-03-13 18:38:07 -07:00
Satnam Singh
ce7658a302
Merge pull request #5445 from vmarmol/unused
...
Remove unused handleUpdate() in Kubelet.
2015-03-13 16:00:17 -07:00
Dawn Chen
0cc2b62b4a
Merge pull request #5265 from ddysher/kubelet-post-status
...
kubelet post node status to master
2015-03-13 15:29:22 -07:00
Vish Kannan
13253d09e1
Merge pull request #5444 from vmarmol/lock
...
Lock access and update to Kubelet pods.
2015-03-13 11:06:50 -07:00
Victor Marmol
04233cdb88
Remove unused handleUpdate() in Kubelet.
2015-03-13 10:35:50 -07:00
Victor Marmol
0e485310cf
Lock access and update to Kubelet pods.
2015-03-13 10:31:26 -07:00
gmarek
3489d1ae01
Refactor kubelet syncPod method
2015-03-13 18:22:42 +01:00
Victor Marmol
4675fcc57d
Make ParseDockerName() return an error.
...
This forces callers to handle cases where the container name could not
be parsed.
2015-03-12 16:33:16 -07:00
Victor Marmol
51122998e3
Garbage collect unidentified Kubernetes containers.
...
These containers may be caused by a change in the Kubernetes naming
convention. The old containers are killed, the new ones started, but the
old ones are never GC'd. This change makes Kubelet GC all Kubernetes
containers, old and new.
Fixes #5372 .
2015-03-12 11:40:35 -07:00
Timothy St. Clair
308bb84cf3
Minor cleanup for etcd cleaning from kubelet
2015-03-12 09:39:22 -05:00
Eric Tune
ae9bc28f8b
Remove mentions of etcd in kubelet.
2015-03-11 16:40:20 -07:00
Eric Tune
ac7bf05079
Kubelet has not even heard of etcd.
2015-03-11 16:29:31 -07:00
Deyuan Deng
9982aaa960
kubelet post node status to master
2015-03-10 23:17:36 -04:00
Yifan Gu
241ef34fba
Refactor pkg/kubelet/kubelet.go: shouldContainerBeRestarted().
...
Simplify the function signature.
2015-03-09 17:42:57 -07:00
Victor Marmol
e187be9fe1
Merge pull request #5143 from vmarmol/cadvisor-pkg
...
Refactoring Kubelet's cAdvisor interface into a package.
2015-03-09 11:36:03 -07:00
Victor Marmol
ab3c9de34b
Refactoring cAdvisor interface into a package.
...
This will make it easier to start running the real cAdvisor alongside
Kubelet. This change is primarily no-op refactoring. The main behavioral
change is that we always create a cAdvisor interface and expect it to
always be available. When we make a request, if cAdvisor is not
connected the request fails with a connection error. This failure is
handled today as well.
2015-03-09 11:19:05 -07:00
Victor Marmol
ca84aae454
Kubelet: wait up to 5m for Docker to come up.
...
The Kubelet assumes Docker is running during its execution and on
machine boot it is a race between Docker coming up and Kubelet calling
Docker. This PR waits for Docker to be up before the Kubelet begins
doing useful work. On timeout, Kubelet exits and expects to be
restarted.
2015-03-09 09:50:34 -07:00
Victor Marmol
1866adddd3
Merge pull request #5157 from yifan-gu/clean_prober
...
Adjust prober's logging verbose.
2015-03-06 18:04:12 -08:00
Yifan Gu
da5d7c7814
Adjust prober's logging.
2015-03-06 17:30:29 -08:00
Victor Marmol
798513844c
Merge pull request #5148 from yifan-gu/clean_prober
...
Refactor pkg/kubelet/kubelet.go: probeContainer().
2015-03-06 17:04:57 -08:00
Yifan Gu
09af0cd3b5
Refactor pkg/kubelet/kubelet.go: probeContainer().
...
Split the function into probeContainerLiveness() and probeContainerReadiness().
2015-03-06 16:37:58 -08:00
Dawn Chen
9439c0f3bd
Merge pull request #5103 from yujuhong/naming
...
kubelet: revamp the pod/container naming scheme
2015-03-06 15:58:58 -08:00
Yu-Ju Hong
fe70be9261
kubelet: revamp the pod/container naming scheme
...
There are two main goals for this change.
1. Fix the naming scheme in kubelet so that it accepts DNS subdomain
name/namespaces correctly (#4920 ). The design is discussed in #3453 .
2. Prepare for syncing the static pods back to the apiserver(#4090 ). This
includes
- Eliminate the source component in the internal full pod name (#4922 ). Pods
no longer need sources as they will all be sync'd via apiserver.
- Changing the naming scheme for the static (file-, http-, and etcd-based)
pods such that they are distinguishable when syncing back to the apiserver.
The changes includes:
* name = <pod.Name>-<hostname>
* namespace = <cluster_namespace> (i.e. "default" for now).
* container_name = k8s_<contianer_name>.<hash_of_container>_<pod_name>_<namespace>_<uid>_<random>
Note that this is not backward-compatible, meaning the kubelet won't recognize
existing running containers using the old naming scheme.
2015-03-06 13:14:45 -08:00
Yu-Ju Hong
32fd331e73
Revert "Split up kubelet "source seen" logic"
...
We want to sync pods from file/http/etcd sources to the apiserver, hence
differentiating sources is no longer desired.
This reverts commit 110ab6f1bd
.
2015-03-06 12:57:48 -08:00
Deyuan Deng
50de1a80c2
kubelet should take a client interface
2015-03-06 15:01:55 -05:00
Dawn Chen
2d0743b143
Merge pull request #5019 from yujuhong/reject_pods
...
kubelet: reject pods on host port conflict
2015-03-06 11:42:04 -08:00
Yu-Ju Hong
3ccdb8db98
kubelet: reject pods on host port conflict
...
When a host port conflict is detected, kubelet should set the pod status to
fail. The failed status will then be polled by other components at a later time,
which allows replication controller to create a new pod if necessary.
To achieve this, this change stores the pod status information in a status map
upon the detecton of port conflict. GetPodStatus() consults this status map
before attempting to query docker. The entries in the status map will be removed
when the pod is no longer associated with the node.
2015-03-06 10:46:49 -08:00
gmarek
4a01a4dbf5
Refactor Kubelets syncPod function by wrapping some functionalities into functions
2015-03-06 18:32:11 +01:00
Dawn Chen
54b2b47caa
Merge pull request #4756 from vishh/kubelet
...
Relax constraints on container status while fetching container logs
2015-03-05 21:49:48 -08:00
Yifan Gu
ed1823e276
Refactor pkg/kubelet/kubelet.go: syncPod().
...
Makes the syncPod() takes only the containers that belongs to the pod.
2015-03-05 16:40:50 -08:00
Vishnu Kannan
f6910803a9
Relax constraints on container status while fetching container logs
2015-03-06 00:19:52 +00:00
Paul Morie
02b18edac6
Allow multiple sources to be used with record package
2015-03-05 13:54:29 -05:00
Derek Carr
cb1e044a60
Merge pull request #4923 from lavalamp/fix4
...
Allow reflector to do full resync periodically
2015-03-04 09:58:03 -05:00
Victor Marmol
71e545bf81
Merge pull request #4970 from dchen1107/podstatus
...
Hide POD container from end users
2015-03-02 17:15:24 -08:00
Dawn Chen
dad365fb2b
Hide POD container from end users
2015-03-02 17:03:28 -08:00
Tim Hockin
ea548b8260
Rename type Port to ContainerPort
...
Sadly I had to do this by hand - I just could not get gorename to fix up
users of it.
2015-02-27 21:05:59 -08:00
Daniel Smith
554b1c847c
add occasional polling to reflector
2015-02-27 16:59:14 -08:00
Victor Marmol
c7e7ecdf2c
Handle crash in per-pod thread and container killer.
2015-02-27 16:33:46 -08:00
Victor Marmol
cc3c4414f8
Merge pull request #4915 from yujuhong/hostport
...
kubelet: record an event with a clear reason on host port conflict
2015-02-27 16:04:04 -08:00
Yu-Ju Hong
241df2d3be
kubelet: record an event with a clear reason on host port conflict
...
Currently, kubelet silently ignores pods that caused host port conflict. This
commit surfaces the error by recording an event.
It also makes sure that kubelet iterates through the pods in the order of the
creation timestamp, which ensures that pods created later are ignored on
conflict.
2015-02-27 15:51:53 -08:00
Victor Marmol
556acc792b
Adding ContainersPerPodCount metric.
...
This will let us know the composition of pods in clusters.
2015-02-27 11:27:09 -08:00
Victor Marmol
a9301b1996
Adding metric for latency of SyncPods (synching all pods).
2015-02-27 11:11:43 -08:00
Victor Marmol
cbf93822ac
Adding metrics to measure latency of Docker operations.
...
Part of #4604 .
2015-02-27 10:26:06 -08:00
Victor Marmol
ed0f5885b5
Adding sync pod latency metric (again).
...
Latency is broken down by create, update, and sync pods.
Part of #4604 .
2015-02-27 09:35:20 -08:00
Wojciech Tyczynski
a973f57d6b
Thread per pod
2015-02-27 13:27:29 +01:00
Sami Wagiaalla
9150cb9d95
Catch kubelet-master hostname mismatch during health check
...
During the kubelet's /healthz responce check to see if the
hostname used by the master matches the hostname the kubelet
knows itself by. If not fail the health check.
Signed-off-by: Sami Wagiaalla <swagiaal@redhat.com>
2015-02-26 10:22:03 -05:00
Vish Kannan
e3af23e6e9
Merge pull request #4792 from vmarmol/mon-containers-per-pod
...
Add Kubelet metrics for pod and container counts.
2015-02-25 18:51:22 -08:00
Victor Marmol
95464349d5
Add Kubelet metrics for pod and container counts.
...
Part of #4604 .
2015-02-25 12:18:59 -08:00
Daniel Smith
ec8ecf3993
Merge pull request #4494 from brendandburns/race
...
Add protection for the pods member varaible.
2015-02-25 10:41:32 -08:00
Brendan Burns
801ad909ca
Add protection for the pods member varaible.
...
Address comments.
2015-02-24 19:36:11 -08:00
Vish Kannan
0b15f2ff65
Merge pull request #4784 from vmarmol/pod-restart
...
Kill infra pod when a container is restarted.
2015-02-24 13:37:08 -08:00
Vish Kannan
c561c8b0b1
Merge pull request #4753 from vmarmol/mon
...
First Kubelet metric and overall plumbing.
2015-02-24 12:51:34 -08:00
Victor Marmol
aadbf221d2
Kill infra pod when a container is restarted.
...
Revert 0e20f7d736
.
Fixes #4759 .
2015-02-24 11:52:05 -08:00
Rohit Jnagal
e77322a561
Merge pull request #4755 from yifan-gu/cleanup
...
pkg/kubelet: Fix logging.
2015-02-24 10:12:02 -08:00
Rohit Jnagal
590a62ffe5
Merge pull request #4767 from mikedanese/kind-to-type
...
Rename {Node,Pod}ConditionKind -> {Node,Pod}ConditionType
2015-02-24 10:10:57 -08:00
Yifan Gu
1a5a842ac5
pkg/kubelet: Fix logging.
2015-02-24 09:47:10 -08:00
Wojciech Tyczynski
dcef5e2955
Introduce DockerCache in Kubelet.
2015-02-24 09:10:07 +01:00
Mike Danese
5267127af1
api: rename conditionkind -> conditiontype
2015-02-23 22:13:21 -08:00
Victor Marmol
c40a60e945
Adding image pull latency metric.
...
Also adding TODOs for other metrics.
Part of #4604 .
2015-02-23 16:30:29 -08:00
Rohit Jnagal
50700419ea
Merge pull request #4732 from yifan-gu/cleanup
...
Remove outdated const.
2015-02-23 16:06:32 -08:00
Victor Marmol
a6d975c929
Remove pullLock from Kubelet.
...
The lock was only ever used to grab a read lock before container pulls.
2015-02-23 13:27:55 -08:00
Yifan Gu
a631252abf
Remove outdated const.
2015-02-23 11:00:38 -08:00
Victor Marmol
da2f4b6d61
Check Docker init PID is valid before we use it.
...
This gives us an error if the PID is not returned as we expect.
2015-02-20 13:10:40 -08: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
Dawn Chen
efac150039
Merge pull request #4563 from xiang90/syncpod
...
pkg/kubelet: recreate infra pod if the pod is changed
2015-02-20 00:29:26 -08:00
Dawn Chen
530c1559e1
Merge pull request #4647 from vmarmol/ooms
...
Make POD container last OOM victim
2015-02-20 00:25:52 -08:00
Victor Marmol
8649628c6c
Make POD container last OOM victim.
...
Setting the oom_score_adj of the PID of the POD container to -100 which is less
than the default of 0. This ensures that this PID is the last OOM victim
chosen by the kernel.
Fixes #3067 .
2015-02-19 19:24:01 -08:00
Daniel Smith
b7b537efc7
fix confusing defer
2015-02-19 17:11:32 -08:00
Victor Marmol
40cb417901
Merge pull request #4531 from wojtek-t/batch_requests_in_kubelet
...
Batch updates of multiple Pods.
2015-02-19 10:50:26 -08:00
Jerzy Szczepkowski
d614fc7fcc
Fire event for pod when mount fails.
...
Implemented firing event for pod when mount of external volume fails. Fixes #4540 .
2015-02-19 11:08:36 +01:00
Wojciech Tyczynski
702ad7732f
Applied comments
2015-02-19 08:01:16 +01:00
Xiang Li
0e20f7d736
pkg/kubelet: recreate infra pod if the pod is changed
2015-02-18 15:05:16 -08:00
Wojciech Tyczynski
25c8f07c67
Batch updates of multiple Pods.
2015-02-18 16:46:16 +01:00
Dawn Chen
bafa240187
Add debugging information for #4472
2015-02-17 13:28:15 -08:00
Clayton Coleman
4859aa7cd8
Merge pull request #4453 from derekwaynecarr/make_quota_more_efficient
...
Make ListWatch work with a ListFunc and WatchFunc
2015-02-17 14:48:11 -05:00
Xiang Li
042dc1faa3
pkg/kubelet: uncaptialize error message
2015-02-16 09:33:20 -08:00
Xiang Li
2437e94248
pkg/kubelet: fix wrong code path in runContainer
2015-02-16 09:32:37 -08:00
derekwaynecarr
c0ce15c588
Make list watch take a ListFunc and WatchFunc, provide default funcs from client
2015-02-15 22:26:05 -05:00
Dawn Chen
20dc1c2481
Merge pull request #4410 from brendandburns/fixer
...
Don't delete the pod infrastructure container on health check failures.
2015-02-13 15:18:27 -08:00
Victor Marmol
5d6ad845cc
Use Docker name (not ID) to parse Kubernetes components.
...
Since the parsing function doesn't return an error all the components
returned empty strings. This caused us to enforce the MaxContainerLimit
as a global limit instead of a per-container limit.
Fixes #4413 .
2015-02-13 13:08:15 -08:00
Brendan Burns
4ad3ea438d
Revert "Revert "Add an event for health check failures.""
...
This reverts commit fc4e711a8c
.
2015-02-13 09:23:13 -08:00
Saad Ali
fc4e711a8c
Revert "Add an event for health check failures."
2015-02-13 08:10:45 -08:00
Saad Ali
c112f8f1bb
Merge pull request #4408 from brendandburns/printing
...
Add an event for health check failures.
2015-02-13 07:59:26 -08:00
Brendan Burns
5e49a606e1
Address changes.
2015-02-12 21:39:42 -08:00
Brendan Burns
8b7dfc9359
Return logs for failed and succeeded pods too.
2015-02-12 21:36:25 -08:00
Brendan Burns
4dbf98e98f
Don't delete the pod infrastructure container on health check failures.
2015-02-12 21:28:32 -08:00
Brendan Burns
c03a435501
Add an event for health check failures.
2015-02-12 19:08:23 -08:00
Eric Tune
dd8f335380
Merge pull request #4376 from dchen1107/podstatus
...
Fix podstatus issue caused by docker's resource temporarily unavailable issue
2015-02-12 13:16:09 -08:00
Dawn Chen
af54c62766
Fix podstatus issue caused by docker's resource temporarily unavailable error
2015-02-11 23:52:58 -08:00
Vishnu Kannan
922881fcd2
Improve error handling for '/containerLogs' API in kubelet.
2015-02-12 02:22:26 +00:00
Dawn Chen
f5f2b6f773
Check if kubelet does know such Pod before querying status.
2015-02-11 10:16:04 -08:00
Mike Danese
3d0cd81feb
refactor pkg/probe ProbeRunners to interfaces and move global probers into kubelet field for testability
2015-02-10 08:30:11 -08:00
Mike Danese
043794492e
implement readiness.
2015-02-10 08:30:09 -08:00
Brian Grant
175e9caa55
Merge pull request #4194 from dchen1107/podstatus
...
Kubelet decides podStatus
2015-02-05 17:18:39 -08:00
Mike Danese
14bfec92f2
rename probe.Status to probe.Result.
2015-02-05 15:49:58 -08:00
Dawn Chen
f762e062f2
Kubelet decides podStatus
2015-02-05 15:49:41 -08:00
Brendan Burns
8e6f5c7201
Merge pull request #3593 from commonlisp/master
...
Add timeouts to HealthChecks and retry checks
2015-02-05 15:40:22 -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
George Kuan
e8c33b7916
Add timeouts to HealthChecks and retry checks
...
Fixes issue #3532 . Added timeouts for HTTP and TCP checks
and enabled kubelet/probe to kubelet#maxRetries times
before declaring Failure.
Added Probe.TimeoutSecs to API
Probe variants now check container.LivenessProbe.TimeoutSeconds
Also added a test for timeouts in http_test.go.
2015-02-05 06:04:45 -08:00
Brendan Burns
cfe5b14114
Wait until containers actually finish running before trying to clean up
...
volumes or pods.
2015-02-04 17:28:41 -08:00
Wojciech Tyczynski
ead67108ce
Use existing method to get Docker version.
2015-02-04 20:50:21 +01:00
Wojciech Tyczynski
78f66a6ce9
Check Docker version in Kubelet /healthz handler
2015-02-04 18:31:24 +01:00
chakri
9508b2bf12
Fix orphaned pod & volume cleanup order. Volumes need to be unmounted before pod cleanup.
2015-02-04 01:46:28 +00:00
Vishnu Kannan
5e36f63f8b
Adding ResourceRequirementSpec to v1beta1, v1beta2, and v1beta3 APIs. The old resource
...
quantities 'CPU' and 'Memory' will be preserved until support for v1beta1 and v1beta2 APIs are
dropped.
Improved resource validation in the process.
2015-02-01 02:19:55 +00:00
Clayton Coleman
556e59b512
Merge pull request #3810 from ironcladlou/cache-namespacing
...
Support namespacing in cache.Store
2015-01-30 13:19:41 -05:00
Ye Yin
248624fc1f
Add docker's add/drop capabilites
2015-01-30 15:09:31 +08:00
Dan Mace
5ee943d683
Support namespacing in cache.Store implementations
...
Support namespacing in cache.Store by framing the interface functions
around interface{} and providing a key function to each Store implementation.
Implementation of a fix for #2294 .
2015-01-29 17:39:49 -05:00
Mrunal Patel
19e0605f5b
Replace "net" by "pod infra" in docs and format strings.
2015-01-28 15:03:06 -08:00
Tim Hockin
c8f61885df
Merge pull request #3695 from mikedanese/ready
...
refactor pkg/health into more reusable pkg/probe
2015-01-28 11:00:32 -08:00
Paul Morie
962bdda0dc
Fix typo in kubelet
2015-01-28 12:00:53 -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
Brian Grant
dd45246150
Merge pull request #3587 from dchen1107/image
...
Clean up Kubernetes PullPolicy
2015-01-20 17:18:26 -08:00
Dawn Chen
2299c04cea
Remove image GC.
...
Fix #3617,#3611, and #3393 .
2015-01-20 13:43:08 -08:00
Dawn Chen
3101a33d32
Kubelet stop using api/helper.go for PullPolicy
2015-01-20 11:54:22 -08:00
Tim Hockin
6cb275829f
Implement volumes as plugins.
...
Break up the monolithic volumes code in kubelet into very small individual
modules with a well-defined interface. Move them all into their own packages
and beef up testing along the way.
2015-01-20 11:45:45 -08:00
Brendan Burns
d54242a649
Merge pull request #3552 from commonlisp/master
...
Replace kubelet logging %s--%s--%s with dockertools.BuildDockerName()
2015-01-16 14:31:43 -08:00
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
George Kuan
af4bbd1a1b
Replace kubelet logging %s--%s--%s with dockertools.BuildDockerName()
...
Fixes issue #3454
2015-01-15 19:47:54 -08:00
Daniel Smith
46f8a56dba
Merge pull request #3376 from erictune/channel_api
...
Kublet watches Pods.
2015-01-15 14:48:12 -08:00
Eric Tune
b759f67ee3
Kublet watches Pods.
...
Added a kubelet config source for watching pods on apiserver.
The pods are converted to boundpods for merging with other
config sources.
The preferred way to create a kubelet is now to pass an apiserver
client but not an etcd client. Changed cmd/integration to use
apiserver to talk to kubelets. And cmd/kubernetes.
Unit, integration, and e2e tests pass, except for a failure of the pd
e2e test which was unrelated.
2015-01-14 15:31:26 -08:00
Tim Hockin
1be3de895c
Move util.UID to pkg/types
2015-01-14 15:22:21 -08:00
Daniel Smith
c13ae34b02
Merge pull request #3445 from saad-ali/fix3172
...
Remove CONDITION from event object completely
2015-01-14 15:03:06 -08:00
Eric Tune
88c68e0349
Merge pull request #3331 from pmorie/services
...
Service visibility w/in namespaces, master services, set env vars in kubelet
2015-01-14 15:01:05 -08:00
saadali
90dfdcecd5
Remove CONDITION from event object completely
...
# *** ERROR: *** Some files have not been gofmt'd. To fix these
# errors, run gofmt -s -w <file>, or cut and paste the following:
# gofmt -s -w pkg/kubecfg/resource_printer.go pkg/proxy/config/config.go pkg/runtime/types.go
#
# Your commit will be aborted unless you override this warning. To
# commit in spite of these format errors, delete the following line:
# COMMIT_BLOCKED_ON_GOFMT
2015-01-14 14:17:16 -08:00
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
Tim Hockin
ca89aa6528
Make data dirs for all pods when syncing
2015-01-13 17:18:21 -08:00
saadali
110ab6f1bd
Split up kubelet "source seen" logic
2015-01-12 21:48:55 -08:00
Tim Hockin
905514a12b
Ensure Namespace and UID are set in kubelet
...
Make all kubelet config sources ensure that UID and Namespace are defaulted, if
need be.
We can *almost* disable the "if blank" logic for UID, except for tests that
call APIs that do not run through SyncPods. We really ought to be enforcing
invariants better.
2015-01-12 14:27:34 -08:00
Tim Hockin
af0e2fd551
Merge pull request #3403 from thockin/klet-dirs-structure
...
Apply more structure to pod data dirs
2015-01-12 14:19:22 -08:00
saadali
e1917cf900
Fix "Kubelet doesn't kill old pods when BoundPods is empty" issue
2015-01-12 12:39:47 -08:00
Tim Hockin
523a80bec7
Apply more structure to pod data dirs
...
This is makes it possible to read back "known" pods from disk without
getting other (non-pod) kubelet dirs in the mix. Ditto for containers
within a pod. This is just saner overall. Pods now nest in a pods/
dir. Likewise containers.
2015-01-12 06:16:32 -08:00
Eric Tune
29d084c4d3
Pass client into Kubelet.
...
Subsequent PR will make use of it.
2015-01-08 15:35:17 -08: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
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
Daniel Smith
95dd2d7ca6
reuse function; never ever unlock without defer
2015-01-07 17:07:12 -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
Daniel Smith
7f49ba0dcf
Put quantity into packages
...
kubelet, GCE, validation, client
2015-01-07 15:21:34 -08: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
Brendan Burns
7c69570663
Add a lock around the other docker pull.
...
Fixes e2e (I hope), certainly passes e2e in my client.
2015-01-07 00:17:57 -08:00
Brendan Burns
733e12e19b
Revert "Avoid race between image pull and garbage collect"
...
This reverts commit 6f14e2e210
.
2015-01-06 23:23:23 -08:00
Brendan Burns
e84b4d03a4
Merge pull request #3183 from anguslees/pull-lock
...
Avoid race between image pull and garbage collect
2015-01-06 21:23:29 -08:00
saadali
d6d18a32e7
Replace %s with %q to make empty strings more obvious
2015-01-05 16:38:47 -08:00
saadali
eb831919d9
Improve kubelet logging around container being killed due to hash change
2015-01-05 16:20:40 -08:00
Angus Lees
6f14e2e210
Avoid race between image pull and garbage collect
...
Hold the pullLock while pulling regular container images, not just the
network container.
Also: previously, the locks were grabbed at too-low a layer in the
callstack, leaving a (narrow) window where images could be pulled and
then garbage collected before being used.
This change takes the existing pullLock a layer higher in the call stack
so the critical regions encompass the entire find+delete and pull+use
operation in both cases.
2014-12-31 11:50:40 +11:00
saadali
e8d30f019d
Modify "kubectl get events" to print FieldPath so BoundPod events for the same Pod but different containers can be differentiated
2014-12-29 21:32:49 -08:00
Dawn Chen
d38613777b
Propagate syncPod error as event to upper layer.
2014-12-29 15:42:47 -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
Brendan Burns
b8781c04bb
Add support for garbage collecting images.
2014-12-22 16:56:58 -08:00
Vish Kannan
c34f2d354c
Merge pull request #3035 from dchen1107/master
...
Update fsouza/go-dockerclient pkg to latest revision and fix some compiling issues.
2014-12-18 14:07:40 -08:00
Dawn Chen
608c3d5046
Update kubelet package on latest go-dockerclient package.
2014-12-18 13:49:13 -08:00
Brendan Burns
845fb5013d
Remove some dead code.
2014-12-18 13:32:20 -08:00
Brendan Burns
7da0378f3c
Track the sources that the kubelet has seen, and only delete pods
...
when every source has been seen at least once.
2014-12-17 13:08:43 -08:00
Clayton Coleman
dadb8431c4
Remove internal PodState in favor of internal PodStatus object
2014-12-15 16:50:05 -05:00
Daniel Smith
e46bfcf699
Allow, when testing, SelfLinks to be unset. Kubelet now makes events in tests.
2014-12-09 17:53:42 -08:00
Daniel Smith
ba62943b8e
Compare containers by name, not by pointer equality.
2014-12-09 17:06:39 -08:00
Tim Hockin
acc6b95c21
Add functions to get kubelet directories.
...
Gets rid of some magic constants and makes volume plugins (coming later)
cleaner.
2014-12-06 11:00:19 -08:00
Tim Hockin
95a9098311
fix 'go vet' warnings
2014-11-21 09:45:28 +08: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
Dawn Chen
6d3324c3fd
Add image related events to kubelet.
2014-11-19 15:16:14 -08:00
Eric Tune
0ca192889f
Fix namespace of minion birthcry event.
2014-11-17 15:34:07 -08:00
Daniel Smith
eeb4547bec
Merge pull request #2392 from dchen1107/upstream1
...
Generate container related events from kublet
2014-11-17 11:28:52 -08:00
Dawn Chen
736c4ffb0b
more events from kublet
2014-11-17 11:00:46 -08:00
Dawn Chen
8a508bcce3
Merge pull request #2391 from lavalamp/fix3
...
Remove confusing function; add TODO and explanation for (nonfatal) error...
2014-11-14 17:24:18 -08: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
Dawn Chen
f729d748ac
If the image with :latest tag specified in Spec, kubelet should try
...
to pull the latest one even the policy is PullIfNotPresent.
2014-11-14 16:09:53 -08:00
Dawn Chen
ada43ae233
Fixed Eventf with wrong arguments.
2014-11-10 23:53:48 -08:00
Eric Tune
08c8f2cde1
Record event of kubelet restart re: minion obj.
2014-11-10 13:46:48 -08:00
Dawn Chen
57454cce81
Add support to capture application termination message and propagate
...
the message to the upper layer through ContainerStatus.
2014-11-10 10:56:23 -08:00
Dawn Chen
e88e490614
Merge pull request #2143 from lavalamp/eventing2.1
...
Begin putting event emission into kubelet
2014-11-05 15:37:26 -08:00
Brendan Burns
0a1493a5ce
Merge pull request #2160 from dchen1107/fix
...
Restart network container when container's configure is changed.
2014-11-05 15:13:05 -08:00
Daniel Smith
dcc111bf13
Start putting event generation into kubelet (not enabled yet)
2014-11-05 15:09:14 -08:00
Daniel Smith
4b16e979e6
Fix nil docker client (how did this ever work???)
2014-11-04 16:58:37 -08:00
Dawn Chen
03958f5049
Restart network container when container's configure is changed.
...
Fix #2099
2014-11-04 14:38:33 -08:00
Brendan Burns
69ad5c9bff
Merge pull request #2077 from dchen1107/cleanup
...
PodUpdate only has the delta changes, not full snapshot of all desired
2014-10-30 21:46:26 -07:00
Dawn Chen
a1e79048a6
Add /podSpecs to Kubelet
2014-10-30 16:38:08 -07:00
Dawn Chen
445ec719c9
PodUpdate only has the delta changes, not full snapshot of all desired
...
BoundPods on a node. PR #1865 has a wrong assumption, with which any
PodUpdate operation will cause rest of running containers without updates
are killed as an unexpected ones.
Fix #2028
2014-10-30 11:22:59 -07:00
Brendan Burns
51bf451932
Add container garbage collection.
2014-10-28 12:52:06 -07:00
Tim Hockin
0a202354b9
Fix race between syncPod and syncPods
2014-10-23 15:53:26 -07:00
Tim Hockin
099934d49f
Cleanups in syncPod
2014-10-23 15:53:26 -07:00
Tim Hockin
76c33a88b6
Remove redundancy in SyncPods
2014-10-23 15:53:26 -07:00
Tim Hockin
36a05ee871
Improve kubelet logging
2014-10-23 15:53:26 -07:00
Tim Hockin
487867bd01
Extract cadvisor code to cadvisor.go
2014-10-23 15:53:26 -07:00
Tim Hockin
de3060e4eb
Rename httpGetInterface to httpGetter
2014-10-23 15:53:26 -07:00
Clayton Coleman
bb77a5d15f
Rename ID -> Name
2014-10-22 15:00:26 -04:00
Brendan Burns
aa55e87ac2
Support updates in the kubelet.
2014-10-17 11:02:21 -07:00
Clayton Coleman
892942af8f
Read BoundPods from etcd instead of ContainerManifestList
...
There are three values that uniquely identify a pod on a host -
the configuration source (etcd, file, http), the pod name, and the
pod namespace. This change ensures that configuration properly
makes those names unique by changing podFullName to contain both
name (currently ID in v1beta1, Name in v1beta3) and namespace.
The Kubelet does not properly handle information requests for
pods not in the default namespace at this time.
2014-10-16 19:29:08 -04:00
Dawn Chen
5f97413dd5
Merge pull request #1663 from smarterclayton/separate_pod_state_for_health_check
...
Refactor HealthCheck to take podUUID as its own argument
2014-10-10 09:11:59 -07:00
Daniel Smith
7bb1bdd693
Merge pull request #1711 from erictune/vets
...
Use pointer for struct holding lock.
2014-10-09 17:25:54 -07:00
Eric Tune
42f6324183
Use pointer for struct holding lock.
2014-10-09 17:16:21 -07:00
Clayton Coleman
95cb2e3eb3
Refactor HealthCheck to take podUUID arguments
...
PodState is going away (won't have podUUID anymore)
2014-10-09 16:42:55 -04:00
Daniel Smith
1fc92bef53
Load cadvisor connection in background.
2014-10-08 17:06:41 -07:00
Dawn Chen
73c8f41737
Add the missing arg in Errorf.
2014-10-07 13:53:25 -07:00
Brendan Burns
7ecd8d7207
Fix a problem with for loops, copy semantics and async routines.
2014-10-06 21:20:00 -07:00
Dawn Chen
4fdfeaa30e
Addressed comments.
2014-10-06 14:41:20 -07:00
Dawn Chen
9861eb7c8e
Initial support of propogating the termination reasons and image failure
...
to apiserver. Deprecated docker.Container from API completely.
Conflicts:
pkg/api/types.go
pkg/kubelet/kubelet.go
2014-10-06 13:37:22 -07:00
Johan Euphrosine
f91162cf78
kubelet: add --runonce flag, exits after starting pod from the manifest
2014-10-03 18:02:30 -07:00
Deyuan Deng
a9e7cf8e40
Fix integration test read volume dir error.
2014-10-03 19:51:07 -04:00
Clayton Coleman
6881db64a9
Allow configurable Kubelet net image for isolated networks
...
Public access to the DockerHub is not guaranteed in all environments,
add a flag to the kubelet that allows it to use a different image (like
one on a private registry) as well as only pull the first time the
image is needed.
Fixes #1545
2014-10-02 15:56:03 -04:00
Tim Hockin
db49dc0012
Merge pull request #1458 from brendandburns/dontpull
...
Add the ability to turn off image pulling.
2014-10-01 12:40:47 -07:00
Brendan Burns
4c456015b6
Add the ability to turn off image pulling.
2014-10-01 12:34:22 -07:00
jhadvig
9b21053188
ListContainer filter
2014-09-30 23:30:32 +02:00
Tim Hockin
04cdf286a4
Make and use api.Protocol type
2014-09-27 20:31:37 -07:00
Tim Hockin
badeaef95f
Merge pull request #1457 from brendandburns/pull
...
Add a rate limiter, use it to rate limit docker pulls.
2014-09-26 12:39:25 -07:00
Brendan Burns
3ac706a32e
Add a rate limiter, use it to rate limit docker pulls.
2014-09-26 11:55:21 -07:00
Tim Hockin
7a96ed38b3
Merge pull request #1439 from jhadvig/err_handler
...
Handle invalid pod name
2014-09-25 15:00:47 -07:00
jhadvig
e5d8ee3811
Handle invalid pod name
2014-09-25 22:57:05 +02:00
Clayton Coleman
4e56dafecc
Introduce some default log verbosity control
...
Move a lot of common error logging into better buckets:
glog.Errorf() - Always an error
glog.Warningf() - Something unexpected, but probably not an error
glog.V(0) - Generally useful for this to ALWAYS be visible
to an operator
* Programmer errors
* Logging extra info about a panic
* CLI argument handling
glog.V(1) - A reasonable default log level if you don't want
verbosity
* Information about config (listening on X, watching Y)
* Errors that repeat frequently that relate to conditions
that can be corrected (pod detected as unhealthy)
glog.V(2) - Useful steady state information about the service
* Logging HTTP requests and their exit code
* System state changing (killing pod)
* Controller state change events (starting pods)
* Scheduler log messages
glog.V(3) - Extended information about changes
* More info about system state changes
glog.V(4) - Debug level verbosity (for now)
* Logging in particularly thorny parts of code where
you may want to come back later and check it
2014-09-25 16:30:14 -04:00
Clayton Coleman
a5ed10235e
Merge pull request #1354 from lavalamp/eventing
...
Add Event to api types
2014-09-25 16:20:49 -04:00
Daniel Smith
283eaf3931
Add new Event type
...
* replaces previous Event type, which is too limited.
* Remove writing of old event type.
* Fix serialiazation test to automatically test all types.
2014-09-25 11:31:35 -07:00
Brendan Burns
431caa93df
Merge pull request #1335 from dchen1107/exit1
...
Convert existing kubernetes system to use ContainerStatus, instead of
2014-09-24 21:37:24 -07:00
Daniel Smith
bb0cd95a83
fix non-gofmt'd things
2014-09-24 14:27:10 -07:00
Dawn Chen
0e6ec3cbfc
Convert existing kubernetes system to use ContainerStatus, instead of
...
docker.Container directly.
Conflicts:
pkg/kubelet/dockertools/docker.go
pkg/registry/pod/rest.go
2014-09-24 11:16:46 -07:00
Tim Hockin
0f9cd4301d
Merge pull request #1401 from jhadvig/k8s_log_retrieval_update
...
stdout/stderr writer container log stream
2014-09-22 16:38:11 -07:00
jhadvig
9ba71528e4
stdout/stderr container log stream
2014-09-23 00:15:36 +02:00
Tim Hockin
486dbd165f
Merge pull request #1318 from jhadvig/k8s_log_retrieval
...
Adding endpoint for log retrieval on the minion
2014-09-22 13:21:28 -07:00
Eric Paris
a32400f47f
Remove all code dealing with cadvisor Percentiles
...
This was removed upstream beween cadvisor 0.3.0 and 0.4.0
2014-09-22 14:22:40 -04:00
jhadvig
f3f5d0200c
Using podID+containerName for querying the logs
2014-09-17 21:00:09 +02:00
Brendan Burns
dc5a4a8c3f
Refactor to clean up names.
2014-09-16 15:19:02 -07:00
Brendan Burns
5b9e2a55b5
Add a flag to reject privileged containers in the apiserver.
2014-09-16 11:22:32 -07:00
jhadvig
f351691493
Adding endpoint for log retrieval on the minion
2014-09-15 17:02:56 +02:00
Brendan Burns
46d0cbd645
Add a global flag to enable/disable privileged containers
2014-09-12 09:56:45 -07:00
Dan Mace
3a3fab3f82
FEATURE: Support privileged containers in a pod
...
Add a Privileged field to containers in a pod, in order to facilitate pods
performing administrative tasks such as builds via Docker-in-Docker.
Discussion: https://github.com/GoogleCloudPlatform/kubernetes/issues/391
2014-09-12 09:38:11 -07:00
Brian Waldon
0bf4fabc19
kubelet: move docker-related code into sub-package
2014-09-11 13:12:28 -07:00
Dawn Chen
15cab4d053
Introduce the simplest RestartPolicy and handling.
2014-09-08 22:41:38 -07:00
Dawn Chen
7ace5a3e83
Passing pod UUID to Kubelet.
2014-09-08 14:24:09 -07:00
Brendan Burns
d0884accd7
Add support for the PostStart event handler.
2014-09-05 12:37:57 -07:00
Daniel Smith
099c8fd36f
Propagate rename; tests pass again.
2014-09-02 10:42:06 -07:00
Daniel Smith
97b05619f1
Remove deprecated bits from kubelet
2014-08-26 22:39:00 -07:00
Brendan Burns
4f1fa939f7
Switch the hostname in a container to be the pod id.
2014-08-26 11:13:53 -07:00
Vishnu Kannan
2b61831c22
Improve kubelet logging - log the docker container image name when docker pull fails.
2014-08-20 10:30:42 -07:00
Dawn Chen
5a2365b323
Fix #926
...
Make HostPort a real option without being set to ContainerPort if absent.
2014-08-19 15:44:50 -07:00
Brendan Burns
0caae9c1d4
Add a in container exec based health check.
2014-08-18 12:00:11 -07:00
Brendan Burns
2986db9885
Add container hashing to the container name, and restart containers on changes.
2014-08-08 13:32:07 -07:00
Daniel Smith
2297bf8cea
Merge pull request #830 from brendandburns/net
...
Delete containers for a pod if we have to create the network container.
2014-08-08 13:12:42 -07:00
Brendan Burns
38900a9c58
Delete containers for a pod if we have to create the network container.
2014-08-08 12:34:59 -07:00
Victor Marmol
adc57da3f3
Merge pull request #825 from brendandburns/runin
...
Add support for "run in"
2014-08-07 23:47:19 -07:00
Brendan Burns
d31d0781b2
Add support for "run in"
2014-08-07 20:27:58 -07:00
Clayton Coleman
d7f46718a8
Kubelet should have a max think time before auto resync
...
The sync frequency should be part of the syncLoop and resync no
less often than every X seconds. The current implementation runs
even if a config update was delivered less than X seconds ago.
2014-08-07 10:40:03 -04:00
Danny Jones
7c28e0849f
Reorganization; Directory traversal less ugly
...
Directory traversal is no longer recursive and only goes as deep as it
needs to. Moved GetActiveVolumes to volume packages and added a simple
test.
2014-08-06 11:20:34 -07:00
Danny Jones
3f7f6cb2dc
Modifies tests to use new volume objects.
2014-08-06 10:21:59 -07:00
Danny Jones
6191ffc0de
Modifies directory walker to use a regex
...
Now a regex is used to determine active volume properties from
their directory paths.
2014-08-06 10:21:59 -07:00
Danny Jones
47bca30edc
Splits volume interface into Builders and Cleaners
...
Different information is needed to perform setup versus teardown. It
makes sense to separate these two interfaces since when we call teardown
from the reconciliation loop, we cannot rely on having the
information provided by the api definition of the volume.
2014-08-06 10:21:59 -07:00
Danny Jones
dfc9cb86f0
Initial reconciliation loop.
...
Determines the set of active volumes versus the set of valid volumes
defined by the manifests. If there is an active volume that is not
defined in any of the manifests, deletes and cleans up that volume.
2014-08-06 10:21:59 -07:00
Brendan Burns
490bb28bf9
Add TCP socket based health checking.
2014-08-01 14:13:56 -07:00
Dawn Chen
2e8020be8c
Update the entire cAdvisor package. There is a version mismatch issue
...
which cause #707
2014-07-31 10:11:25 -07:00
Dawn Chen
76ec7acf91
bump(github.com/google/cadvisor): bdd574b728e8a1e5eb08649d631197620dd09650
2014-07-31 09:14:04 -07:00
Francisco Souza
2a345ffa9e
third_party: update go-dockerclient
...
math.MaxInt64 represents 8 exabytes, which is a good limit for memory.
Also, this is the type used by Docker, so it's not possible to get any
value bigger than math.MaxInt64 as memory limit (both ram and swap) on a
Docker container.
Relevant discussion at #589 (more precisely,
https://github.com/GoogleCloudPlatform/kubernetes/pull/589#issuecomment-50640605 ).
2014-07-30 15:18:42 -03:00
Rohit Jnagal
fbd3e85e9c
Fix handling of default cpu shares.
2014-07-29 18:34:16 +00:00
Daniel Smith
5ae20f9edb
Merge pull request #605 from Sarsate/setup-error
...
SetUp now returns an error.
2014-07-24 14:13:22 -07:00
Danny Jones
1117da4a55
SetUp now returns an error.
...
SetUp returns an error, kubelet now skips pod if error occurs.
2014-07-24 13:53:44 -07:00
Victor Marmol
b131da1cf5
Sync pods asynchronously in the Kubelet.
...
This makes two main changes:
- Runs syncPod in a separate Go routine (and enforces only one of those
runs at a time).
- Uses the pod list to determine if a container should be running or
should be killed (used to use the output of syncPod).
Since Docker pulls are synchronized by the Docker daemon we still block
on that, but pods can now be removed and prepared for starting without
blocking on long pulls.
2014-07-24 13:47:51 -07:00
Daniel Smith
41eb15bcff
Merge pull request #527 from Sarsate/rootdir-flag
...
Adds a flag to specify root working directory.
2014-07-24 13:12:55 -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
Nan Deng
ea4224cbe7
update github.com/fsouza/go-dockerclient
2014-07-23 17:42:03 -07:00
Eric Tune
ded67ead1e
Make Kubelet type members private and provide New functions.
2014-07-22 14:40:59 -07: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
f672edd1cf
Merge pull request #457 from dchen1107/minionlogs
...
Add support to query kubelet's logs and cadvisor's stats through apiserver by passing rawquery
2014-07-21 16:02:44 -07:00
Dawn Chen
064237a5b8
Add support to query kubelet's logs and cadvisor's stats through
...
apiserver by passing rawquery.
minor changes
Fixed a minor rebase issues.
Using ioutil.ReadAll instead of httputil.DumpResponse
2014-07-21 11:52:32 -07:00
Victor Marmol
88317efb42
Add a pause image for the net container.
...
The pause image is a 240KB image that simply pauses waiting on a signal.
Use this for the net container which only needs to act as a placeholder.
Current net image is ~2.5MB. From my tests, this reduces startup time
for the net container from ~14s to ~6s.
2014-07-21 10:28:49 -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
fda69bcca2
Merge pull request #452 from Sarsate/extvol-hostdir
...
Initial framework for external volumes.
2014-07-18 12:44:38 -07:00
Daniel Smith
e9dbc4e8ad
Merge pull request #509 from xiangli-cmu/kubelet
...
kubelet: cleanup
2014-07-18 10:24:11 -07:00
Xiang Li
86288ca82a
kubelet: cleanup
2014-07-18 10:12:59 -07:00
Tim Hockin
2f593c92fa
Merge pull request #487 from yugui/fix/golint
...
Fixes Go lint errors and a style fix
2014-07-17 22:44:31 -07:00
Danny Jones
bb2843498d
API modified to use source; now supports EmptyDirectory
...
API is now modified to use a Source struct to handle multiple volumes.
Two volume types are supported now, HostDirectory and EmptyDirectory.
2014-07-17 15:25:50 -07:00
Nan Deng
564a58722c
Retrieve machine spec from cAdvisor
2014-07-17 15:21:47 -07:00
Danny Jones
f84ff740f0
Adds initial volumes package; Supports host-dirs
...
Adds the framework for external volume mounts.
Currently supports bare host directory mounts.
Modifies the API to support host directory mounts from Volumes
instead of VolumeMounts.
2014-07-17 10:08:45 -07:00
Clayton Coleman
185a97b037
Make container lookup in the Kubelet cleaner
...
Reduce duplicate calls to list lookups for parallel go routines.
2014-07-16 14:12:13 -04:00
Yuki Sonoda (Yugui)
df9da65939
Rename a function according to go convention
2014-07-16 22:05:06 +09:00
Yuki Sonoda (Yugui)
a702be8e63
Fixes new golint errors in pkg/kubelet after merge
2014-07-16 21:33:26 +09:00
Yuki Sonoda (Yugui)
07b8be4d4c
Merge branch 'master' into fix/golint2
...
Conflicts:
pkg/api/types.go
pkg/health/health_check.go
pkg/kubelet/kubelet.go
pkg/kubelet/kubelet_server.go
pkg/kubelet/kubelet_server_test.go
pkg/kubelet/kubelet_test.go
2014-07-16 21:33:21 +09:00
Daniel Smith
c7d31fabbc
Merge pull request #480 from monnand/cadvisor-update-1
...
Update kubelet package to use most recent cAdvisor's code
2014-07-15 18:25:54 -07:00
Brendan Burns
c331849e69
Add support for CPU limiting to the kubelet.
2014-07-15 16:49:34 -07:00
Daniel Smith
3d63d733e3
Merge pull request #456 from brendandburns/health
...
Move health checking logic out to a utility. Add a minion registry that health checks.
2014-07-15 15:39:21 -07:00
Brendan Burns
c5db874090
Addressed comments.
2014-07-15 15:16:36 -07:00
Nan Deng
30bc2af9f1
gofmt -r "GetContainerStats->GetContainerInfo"
2014-07-15 11:53:00 -07:00
Nan Deng
8c573ee727
Update to latest cAdvisor and use data structures directly from cAdvisor
2014-07-15 11:53:00 -07:00
Clayton Coleman
e02ea37d9f
Move Docker specific function out of the Kubelet
2014-07-15 11:34:48 -04:00
Yuki Yugui Sonoda
edac5ce0b8
Fixes golint errors in pkg/kubelet
2014-07-15 22:56:31 +09:00
Yuki Yugui Sonoda
af38bf1ef7
Fixes golint errors in pkg/api
2014-07-15 22:56:09 +09:00
Clayton Coleman
07fafb1252
Merge pull request #453 from brendandburns/memory
...
Add support for memory limits in the kubelet.
2014-07-15 09:37:42 -04:00
Brendan Burns
62dfc74606
Move health checking logic out to a utility.
...
Add a minion registry that health checks.
2014-07-14 22:38:28 -07:00
Brendan Burns
92d83640c0
Add support for memory limits in the kubelet.
2014-07-14 20:57:26 -07:00
Brendan Burns
ae179121c6
Address comments.
2014-07-14 20:38:43 -07:00
Yifan Gu
3a95572290
Changed the keepChannel to buffered channel.
...
Since the keepChannel is used to send data, not just for synchronizaiton,
so make it a buffered channel can avoid unnecessary goroutine yields.
2014-07-14 14:22:19 -07:00
Claire Li
10de5b12fe
pkg/kubelet: explicitly return nil as error and nil as a result on error
2014-07-12 11:03:08 -07:00
Brendan Burns
1b4dfe7d14
Move from bool to HealthCheckStatus
2014-07-11 10:15:31 -07:00
Brendan Burns
6312ffebcf
Address some comments from thockin@
2014-07-11 10:14:45 -07:00
Tim Hockin
32bcdbeb53
Merge pull request #396 from brendandburns/hostname
...
Add Hostname to the docker run command.
2014-07-10 12:28:30 -07:00
Brendan Burns
dc61547b95
Add Hostname to the docker run command.
2014-07-10 12:25:57 -07:00
Yuki Sonoda (Yugui)
45b48e1668
Fixes golint errors in pkg/kubelet
2014-07-10 21:57:26 +09:00
Tim Hockin
b0b9606aea
Merge pull request #365 from brendandburns/health
...
add http health checks.
2014-07-09 16:14:30 -07:00
brendandburns
4c309862e3
Merge pull request #371 from thockin/valid3
...
Accumulate errors during validation
2014-07-09 13:36:37 -07:00
Tim Hockin
95fb7bc1ae
Merge pull request #379 from brendandburns/host
...
Add support for host up binding to the API (and kubelet)
2014-07-09 12:54:32 -07:00
Brendan Burns
41c6680943
add http health checks.
2014-07-09 12:01:43 -07:00
Dan Mace
00df67b0bf
Namespace "local" volume mounts by ContainerManifest ID on disk
...
Local volume mounts in a pod should result in host mounted directories
which are namespaced by the ContainerManifest ID.
2014-07-09 14:45:22 -04:00
Brendan Burns
4b22f7a462
Add support for host ip binding to the API (and kubelet)
2014-07-09 11:13:38 -07:00
Tim Hockin
54790080b3
Accumulate validation errors
...
Rather than report the first error, accumulate all errors and report them all
at once.
2014-07-09 07:55:15 -07:00
brendandburns
242627eaf0
Merge pull request #358 from thockin/valid2
...
Add validation of VolumeMounts
2014-07-08 21:58:32 -07:00
Dawn Chen
a0f94757a4
Instantiate cAdvisor client for kubelet to query both machine and container
...
information.
2014-07-08 16:37:43 -07:00
Tim Hockin
2eb2784725
Validation of HostPorts and Manifest IDs
...
Check that HostPorts are unique across the whole host and that Manifest IDs
are unique.
2014-07-08 15:22:47 -07:00
Tim Hockin
ad88fa48a5
Add validation of Ports
...
Also do caseless compares for "enum" strings.
2014-07-08 15:22:44 -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
Nan Deng
aa808a6505
fix data race introduced by 1798e0f
2014-07-02 23:23:14 -07:00
brendandburns
bf44347340
Merge pull request #350 from brendandburns/async
...
Fix an error in the async-path that led to dropping pods.
2014-07-02 23:15:35 -07:00
Brendan Burns
0655370ea2
Fix an error in the async-path that led to dropping pods.
2014-07-02 23:05:30 -07:00
brendandburns
d386c02dfd
Merge pull request #328 from monnand/root-container
...
Get root container stats from cAdvisor
2014-07-02 22:57:28 -07:00
Nan Deng
42fd4383a1
Get machine stats from cAdvisor
2014-07-02 16:59:50 -07:00
Daniel Smith
a6144f656c
Move etcd helpers to tools package so they can depend on api package. Add ResourceVersion, hook it up to etcd index to get atomic PUTs.
2014-07-02 15:42:05 -07:00
Tim Hockin
d3da6b168e
nit: s/Id/ID/ for go style
2014-07-02 11:21:29 -07:00
brendandburns
a8a0039a39
Merge pull request #335 from vmarmol/add-kubelet-new
...
Add a New() for Kubelet.
2014-07-01 22:16:24 -07:00
Victor Marmol
e29ff512fc
Add a New() for Kubelet.
...
This will make it easier to add new fields that need to be initialized. Also refactors tests to ease making fake Kubelets.
2014-07-01 19:23:26 -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
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
11d6451d2a
Change kublet to serve podInfo instead of containerInfo. Plumb through system.
2014-07-01 16:41:10 -07:00
Daniel Smith
049bc6b6d4
Fix interface{} in api/types.go; plumb through system.
2014-07-01 16:41:09 -07:00
brendandburns
664c9faa43
Merge pull request #327 from lavalamp/etcdChanFix
...
Improvements to integration test & logging
2014-07-01 15:40:48 -07:00
Daniel Smith
b820e026f6
Improve logging.
2014-07-01 14:02:14 -07:00
Tim Hockin
a92e1aa1bf
First piece of validation
...
I'm adding pieces incrementally to make sure we get full testing of each
piece.
Make syncLoop() private
2014-07-01 13:48:57 -07:00
Brendan Burns
1798e0fea3
Make each pod synchronization async.
2014-07-01 12:20:13 -07:00
Brendan Burns
7999983311
Added async behavior.
2014-07-01 11:11:10 -07:00
Clayton Coleman
15c96508a9
Use ID instead of Id (go style) everywhere
...
Fixes #278
2014-07-01 13:16:47 -04: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
Justin Huff
28afe91855
Allow empty lists when polling manifests via http
2014-06-27 23:46:02 -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
Justin Huff
8c5562ef77
DockerContaineId->DockerId
2014-06-27 14:03:50 -07:00
Justin Huff
81663fdb80
Introduce a type for docker container ids
2014-06-27 14:03:50 -07:00
Justin Huff
fe0066d2e4
Cleaning up container ID handling inside kubelet
2014-06-27 14:03:50 -07:00
Brendan Burns
78d9538358
Set id width at 8 and pad with zeros.
2014-06-26 19:24:12 -07:00
Justin Huff
6fdebd6560
Watch and Get on the same Etcd key.
...
Kubelet was killing existing pods when creating a new one because new
files were being set as /registry/hosts/<machine>/pods/<id> and
/registry/hosts/<machine>/kubelet.
2014-06-26 18:59:49 -07:00
Daniel Smith
001b07b292
Use net.JoinHostPort
2014-06-26 16:20:37 -07:00
Tim Hockin
3f0e7e790b
Less verbose logging for "normal" things.
...
Don't log things that we expect to happen every sync loop, unless the user
asks for --v > 0.
2014-06-24 22:05:25 -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
Justin Huff
ddf0fd18f0
Remove extractMultipleFromReader and extractSingleFromReader. Unused now after improvements in #212 and #213
2014-06-24 18:59:57 -07:00
brendandburns
8b44f34e0f
Merge pull request #213 from lavalamp/fix_manifest
...
Better fix of #212
2014-06-24 17:42:22 -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
9d8a16f180
Make manifest url reader accept both single and multiple manifests.
2014-06-24 15:13:18 -07:00
Tim Hockin
c705593b62
Logging cleanup in Kubelet
...
Make it easier to see the signal when looking at kubelet logs. Make the
signal more consistent and legible.
2014-06-24 13:50:08 -07:00
Tim Hockin
7622bb871b
Rename Kubelet.Client -> EtcdClient
...
All the other *Client members are so named. Makes easier reading.
2014-06-24 13:17:38 -07:00
Justin Huff
4f714dd0fe
Ignore files that start with '.' when processing a config dir.
2014-06-24 12:02:49 -07:00
Tim Hockin
8c2a8b65c3
Escape manifest IDs when hunting the network container.
...
This makes it possible to have manifests with _ in the ID. I'm not sure we
want to allow this, but we do for now. I hope to follow this up with a deeper
change to make this a bit more robust.
2014-06-24 09:52:43 -07:00
brendandburns
e811e24b23
Merge pull request #216 from thockin/logging
...
Minor: log cleanups
2014-06-23 22:38:06 -07:00
Tim Hockin
60ad86c972
Minor: Log cleanups
...
Clean up log messages to be more obvious. Fix a typo (exit -> exist).
2014-06-23 22:11:18 -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
Tim Hockin
228156dbc6
Remove noisy non-error lines from logs
2014-06-23 17:58:21 -07:00
Daniel Smith
77af24e7dc
manifest_url needs to take a single ContainerManifest.
2014-06-23 15:06:28 -07:00
Justin Huff
1441a84673
Cleanup handling of config channels in RunSyncLoop by passing a map
...
instead of a bunch of vars.
2014-06-22 09:32:49 -07:00
Justin Huff
460821e370
Add a k8s prefix to docker containers that we manage
2014-06-21 13:30:10 -07:00
Justin Huff
ecf7d11477
Make config dir handling deterministic
2014-06-20 09:31:52 -07:00
Justin Huff
d5bf045a6c
Make sure that config files are closed properly
2014-06-20 09:31:52 -07:00
Justin Huff
d204f76484
Add config dir support to kubelet
2014-06-20 09:31:52 -07:00
Justin Huff
f49b9c2429
Fix merge conflicts
2014-06-20 09:31:18 -07:00
Daniel Smith
8a13e5300d
Merge pull request #182 from brendandburns/net
...
Update IP assignment to be per-pod, not per-container
2014-06-20 09:06:34 -07:00
Brendan Burns
b46d8d2337
Merge branch 'net' of https://github.com/brendandburns/kubernetes-1 into net
2014-06-20 09:01:17 -07:00
brendandburns
3a9a3b1114
Merge pull request #174 from monnand/kubelet-cadvisor
...
Letting kubelet retrieve container stats from cAdvisor
2014-06-20 08:36:22 -07:00
brendandburns
0c8d556afb
Fix IP affinity to be per-pod, not per-container.
2014-06-19 23:09:21 -07:00
brendandburns
168ec29f54
Merge pull request #178 from vmarmol/add-external-mounts
...
Adding support for external mounts
2014-06-19 21:28:40 -07:00
Victor Marmol
e794f539d8
Adding support for external mounts
2014-06-19 21:14:19 -07:00
Nan Deng
7c7dfe3eeb
style
2014-06-20 04:06:28 +00:00
Brendan Burns
ae9fce1358
Fix the container manifest to so that Command is an array, not a string.
2014-06-19 20:21:20 -07:00
Nan Deng
c7eaa2095c
GOPATH...
2014-06-19 20:44:52 +00:00
Nan Deng
037cfd257f
add /containerStats
2014-06-19 20:44:52 +00:00
Nan Deng
2402e939c2
Add cAdvisor into third_party
2014-06-19 20:44:52 +00:00
Daniel Smith
7e464aa55c
Test controller's synchronize method. Requires fake etcd client to be relocated.
2014-06-18 13:10:39 -07:00
Brendan Burns
2e68d087a9
Add udp support.
2014-06-15 21:19:35 -07:00
Brendan Burns
482a360f9e
Make all error strings lower case, for readability.
2014-06-13 15:45:19 -07:00
Brendan Burns
d393838dfd
Only manage containers with '--' in the name.
2014-06-13 12:09:48 -07:00
Brendan Burns
164160adef
Address package level comments for readability.
2014-06-12 20:26:12 -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
Brendan Burns
b05bc22a62
Refactor the kubelet for testability.
...
Add unit tests. Test coverage to 56.9%
2014-06-12 14:44:46 -07:00
Johan Euphrosine
4f6bed03ae
gofmt -s pkg/ cmd/
2014-06-12 14:16:19 -07:00
Brendan Burns
c36a7896fd
Added a comment explaining the function.
2014-06-12 11:27:50 -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
Brendan Burns
62f6291377
Fix a bug if the container is non-existent.
2014-06-09 16:45:17 -07:00
Brendan Burns
6018497174
Task -> Pod part #3
2014-06-08 22:38:45 -07:00
Daniel Smith
62aba06180
Change 'this' varable to more sensible abbreviation
2014-06-08 20:35:07 -07:00
Joe Beda
2c4b3a562c
First commit
2014-06-06 16:40:48 -07:00