Commit Graph

11569 Commits

Author SHA1 Message Date
k8s-merge-robot
b731d8275e Merge pull request #19707 from jsafrane/devel/fix-cinder-teardown
Auto commit by PR queue bot
2016-02-02 07:05:54 -08:00
k8s-merge-robot
c5260c8c71 Merge pull request #20145 from mqliang/quorum-read
Auto commit by PR queue bot
2016-02-02 05:50:41 -08:00
Jan Safranek
220163f67d Fixed races in Cinder volume attach/detach.
Add a mutex to guard SetUpAt() and TearDownAt() calls - they should not
run in parallel.  There is a race in these calls when there are two pods
using the same volume, one of them is dying and the other one starting.

TearDownAt() checks that a volume is not needed by any pods and detaches the
volume. It does so by counting how many times is the volume mounted
(GetMountRefs() call below).

When SetUpAt() of the starting pod already attached the volume and did not mount
it yet, TearDownAt() of the dying pod will detach it - GetMountRefs() does not
count with this volume.

These two threads run in parallel:

 dying pod.TearDownAt("myVolume")          starting pod.SetUpAt("myVolume")
   |                                       |
   |                                       AttachDisk("myVolume")
   refs, err := mount.GetMountRefs()       |
   Unmount("myDir")                        |
   if refs == 1 {                          |
   |  |                                    Mount("myVolume", "myDir")
   |  |                                    |
   |  DetachDisk("myVolume")               |
   |                                       start containers - OOPS! The volume is detached!
   |
   finish the pod cleanup


Also, add some logs to cinder plugin for easier debugging in the future, add
a test and update the fake mounter to know about bind mounts.
2016-02-02 14:38:49 +01:00
Jan Safranek
1edf34a4e5 Fixed persistent volume claim controllers processing an old claim.
Fixes #19860 (it may be easier to look at the issue to see exact sequence
to reproduce the bug and understand the fix).

When PersistentVolumeProvisionerController.reconcileClaim() is called with the
same claim in short succession (e.g. the claim is created by an user and
at the same time periodic check of all claims is scheduled), the second
reconcileClaim() call gets an old copy of the claim as its parameter.

The method should always reload the claim to get a fresh copy with all
annotations, possibly added by previous reconcileClaim() call.


The same applies to PersistentVolumeClaimBinder.syncClaim().


Also update all the test to store claims in "fake" API server before calling
syncClaim and reconcileClaim.
2016-02-02 13:52:07 +01:00
k8s-merge-robot
df4d50a7ac Merge pull request #20098 from brendandburns/flake2
Auto commit by PR queue bot
2016-02-02 04:22:45 -08:00
k8s-merge-robot
bf9523a03a Merge pull request #20195 from bprashanth/fix_zone_url
Auto commit by PR queue bot
2016-02-02 03:50:05 -08:00
k8s-merge-robot
78eaa6635e Merge pull request #20080 from nagarjung/flocker_feature
Auto commit by PR queue bot
2016-02-02 02:45:14 -08:00
k8s-merge-robot
71727385e8 Merge pull request #20069 from BugRoger/cephfs_subtree_mount_master
Auto commit by PR queue bot
2016-02-02 02:15:35 -08:00
k8s-merge-robot
c0fd002fbb Merge pull request #20019 from thockin/dont-cni-hostnet-pods
Auto commit by PR queue bot
2016-02-02 01:43:24 -08:00
Michail Kargakis
21c2b836ed kubectl: add rollout pause/resume subcommands 2016-02-02 10:33:55 +01:00
k8s-merge-robot
17a5058e83 Merge pull request #19893 from janetkuo/kubectl-rollout-history
Auto commit by PR queue bot
2016-02-02 01:13:15 -08:00
k8s-merge-robot
71ae2736c0 Merge pull request #19889 from yujuhong/replace_cache
Auto commit by PR queue bot
2016-02-02 00:41:06 -08:00
k8s-merge-robot
126f798699 Merge pull request #19942 from yujuhong/mirror_creation
Auto commit by PR queue bot
2016-02-01 22:55:38 -08:00
k8s-merge-robot
5a6cf15c09 Merge pull request #19874 from justinsb/aws_fix_findinstancesbynodenames
Auto commit by PR queue bot
2016-02-01 21:38:46 -08:00
Yu-Ju Hong
ff04de4fc0 Remove RuntimeCache from sync path
This change removes RuntimeCache in the pod workers and the syncPod() function.
Note that it doesn't deprecate RuntimeCache completely as other components
still rely on the cache.
2016-02-01 21:32:41 -08:00
k8s-merge-robot
32ab64ce5b Merge pull request #19778 from resouer/runtime
Auto commit by PR queue bot
2016-02-01 21:05:05 -08:00
k8s-merge-robot
2d8068e53e Merge pull request #20450 from mikedanese/bool-string-ptr-conversion
Auto commit by PR queue bot
2016-02-01 20:02:46 -08:00
k8s-merge-robot
ba13454430 Merge pull request #19855 from mitake/remove-v
Auto commit by PR queue bot
2016-02-01 17:18:42 -08:00
k8s-merge-robot
348858061d Merge pull request #20258 from smarterclayton/get_logs_for_any_container
Auto commit by PR queue bot
2016-02-01 16:24:20 -08:00
Mike Danese
c5ab2cae15 autogenerated 2016-02-01 16:01:19 -08:00
Mike Danese
896c670fb9 conversion: add default conversion for {string,bool} ptr to {string,bool}
This is useful because it allows defaulting to infer wheter a
string,bool value was provided by the user while still having the field
represented as a non pointer type in the internal representation.
2016-02-01 16:01:19 -08:00
Daniel Smith
5d713bb6aa don't cross-pollinate RVs 2016-02-01 15:36:15 -08:00
Daniel Smith
26683fda29 add timeout to cacher 2016-02-01 15:36:15 -08:00
Daniel Smith
4a7d70aef1 extend fake clock 2016-02-01 15:36:15 -08:00
Brendan Burns
2aa5dc317b Try harder to delete cloud resources in service tests 2016-02-01 15:34:55 -08:00
Janet Kuo
8fb86a3d3b Add kubectl rollout history 2016-02-01 15:32:43 -08:00
k8s-merge-robot
2746b5e43d Merge pull request #20320 from caesarxuchao/add-discovery
Auto commit by PR queue bot
2016-02-01 14:35:27 -08:00
k8s-merge-robot
feb4b4857c Merge pull request #19890 from vishh/0-nodes
Auto commit by PR queue bot
2016-02-01 14:09:06 -08:00
k8s-merge-robot
7e158006c0 Merge pull request #19940 from yujuhong/fix_update
Auto commit by PR queue bot
2016-02-01 13:35:54 -08:00
Maru Newby
a5e00da867 Fix nodeport service compat with default-deny fw 2016-02-01 21:34:30 +00:00
Michael Schmidt
92d814725b add generated code 2016-02-01 22:31:44 +01:00
Michael Schmidt
1373e0139d CephFS: Add subdir Option for Changing Mounted Root Directory 2016-02-01 22:01:19 +01:00
deads2k
02dec92b1d tighten api server installation for bad groups 2016-02-01 15:25:14 -05:00
k8s-merge-robot
171c2ecbe7 Merge pull request #19524 from derekparker/rkt-image-size
Auto commit by PR queue bot
2016-02-01 11:53:36 -08:00
k8s-merge-robot
a68f952a61 Merge pull request #19490 from danwinship/hairpin-error
Auto commit by PR queue bot
2016-02-01 11:20:26 -08:00
k8s-merge-robot
ff386b7a58 Merge pull request #20093 from liggitt/annotate_label_patch
Auto commit by PR queue bot
2016-02-01 09:04:12 -08:00
k8s-merge-robot
174521ee1a Merge pull request #19856 from yifan-gu/termination_path
Auto commit by PR queue bot
2016-02-01 07:16:16 -08:00
harry
1032067ff9 Replace runtime reference by pkg 2016-02-01 21:06:44 +08:00
Marcin Wielgus
05565ff7e5 CustomMetrics in HPA controller 2016-02-01 13:45:45 +01:00
Yifan Gu
581759d12d rkt: Set default 'User', 'Group' to root if it's not specified. 2016-02-01 20:00:09 +08:00
k8s-merge-robot
e07d9b3ee7 Merge pull request #20174 from yifan-gu/rkt_insecure_options
Auto commit by PR queue bot
2016-02-01 03:44:16 -08:00
Yifan Gu
9ce10c8552 rkt: Add support for termination message, termination reason.
If 'TerminationMessagePath' in container spec is set, then
We will mount the termination message log into the container.

