Commit Graph

746 Commits

Author SHA1 Message Date
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
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
17a5058e83 Merge pull request #19893 from janetkuo/kubectl-rollout-history
Auto commit by PR queue bot
2016-02-02 01:13:15 -08:00
Janet Kuo
8fb86a3d3b Add kubectl rollout history 2016-02-01 15:32:43 -08:00
harry
1032067ff9 Replace runtime reference by pkg 2016-02-01 21:06:44 +08:00
Chao Xu
c72d234bbf replacing handwritten client in several controllers 2016-01-31 15:42:02 -08:00
Janet Kuo
3396db9510 Add rollback subresource; add rollback logic to deployment controller 2016-01-30 16:00:34 -08:00
Janet Kuo
42f712467e Use ListOptions when listing RCs in deployment 2016-01-30 12:04:35 -08:00
Janet Kuo
c84a0371a2 Deployment adds version info to its new rc 2016-01-30 12:04:35 -08:00
k8s-merge-robot
deef16d2b3 Merge pull request #19354 from jimmidyson/system-container-fix
Auto commit by PR queue bot
2016-01-29 19:13:43 -08:00
Fabio Yeon
eb2c2d1af4 Merge pull request #20111 from fabioy/fix-tmp-tests
Add temp directory creation method for tests.
2016-01-29 09:51:12 -08:00
Jimmi Dyson
1c289943f5 Ensure kubelet pid is not moved to system container 2016-01-29 09:30:20 +00:00
Mike Danese
309eac5f7f update proxy server 2016-01-28 15:46:40 -08:00
Fabio Yeon
4c57ad8379 Merge pull request #19978 from markturansky/typos
Fixed spelling typo
2016-01-28 14:01:03 -08:00
Fabio Yeon
7205a160ac Remove all instances of "/tmp" from unit tests and replace with a common
tmp directory creator. Exception is documented.
2016-01-27 16:11:22 -08:00
Filip Grzadkowski
a5a23940bb Speed up UUID generation.
Fixes #19036
Fixes #18608
2016-01-27 15:39:23 +01:00
k8s-merge-robot
d3b869ae14 Merge pull request #17922 from smarterclayton/split_codec
Auto commit by PR queue bot
2016-01-25 06:30:39 -08:00
Nagarjun
39b1874041 Add GetEnvOr() feature to utils Package 2016-01-25 16:08:35 +05:30
Zach Loafman
b25d596a2b Merge pull request #19630 from mikedanese/fix-test
test: make ValidateCount throw an error instead of a log
2016-01-22 11:08:27 -08:00
Clayton Coleman
4a6935b31f Remaining codec change refactors 2016-01-22 13:27:27 -05:00
Clayton Coleman
33085c0cf2 Update tests to handle codec changes 2016-01-22 13:27:26 -05:00
Zach Loafman
f3a638de31 Merge pull request #16067 from smarterclayton/backoff_conflict
Provide a RetryOnConflict helper for client libraries
2016-01-22 10:23:19 -08:00
markturansky
3f292d87ed fixed spelling typo 2016-01-22 00:15:07 -05:00
Clayton Coleman
6b2f70d553 Provide a JSON and YAML serializer, and a versioning wrapper
Add a recognizer that is capable of sniffing content type from data by
asking each serializer to try to decode - this is for a "universal
decoder/deserializer" which can be used by client logic.

Add codec factory, which provides the core primitives for content type
negotiation. Codec factories depend only on schemes, serializers, and
groupversion pairs.
2016-01-22 00:12:49 -05:00
Clayton Coleman
9d5df20efe jsonpath: Handle interface{}(nil) as empty array 2016-01-21 23:18:31 -05:00
nikhiljindal
2ad642d370 Merge registered and latest and move to apimachinery 2016-01-21 14:42:21 -08:00
Alex Mohr
d2d349bc84 Merge pull request #19334 from resouer/network
Networking should be used to hold network related pkgs
2016-01-21 10:26:13 -08:00
Clayton Coleman
4342fccc0d Provide a RetryOnConflict helper for client libraries
Used like:

    var pod *api.Pod
    err := client.RetryOnConflict(client.DefaultBackoff, func() (err error) {
      pod, err = c.Pods("mynamespace").UpdateStatus(update)
      return
    })
    // err may be conflict