Also in GetPodStatus, if the container exits and the 'TerminationMessagePath'
is set, then the 'message' field in container state will be populated.
2016-02-01 18:06:47 +08:00
Jan Safranek
e2826626b1 Fixed persistent volume claim controllers processing an old volume
We should always load the newest version of the volume from APIserver before
processing it.

When PersistentVolumeProvisionerController.reconcileVolume() is called with the
same volume in short succession (e.g. the volume is created by a provisioner
and at the same time periodic check of all volumes is scheduled), the second
reconcileVolume() call gets an old copy of the volume as its parameter and
it does not see annotations updated by the previous call.

This may result in one volume being provisioned several times, creating orphan
volumes in the cloud.

The same error is in PersistentVolumeClaimBinder.syncVolume().
2016-02-01 10:44:31 +01:00
k8s-merge-robot
54808fb7ab Merge pull request #19824 from pmorie/env-source-variant
Auto commit by PR queue bot
2016-01-31 20:12:08 -08:00
k8s-merge-robot
dff7490c57 Merge pull request #20312 from caesarxuchao/replace-many-controllers
Auto commit by PR queue bot
2016-01-31 18:42:26 -08:00
k8s-merge-robot
9d9864486b Merge pull request #19342 from caesarxuchao/remove-resourceversion-check
Auto commit by PR queue bot
2016-01-31 18:11:47 -08:00
Chao Xu
7722a50647 generate client for replicaset 2016-01-31 15:42:03 -08:00
Chao Xu
c72d234bbf replacing handwritten client in several controllers 2016-01-31 15:42:02 -08:00
Jimmi Dyson
e9c1d1ebd6 Do not move pid 1 to system container 2016-01-31 23:27:56 +00:00
Clayton Coleman
d6d4a17db6 Allow clients to request most recent container logs
Many users attempt to use 'kubectl logs' in order to find the logs
for a container, but receive no logs or an error telling them their
container is not running. The fix in this case is to run with '--previous',
but  this does not match user expectations for the logs command.

This commit changes the behavior of the Kubelet to return the logs of
the currently running container or the previous running container unless
the user provides the "previous" flag. If the user specifies "follow"
the logs of the most recent container will be displayed, and if it is
a terminated container the logs will come to an end (the user can
repeatedly invoke 'kubectl logs --follow' and see the same output).

Clean up error messages in the kubelet log path to be consistent and
give users a more predictable experience.

Have the Kubelet return 400 on invalid requests
2016-01-31 17:47:29 -05:00