2016-01-20 22:58:16 -05:00
Mike Danese
39c7ea57b0 test: make ValidateCount throw an error instead of a log
We can either fix it here or at every callsite. Every callsite is
currently using this method incorrectly.

Signed-off-by: Mike Danese <mikedanese@google.com>
2016-01-19 15:59:32 -08:00
k8s-merge-robot
ad827c6b62 Merge pull request #19573 from madhusudancs/daemonset-update-move-utils
Auto commit by PR queue bot
2016-01-17 08:16:11 -08:00
k8s-merge-robot
3816c1798f Merge pull request #19411 from eparis/boolflag-def-val
Auto commit by PR queue bot
2016-01-16 06:23:48 -08:00
harry
98222b4d8b Replace to tag
Use a testing pkg to replace testing util codes
2016-01-15 15:07:21 +08:00
Harry Zhang
936a11e775 Use networking to hold network related pkgs
Change names of unclear methods

Use net as pkg name for short
2016-01-15 13:46:16 +08:00
Mike Danese
33c72db59c Merge pull request #19528 from resouer/strings-util
Create strings pkg to fix util issue
2016-01-14 21:19:17 -08:00
harry
7405c7899b Add strings pkg to hold strings utils
Replace funtions with strings pkg

Fix all references and rename the pkg
2016-01-15 12:37:50 +08:00
Mike Danese
82509a46a7 Merge pull request #19585 from smarterclayton/skip_mount
Skip format and mount test on windows or mac
2016-01-14 17:03:44 -08:00
Eric Paris
aad4b4477d Make "BoolFlag" booleans not require =true 2016-01-14 09:07:00 -05:00
k8s-merge-robot
9e97cfc2e8 Merge pull request #14200 from swagiaal/run-fsck-before-format
Auto commit by PR queue bot
2016-01-13 22:11:45 -08:00
Clayton Coleman
389d5e48cb Skip format and mount test on windows or mac 2016-01-12 21:43:50 -05:00
Madhusudan.C.S
4caa8a2c1d Move pod template hash and label adding util functions to their packages.
These utilities are useful outside Deployments as well, for example
in DaemonSets for DaemonSet updates. So move them to their own util
packages.
2016-01-12 16:11:00 -08:00
k8s-merge-robot
0df7e695d4 Merge pull request #19458 from davidopp/notsclose
Auto commit by PR queue bot
2016-01-12 13:53:13 -08:00
k8s-merge-robot
9b106c6e6d Merge pull request #18058 from mqliang/httpProbe
Auto commit by PR queue bot
2016-01-11 23:21:01 -08:00
David Oppenheimer
8ac484793d Comment out calls to httptest.Server.Close() to work around
https://github.com/golang/go/issues/12262 . See #19254 for
more details. This change should be reverted when we upgrade
to Go 1.6.
2016-01-11 23:02:11 -08:00
k8s-merge-robot
170c03a85f Merge pull request #16354 from mdshuai/valid-supplemental-groups
Auto commit by PR queue bot
2016-01-11 00:48:34 -08:00
mdshuai
27934da9cc Validate uids and gids for securitycontext 2016-01-11 15:17:25 +08:00
k8s-merge-robot
609cdfd267 Merge pull request #19331 from resouer/hash-util
Auto commit by PR queue bot
2016-01-09 13:08:01 -08:00
k8s-merge-robot
33085cc2ae Merge pull request #19238 from therc/master
Auto commit by PR queue bot
2016-01-08 04:10:53 -08:00
Isaac Hollander McCreery
791cae90f0 Merge pull request #19350 from brendandburns/oncall
Improve error reporting a little in ingress e2e.
2016-01-07 15:51:31 -08:00
Brendan Burns
07b3ab720d Improve error reporting a little in ingress e2e.
Also add Output() to the util/exec Cmd interface.
2016-01-06 15:25:04 -08:00
harry
2a52976983 Use hashutil to hold hash tools 2016-01-06 22:28:58 +08:00