Commit Graph

1136 Commits (625eb9ab7a2b3ea315d0c5726f10f978af095b98)

Author SHA1 Message Date
laushinka 7ef585be22 Spelling fixes inspired by github.com/client9/misspell 2016-02-18 06:58:05 +07:00
Phillip Wittrock 1e5175594d Fix volume secret_test.go on darwin by not checking volume usage metrics 2016-02-17 12:56:37 -08:00
Paul Morie d1dc259ef2 ConfigMap volume source 2016-02-14 16:19:17 -05:00
k8s-merge-robot 315a509340 Merge pull request #20900 from jsafrane/devel/volume-names
Auto commit by PR queue bot
2016-02-13 17:58:29 -08:00
k8s-merge-robot e3938ce15f Merge pull request #20495 from childsb/recycler_template_fix
Auto commit by PR queue bot
2016-02-13 11:30:14 -08:00
Jan Safranek 1d0b1c227b Add PV.Name into names of generated GCE/AWS/OSP volumes.
Volume names have now format <cluster-name>-dynamic-<pv-name>.

pv-name is guaranteed to be unique in Kubernetes cluster, adding
<cluster-name> ensures we don't conflict with any running cluster
in the cloud project (kube-controller-manager --cluster-name=XXX).

'kubernetes' is the default cluster name.
2016-02-12 09:46:59 +01:00
Paul Morie cc967972a1 Run atomic_writer_test only on linux 2016-02-11 22:10:51 -05:00
childsb df68b6c38f Updated recycler template with exit code on failure. 2016-02-10 14:48:39 -06:00
childsb aa9bd70de9 Merge remote-tracking branch 'upstream/master' into recycler_template_fix 2016-02-10 14:47:55 -06:00
k8s-merge-robot 3b41600e5a Merge pull request #20929 from thockin/go-vet
Auto commit by PR queue bot
2016-02-10 12:13:55 -08:00
k8s-merge-robot 10b6074a2c Merge pull request #20397 from pmorie/atomic-projections
Auto commit by PR queue bot
2016-02-10 01:54:46 -08:00
Paul Morie b750ea678f Generalize atomically updating projections into volumes 2016-02-10 03:19:52 -05:00
k8s-merge-robot c6ed624bfb Merge pull request #19503 from markturansky/attacher_interface
Auto commit by PR queue bot
2016-02-09 20:50:41 -08:00
k8s-merge-robot 2ec49efd54 Merge pull request #19945 from Clarifai/fix-formatting
Auto commit by PR queue bot
2016-02-09 16:05:00 -08:00
Tim Hockin 7cab7bd472 fix a few go-vet errors 2016-02-09 13:20:31 -08:00
k8s-merge-robot beb5d01f9c Merge pull request #17221 from rootfs/azure
Auto commit by PR queue bot
2016-02-08 22:46:12 -08:00
k8s-merge-robot fec0d127b3 Merge pull request #15938 from justinsb/aws_ebs_cleanup
Auto commit by PR queue bot
2016-02-08 21:42:52 -08:00
Huamin Chen d7e4b826b9 support Azure File Service volume
Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-02-09 01:07:12 +00:00
markturansky a242a3d5fe Added Attacher/Detacher interfaces and support to kubelet 2016-02-07 16:55:58 -05:00
k8s-merge-robot 1b52e0ec3a Merge pull request #20210 from jsafrane/devel/gce-tags
Auto commit by PR queue bot
2016-02-05 21:36:25 -08:00
k8s-merge-robot fcf9c4a1e4 Merge pull request #19741 from pwittrock/syncfsmetrics
Auto commit by PR queue bot
2016-02-05 17:54:22 -08:00
Phillip Wittrock 3de94cd23c Supply volume fs metrics to server/stats/handler.go
* Metrics will not be expose until they are hooked up to a handler
* Metrics are not cached and expose a dos vector, this must be fixed before release or the stats should not be exposed through an api endpoint
2016-02-05 16:00:24 -08:00
Chao Xu 184440f8ef rename release_1_2 to internalclientset 2016-02-05 14:02:28 -08:00
Chao Xu 1b047f8e67 rename legacy to core 2016-02-04 14:26:56 -08:00
Chao Xu f9f5736b01 grep sed 2016-02-03 13:06:07 -08:00
Justin Santa Barbara 12d407da19 AWS EBS: Remove copied-and-pasted udevadm code
This is in GCE to deal with a GCE specific issue; there's no reason to
believe we need the same logic on AWS.
2016-02-03 20:56:17 +00:00
Justin Santa Barbara d10e3debc7 AWS EBS: HandleCrash moved to util/runtime 2016-02-03 20:43:14 +00:00
Justin Santa Barbara 089951e7b4 Fix typo in comment: succefully -> successfully 2016-02-03 20:43:14 +00:00
Justin Santa Barbara 6c87a4be7c AWS: Handle deleting volume that no longer exists
The tests in particular double-delete volumes, so we need to handle this
graciously.
2016-02-03 20:43:14 +00:00
Justin Santa Barbara 1ae1db6027 AWS: Update copy-paste of GCE PD code to latest version
We are (sadly) using a copy-and-paste of the GCE PD code for AWS EBS.
This code hasn't been updated in a while, and it seems that the GCE code
has some code to make volume mounting more robust that we should copy.
2016-02-03 20:43:14 +00:00
Rudi Chiarito a0831a2378 Mass fix of Infof and co. missing the trailing "f", even when formatting placeholders are used 2016-02-03 11:34:59 -05:00
Paul Morie 180bed7b5c Fix a couple typos 2016-02-02 15:39:33 -05:00
childsb 08bd4e30f6 Fix for the recycler template. Use rm to scrub volume, include . prefixed items but explude "." and ".." 2016-02-02 11:02:09 -06: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
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
Michael Schmidt 1373e0139d CephFS: Add subdir Option for Changing Mounted Root Directory 2016-02-01 22:01:19 +01: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
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
Jan Safranek 23cd0913f7 Tag dynamically created GCE PD disks.
GCE disks don't have tags, we must encode the tags into Description field.
It's encoded as JSON, which is both human and machine readable:
description: '{"kubernetes.io/created-for/pv/name":"pv-gce-oxwts","kubernetes.io/created-for/pvc/name":"myclaim","kubernetes.io/created-for/pvc/namespace":"default"}'
2016-01-27 15:16:05 +01:00
k8s-merge-robot 3f5e417999 Merge pull request #19502 from swagiaal/internalize-ownership
Auto commit by PR queue bot
2016-01-26 23:06:39 -08:00
k8s-merge-robot 52cb4c1d9d Merge pull request #18445 from resouer/fix-emptydir
Auto commit by PR queue bot
2016-01-26 02:45:54 -08:00
k8s-merge-robot 2286bd3a38 Merge pull request #19961 from mamikonyana/newrepo
Auto commit by PR queue bot
2016-01-25 19:51:23 -08:00
Nagarjun 39b1874041 Add GetEnvOr() feature to utils Package 2016-01-25 16:08:35 +05:30
harry 0fa5b6c4f7 Add e2e test for wrapper volumes
Use git server in e2e and refactor wrapper builder

Update e2e test to use a fake git server
2016-01-24 16:57:44 +08:00
Clayton Coleman 33085c0cf2 Update tests to handle codec changes 2016-01-22 13:27:26 -05:00
Arsen Mamikonyan 8b5e9e2885 Change repository references to https://github.com/kubernetes/kubernetes 2016-01-22 10:23:14 -05:00
Alex Mohr eaa61a72b0 Merge pull request #17919 from justinsb/multizone_gce
Ubernetes Lite support for GCE
2016-01-21 10:22:34 -08:00
k8s-merge-robot 6cf3a4b5f0 Merge pull request #18957 from jsafrane/devel/pv-name-tag
Auto commit by PR queue bot
2016-01-21 05:55:12 -08:00
k8s-merge-robot 0f6f521beb Merge pull request #18959 from jsafrane/devel/cinder-tags
Auto commit by PR queue bot
2016-01-21 03:33:58 -08:00
Justin Santa Barbara 43cbfb74fe Ubernetes Lite GCE: Support multiple zones in GCE cloud provider
We adapt the existing code to work across all zones in a region.

We require a feature-flag to enable Ubernetes-Lite

Reasons:

* There are some behavioural changes if users create volumes with
the same name in two zones.
* We don't want to make one API call per zone if we're not running
Ubernetes-Lite.
* Ubernetes-Lite is still experimental.

There isn't a parallel flag implemented for AWS, because at the moment
there would be no behaviour changes from this.
2016-01-20 23:04:53 -05:00
Jan Safranek f912870784 openstack: Use common SafeFormatAndMount() for mounting.
There is no reason for OpenStack + Cinder to use it's own variant of format
& mount.
2016-01-19 09:36:38 +01: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
Sami Wagiaalla 52c9a3abe2 RBD return output in error case 2016-01-14 11:33:33 -05:00
Sami Wagiaalla 7767698459 Remove SupportsOwnershipManagement volume attribute 2016-01-13 10:37:10 -05:00
Sami Wagiaalla 4ac151321a Call SetVolumeOwnership from volume plugins 2016-01-13 10:37:10 -05:00
Sami Wagiaalla f650648aae Add fsGroup to SetUp and SetUpAt 2016-01-13 10:37:10 -05:00
Sami Wagiaalla e33e4ae055 Move manageVolumeOwnership to pkg/volume/volume.go 2016-01-13 10:36:59 -05:00
k8s-merge-robot 6f50699b93 Merge pull request #17192 from SuhasAnand/SuhasAnand-rbd-attachdisk-fix_unnecessary_call
Auto commit by PR queue bot
2016-01-11 22:07:00 -08:00
harry c0d49450e4 Fix volume wrapper doesn't have name
Integration test
2016-01-11 15:08:26 +08:00
Jan Safranek 8c48250a55 Add an integration test for volume tags. 2016-01-08 19:09:29 +01:00
Chakravarthy Nelluri fa76de79e5 Add support for flex volume. Flex volume adds support for thirdparty(vendor)
volumes and custom mounts.
2015-12-23 14:11:38 -08:00
Jimmi Dyson 041ab17a67 Bump cadvisor to fix interface stats bugs & improve performance
Includes necessary godep upgrades for docker & systemd packages as well as
migrating from docker/libcontainer to opencontainers/runc/libcontainer.
2015-12-21 17:07:21 +00:00
Jan Safranek 815d1e0865 Tag OpenStack Cinder volumes created by Kubernetes.
This synchronizes Cinder with AWS EBS code, where we already tag volumes with
claim.Namespace and claim.Name (and pv.Name, as suggested in separate PR).
2015-12-21 11:36:42 +01:00
k8s-merge-robot a45c87864e Merge pull request #18621 from pmorie/devel/provisioner-gce
Auto commit by PR queue bot
2015-12-17 09:20:29 -08:00
Paul Morie 14368fd5e2 Skip volume metrics test on os x 2015-12-16 17:16:38 -05:00
Jan Safranek d4f6271b21 Implement Creater and Deleter interfaces for GCE PD. 2015-12-16 16:14:01 -05:00
Jan Safranek e8f08a969c Extract common function for OpenStack checking. 2015-12-16 14:23:16 -05:00
Jan Safranek 2f06ebf9b7 Implement Creater and Deleter interfaces for Cinder. 2015-12-16 14:23:14 -05:00
Saad Ali 3968a5e63c Merge pull request #18601 from pmorie/devel/provisioner-aws
Dynamic provisioner for AWS EBS
2015-12-16 10:51:35 -08:00
Jan Safranek 6ff5286df9 Implement Creater and Deleter interfaces for AWS EBS.
Also mark the created EBS volumes with tags, so the admin knows
who/what created the volumes.
2015-12-15 10:22:49 +01:00
Paul Morie eb89c2519a Fix assumptions about tmpfs in metrics du tests 2015-12-14 10:47:21 -05:00
Wojciech Tyczynski 960808bf08 Switch to versioned ListOptions in client. 2015-12-14 14:26:09 +01:00
markturansky 4fc1bf1f23 Added PersistentVolumeController 2015-12-11 10:33:30 -05:00
Phillip Wittrock c67ce887f2 Volume Metrics Interface and base implementation.
- Add volume.MetricsProvider function to Volume interface.
- Add volume.MetricsDu for providing metrics via executing "du".
- Add volulme.MetricsNil for unsupported Volumes.
2015-12-09 16:06:24 -08:00
k8s-merge-robot 5f7019ab9d Merge pull request #16877 from anish/iscsi_iface
Auto commit by PR queue bot
2015-12-09 11:52:37 -08:00
Anish Bhatt 6e46fa1fd4 Add support for open-iscsi transports.
This enables use of software or hardware transports viz. be2iscsi,
bnx2i, cxgb3i, cxgb4i, qla4xx, iser and ocs. The default transport
(tcp) happens to be called "default".

Use of non-default transports changes the disk path to the following format:
/dev/disk/by-path/pci-<pci_id>-ip-<portal>-iscsi-<iqn>-lun-<lun_id>
2015-12-08 17:28:06 -08:00
Wojciech Tyczynski b0fcb5adef Pass ListOptions to List in ListWatch. 2015-12-07 11:53:53 +01:00
k8s-merge-robot 13b0fd3cda Merge pull request #16942 from swagiaal/distinguish-format-and-mount
Auto commit by PR queue bot
2015-12-03 10:51:26 -08:00
Wojciech Tyczynski 6dcb689d4e Simplify List() signature in clients. 2015-12-03 09:54:07 +01:00
Sami Wagiaalla 66c905d63e Distinguish normal mount from format and mount in SafeFormatAndMount 2015-12-02 11:16:00 -05:00
k8s-merge-robot 8a8639d7af Merge pull request #17863 from wojtek-t/only_list_options_in_watch
Auto commit by PR queue bot
2015-12-02 06:28:28 -08:00
k8s-merge-robot ac68536d44 Merge pull request #17832 from wojtek-t/list_options_in_list
Auto commit by PR queue bot
2015-12-02 02:34:17 -08:00
Harry Zhang 70a9c0bf56 Add directory in GitRepo and updated tests.
Update validate and gitRepo

Update generated code
2015-12-02 00:20:38 +08:00
Wojciech Tyczynski 8343c8ce6c Pass ListOptions to List() methods. 2015-12-01 15:00:36 +01:00
Wojciech Tyczynski d2dfc912e6 Simplify Watch() signature in clients. 2015-12-01 14:19:26 +01:00
k8s-merge-robot d3d3f94e2f Merge pull request #17711 from anish/iqn_format
Auto commit by PR queue bot
2015-11-26 23:22:17 -08:00
Phillip Wittrock 6b358e43dd Merge pull request #17747 from saad-ali/fixErrorCreatingPDTry2
Refactor GCE wrapper library to allow execution from E2E test suite
2015-11-25 15:57:42 -08:00
saadali 42b200a0a0 Refactor GCE wrapper library to allow execution from E2E test suite
This reverts commit 147b6911f5, reversing
changes made to 6fd986065b.
2015-11-25 11:48:06 -08:00
Wojciech Tyczynski b6ef62af24 Use unversioned.ListOptions in clients. 2015-11-24 16:52:09 +01:00
Anish Bhatt 18c82f743c Support iqn as well as eui format for iSCSI entity names.
Supported formats are :
iqn.<date code>.<reversed domain>[:<optional suffix>]

eui.<eui-64 identifier>
2015-11-24 00:13:59 -08:00
Jerzy Szczepkowski 8a922e22be Revert "Refactor GCE wrapper library to allow execution from E2E test suite" 2015-11-23 09:24:32 +01:00
k8s-merge-robot 3fbf0cb810 Merge pull request #17276 from saad-ali/fixErrorCreatingPD
Auto commit by PR queue bot
2015-11-21 23:32:30 -08:00
saadali 882469dd7b Refactor GCE wrapper library to allow execution from E2E test suite 2015-11-20 11:41:10 -08:00
Paul Morie 911757486d Refactor volume.Builder.IsReadOnly() to volume.Builder.GetAttributes() 2015-11-13 23:34:48 -05:00
Suhas ab01a22fef rdb util: AttachDisk: Skip unnecessary call for waitforpath
Skip unnecessary call to waitforpath if found = true during the first call.
2015-11-12 16:32:10 -08:00
k8s-merge-robot 75ecc34417 Merge pull request #16723 from wulonghui/wulonghui-patch-4
Auto commit by PR queue bot
2015-11-04 04:59:16 -08:00
markturansky d3bb6575fb Revert "nfs: check if /sbin/mount.nfs* is present in CanSupport()"
This reverts commit 1b3a88dc87.
2015-11-03 16:09:57 -05:00
wulonghui 86abfb8d16 Delete all files and all hidden files without . & .. error for PV recycler 2015-11-03 17:34:25 +08:00
Sami Wagiaalla 1d352a16b8 Support volume relabling for pods which specify an SELinux label 2015-10-28 09:26:58 -04:00
Jerzy Szczepkowski 5ef087adab Merge pull request #16266 from wojtek-t/fix_handshake_reflector
Reuse TCP connections in Reflector between resync periods.
2015-10-27 10:36:18 +01:00
Daniel Smith b07dd73f26 Merge pull request #16053 from saad-ali/attachDetachMutextFix
Fix GCE Cloud/Attach/Detach stability issues
2015-10-26 13:05:27 -07:00
Wojciech Tyczynski d47e21f19f Reuse TCP connections in Reflector between resync periods. 2015-10-26 19:35:25 +01:00
Wojciech Tyczynski f4d75e0a0a Support timeout in watch requests 2015-10-24 13:12:49 +02:00
k8s-merge-robot e1559e9fb5 Merge pull request #15352 from pmorie/fsgroup
Auto commit by PR queue bot
2015-10-24 01:55:45 -07:00
saadali 19115b2a22 Fix GCE Cloudprovider waitForOp bug and make GCE attach/detach atomic operations. 2015-10-23 11:58:56 -07:00
k8s-merge-robot 8c9c69b73e Merge pull request #15236 from rootfs/gluster_cansupport
Auto commit by PR queue bot
2015-10-22 19:22:50 -07:00
Paul Morie 3cd12f5e05 FSGroup implementation 2015-10-22 16:40:59 -04:00
k8s-merge-robot 407ff583c4 Merge pull request #16032 from rootfs/nfs-support
Auto commit by PR queue bot
2015-10-22 09:08:27 -07:00
Huamin Chen 1b3a88dc87 nfs: check if /sbin/mount.nfs* is present in CanSupport()
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-10-21 13:47:41 -04:00
Huamin Chen 1665ba4d33 glusterfs: check if mount helper is present
Reported-By: Deepak C Shetty <deepakcs@redhat.com>
Signed-off-by: Huamin Chen <hchen@redhat.com>

glusterfs: return more verbose error message to help diagnose
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-10-20 14:27:37 -04:00
Steve Milner 8da2d4002f Fixes remaining imports per #15319 2015-10-20 07:13:13 -04:00
k8s-merge-robot c4779fbc4f Merge pull request #15475 from jijun2/fix-cni_test
Auto commit by PR queue bot
2015-10-20 01:30:24 -07:00
eulerzgy f8f9afb874 alias local packagename for pkg/util/errors 2015-10-18 09:37:46 +08:00
k8s-merge-robot a6634adc1c Merge pull request #15435 from zhengguoyong/adjust_package_name_pkgcloudprovider
Auto commit by PR queue bot
2015-10-16 08:30:32 -07:00
k8s-merge-robot 372fb373aa Merge pull request #15562 from rootfs/iscsi-umount
Auto commit by PR queue bot
2015-10-16 07:12:23 -07:00
jijun2 bf6e8cbff7 test: using ioutil.TempDir in unit tests per #15176
update

update mode

delete /tmp

update

use ioutil.TempDir instead of static tmp dir

use ioutil.TempDir instead of static tmp dir
2015-10-16 09:21:46 +08:00
k8s-merge-robot 407f9b9e42 Merge pull request #15555 from rootfs/iscsi-def-port
Auto commit by PR queue bot
2015-10-15 07:22:18 -07:00
k8s-merge-robot 130e6a7a4d Merge pull request #15468 from feiskyer/volume-typo-error
Auto commit by PR queue bot
2015-10-15 05:08:33 -07:00
Huamin Chen 76df88f68b iscsi: make portal builder testable
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-10-14 13:30:30 -04:00
Huamin Chen 69a1f33dd5 iscsi: format disk if no filesystem is found
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-10-14 10:30:04 -04:00
Huamin Chen 9ca96abd46 iscsi: use global path to retrieve iscsi portal and iqn
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-10-14 09:48:07 -04:00
Dawn Chen 0f22551e90 Merge pull request #15296 from anish/iscsi_fixes
Fix extraneous entries in iscsi path format, update README and sample json
2015-10-13 11:51:06 -07:00
Huamin Chen 340cfcc284 iscsi: if port is not provided, use default 3260 for target portal
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-10-13 13:31:59 -04:00
Anish Bhatt 6d9e9561e8 Fix extraneous entries in iscsi path format
Code comments currently claim the default iscsi mount path as

kubernetes.io/pod/iscsi/<portal>-iqn-<iqn>-lun-<id>, however actual
path being used is
kubernetes.io/iscsi/iscsi/<portal>-iqn-<iqn>-lun-<id>

This leads to ultimate path being similar to this :

kubernetes.io/iscsi/iscsi/...iqn-iqn...-lun-N

Both iscsi and iqn are repated twice for no reason, since "iqn" is
required by spec to be part of an iqn. This is also  wrong on
multiple leves as actual allowed naming formats are :

iqn.2001-04.com.example:storage:diskarrays-sn-a8675309
eui.02004567A425678D
(RFC 3720 3.2.6.3)

and in the second case "iqn-eui" in the path would be misleading.

Change this to a more reasonable path of
kubernetes.io/iscsi/<portal>-<iqn>-lun-<id>

which also aligns up with how the /dev/by-path and sysfs entries
are created for iscsi devices on linux

  * -- *

Update iSCSI README and sample json file

There seems to have been quite a skew in recent updates to these
files adding in wrong info or info that no longer lines up the
sample config with the README.

Fixed the following issues :
* Fix discrepancy in samples json using initiator iqn from previous
  linked example as target iqn (which was just wrong)
* Generate sample output and README from the same json config provided.
* Remove recommendation to edit initiator name, this is not required
  (open-iscsi warns against editing this manually and provides a utility
   for the same)
* Update docker inspect command to one that works.
* Use separate LUNs for separate mount points instead of re-using.
2015-10-13 10:08:52 -07:00
Dawn Chen de22206929 Merge pull request #15309 from rootfs/no_remount
rbd: no more remount.
2015-10-12 16:02:53 -07:00
feisky 8ad6b8f035 Fix typo error 2015-10-12 18:57:56 +08:00
eulerzgy 8b174f7f33 adjust package name for pkg/cloudprovider 2015-10-10 16:44:54 +08:00
James DeFelice a7c06e57ac flocker unit test should clean up after itself 2015-10-08 22:40:36 +00:00
Huamin Chen de41fd3960 rbd: no more remount.
remount was originally needed to ensure rw/ro is set correctly. There is no such need since mount is using exec interface

Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-10-08 13:50:41 -04:00
saadali 1bb4809841 Prevent GCE PD attach code from succeding if disk failed to attach. 2015-10-07 14:07:33 -07:00
Alex Robinson 608244fbb0 Merge pull request #14044 from rootfs/rbd_enhancement
Multiple rbd volume enhancements
2015-10-05 17:36:11 -07:00
Tim Hockin 6260759c51 Merge pull request #14328 from agonzalezro/flocker
Add flocker volume plugin
2015-10-02 16:02:18 -07:00
Álex González fa39c2b032 Add flocker volume plugin
Flocker [1] is an open-source container data volume manager for
Dockerized applications.

This PR adds a volume plugin for Flocker.
The plugin interfaces the Flocker Control Service REST API [2] to
attachment attach the volume to the pod.

Each kubelet host should run Flocker agents (Container Agent and Dataset
Agent).

The kubelet will also require environment variables that contain the
host and port of the Flocker Control Service. (see Flocker architecture
[3] for more).

- `FLOCKER_CONTROL_SERVICE_HOST`
- `FLOCKER_CONTROL_SERVICE_PORT`

The contribution introduces a new 'flocker' volume type to the API with
fields:

- `datasetName`: which indicates the name of the dataset in Flocker
  added to metadata;
- `size`: a human-readable number that indicates the maximum size of the
  requested dataset.

Full documentation can be found docs/user-guide/volumes.md and examples
can be found at the examples/ folder

[1] https://clusterhq.com/flocker/introduction/
[2] https://docs.clusterhq.com/en/1.3.1/reference/api.html
[3] https://docs.clusterhq.com/en/1.3.1/concepts/architecture.html
2015-10-01 01:10:00 +01:00
saadali 7771151767 GCE PD attach/detach operations should poll to verify successful completion 2015-09-29 14:32:06 -07:00
Huamin Chen 8dbbcefdec rbd: don't use /dev/rbd/pool/image; use sysfs to find rbd device instead
rbd: if rbd image is not formatted, format it to the designated filesystem type

rbd: update example README.md and include instructions to get base64 encoded Ceph secret

if rbd fails to lock image, unmap the image before exiting

Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-09-29 10:13:01 -04:00
Eric Tune f614e7df63 Merge pull request #14168 from tmrts/refactor/tests
Refactor downward API volume plugin test
2015-09-22 13:52:31 -07:00
k8s-merge-robot 6dad530a1f Merge pull request #12599 from rootfs/fc_volume
Auto commit by PR queue bot
2015-09-20 17:20:26 -07:00
k8s-merge-robot 568c0331b0 Merge pull request #13650 from markturansky/prov_creater
Auto commit by PR queue bot
2015-09-20 16:57:36 -07:00
Huamin Chen ed9a1bbd3a support fibre channel volume
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-09-18 19:15:31 -04:00
markturansky a1692e06e6 added pv attrs to volumeOptions, improved tests 2015-09-18 13:14:56 -04:00
markturansky 3bed0a2b5c Added volume.Creater interface and simple HostPath implementation 2015-09-18 13:14:56 -04:00
Tamer Tas 95ad0acf5e Refactor helper method in api/volume/downwardapi 2015-09-18 17:50:08 +03:00
Tamer Tas c01bac90eb Refactor downward API volume plugin test 2015-09-18 13:56:13 +03:00
Daniel Martí 586cb9126a Move pkg/util.Time to pkg/api/unversioned.Time
Along with our time.Duration wrapper, as suggested by @lavalamp.
2015-09-17 17:51:27 -07:00
k8s-merge-robot c1eb1a1b2f Merge pull request #13791 from fgrzadkowski/fix_secrets_in_docker
Auto commit by PR queue bot
2015-09-17 15:13:29 -07:00
k8s-merge-robot 055f5ff9b9 Merge pull request #13649 from markturansky/prov_deleter
Auto commit by PR queue bot
2015-09-17 12:59:45 -07:00
markturansky c2de9e9647 Added volume.Deleter interface and simple HostPath implementation 2015-09-17 12:08:58 -04:00
Filip Grzadkowski 7fe34f2050 Introduce nsenter writer for volume plugins 2015-09-17 16:40:29 +02:00
Kel Cecil 6687075300 Correct AWS EBS comment 2015-09-16 14:04:36 -04:00
markturansky 7bc55b5aea configurable pv recyclers 2015-09-15 12:48:25 -04:00
k8s-merge-robot dc1561fbca Merge pull request #13784 from BugRoger/aws_ebs_picks_up_kubelet_cloud_provider
Auto commit by PR queue bot
2015-09-14 22:25:16 -07:00
k8s-merge-robot 8189460809 Merge pull request #13844 from tummychow/label-deps-2
Auto commit by PR queue bot
2015-09-14 12:56:24 -07:00
Jeff Lowdermilk e25ae7fdb2 Merge pull request #13833 from caesarxuchao/central-latest
[WIP] Making a generic latest package
2015-09-14 09:26:58 -07:00
tummychow a21c52a766 Move util/validation files to their own package 2015-09-13 00:46:52 -07:00
k8s-merge-robot 69b283bd27 Merge pull request #13807 from bodgit/glusterfs
Auto commit by PR queue bot
2015-09-12 21:33:09 -07:00
Chao Xu 64bf839e9f refactor tests to use testapi rather than latest directly 2015-09-11 17:32:23 -07:00
Chao Xu dd6c121d7f massive changes 2015-09-11 17:31:47 -07:00
Matt Dainty 8bbc86d83c Override the GlusterFS log file location
GlusterFS by default uses a log file based on the mountpoint path munged into a
file, i.e. `/mnt/foo/bar` becomes `/var/log/glusterfs/mnt-foo-bar.log`.

On certain Kubernetes environments this can result in a log file that exceeds
the 255 character length most filesystems impose on filenames causing the mount
to fail. Instead, use the `log-file` mount option to place the log file under
the kubelet plugin directory with a filename of our choosing keeping it fairly
persistent in the case of troubleshooting.
2015-09-11 18:29:00 +01:00
Daniel Smith b225c1d47a Run gofmt (separate commit for easy rebases) 2015-09-10 17:17:59 -07:00
Daniel Smith 15b30b8b09 Move version agnostic parts of client
pkg/client/unversioned/cache -> pkg/client/cache
pkg/client/unversioned/record -> pkg/client/record
2015-09-10 17:17:59 -07:00
tummychow 78ce5da988 Move util.StringSet into its own package
A lot of packages use StringSet, but they don't use anything else from
the util package. Moving StringSet into another package will shrink
their dependency trees significantly.
2015-09-10 12:04:15 -07:00
Michael Schmidt fcda3556cd pass cloudProvider from Kubelet to volume plugins 2015-09-10 10:28:48 +02:00
markturansky a5feac5739 improved recycler unit test 2015-09-07 14:44:49 -04:00
Quinton Hoole e5e2bc9580 Merge pull request #10833 from markturansky/loosen_binding
Allow PV/Claim matching on inexact access modes
2015-09-04 09:06:31 -07:00
Sami Wagiaalla 9ca9ab1b66 iSCSI Plugin: Remove remounting of device in global path.
This code was originally added because the first mount call did not
respect the ro option. This no longer seems to be the cause so there
is no need to use remount.

Signed-off-by: Sami Wagiaalla <swagiaal@redhat.com>
2015-09-03 15:59:27 -04:00
markturansky 0e7f73ad67 expand volume.Spec to include full Volume and PV 2015-09-03 08:57:32 -04:00
k8s-merge-robot e8cda9dc92 Merge pull request #13310 from markturansky/volume_config
Auto commit by PR queue bot
2015-09-02 14:05:30 -07:00
Brendan Burns 2df5010834 Merge branch 'sdminonne-container_sidecar' 2015-09-02 10:42:08 -07:00
Brendan Burns 74ef517097 Merge pull request #6649 from rootfs/wip-cephfs
add Ceph FS volume plugin
2015-09-02 09:48:15 -07:00
k8s-merge-robot f5c2d90c3a Merge pull request #12293 from deads2k/testclient-specific-reaction
Auto commit by PR queue bot
2015-09-02 09:18:24 -07:00
Salvatore Dario Minonne f4dc0653aa adding downward api volume plugin 2015-09-01 22:23:03 +02:00
Huamin Chen fe559f2726 implement Ceph FS volume plugin and add to e2e volume test
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-09-01 14:05:17 -04:00
deads2k 7e180c258d update testclient for delegating reaction chain 2015-09-01 12:58:35 -04:00
markturansky 68358fd308 Added VolumeConfig to volumes 2015-09-01 12:04:26 -04:00
Sreekanth Pothanis f5da6b34ce Cinder Volume Plugin 2015-08-30 19:56:27 -07:00
Prashanth B 05b205bab6 Revert "Volume Plugin for Cinder; Openstack Block Storage" 2015-08-28 10:56:24 -07:00
Prashanth B 8d0d54ffed Merge pull request #6689 from spothanis/cinder-vol-plugin
Volume Plugin for Cinder; Openstack Block Storage
2015-08-28 10:47:31 -07:00
markturansky 0b6030f50c added better matching for PV access modes 2015-08-27 15:34:07 -04:00
Sami Wagiaalla ab0258f259 Support formatting and mounting GCE PD without 'safe_format_and_mount'
The GCE PD plugin uses safe_format_and_mount found on standard GCE images:

https://github.com/GoogleCloudPlatform/compute-image-packages/blob/master/google-startup-scripts/usr/share/google/safe_format_and_mount

On custom images where this is not available pods fail to format and
mount GCE PDs. This patch uses linux utilities in a similar way to the
safe_format_and_mount script to format and mount the GCE PD and AWS EBC
devices. That is first attempt a mount. If mount fails try to use file to
investigate the device. If 'file' fails to get any information about
the device and simply returns "data" then assume the device is not
formatted and format it and attempt to mount it again.

Signed-off-by: Sami Wagiaalla <swagiaal@redhat.com>
2015-08-26 11:53:40 -04:00
Sreekanth Pothanis c841a20361 Cinder Volume Plugin 2015-08-25 15:13:56 -07:00
Saad Ali b05cab0bc5 Merge pull request #6945 from eparis/IsMountPoint
Rename IsMountPoint to IsLikelyNotMountPoint
2015-08-19 12:47:51 -07:00
Kris Rousey ae6c64d9bb Moving everyone to unversioned client 2015-08-18 10:23:03 -07:00
Eric Paris f125ad88ce Rename IsMountPoint to IsLikelyNotMountPoint
IsLikelyNotMountPoint determines if a directory is not a mountpoint.
It is fast but not necessarily ALWAYS correct. If the path is in fact
a bind mount from one part of a mount to another it will not be detected.
mkdir /tmp/a /tmp/b; mount --bin /tmp/a /tmp/b; IsLikelyNotMountPoint("/tmp/b")
will return true. When in fact /tmp/b is a mount point. So this patch
renames the function and switches it from a positive to a negative (I
could think of a good positive name). This should make future users of
this function aware that it isn't quite perfect, but probably good
enough.
2015-08-14 18:45:43 -04:00
Bryan Stenson 9541414742 create cloudprovider "providers" package
move all providers into new package
    update all references to old package path
2015-08-11 22:36:51 -07:00
Kris Rousey 565189f5b8 Correcting all go vet errors 2015-08-11 13:55:37 -07:00
Rohith dc23ded091 - fixing the complaint on the gofmt 2015-08-10 23:57:05 +01:00
Rohith bb31cd29ea - fixed the defencing of the rbd lock 2015-08-10 23:33:25 +01:00
Veres Lajos 9f77e49109 typofix - https://github.com/vlajos/misspell_fixer 2015-08-08 22:31:48 +01:00
Mike Danese fe6b15ba2f rewrite all links to issues to k8s links 2015-08-05 21:11:11 -07:00
Mike Danese 17defc7383 run gofmt on everything we touched 2015-08-05 17:52:56 -07:00
Mike Danese 8e33cbfa28 rewrite go imports 2015-08-05 17:30:03 -07:00
Mike Danese e58ea24d0b Merge pull request #12001 from uluyol/os-exp-hack
Add (stopgap) support for an experimental API prefix.
2015-07-31 10:15:06 -07:00
Muhammed Uluyol 58a875ac2c Add (stopgap) support for an experimental API prefix. 2015-07-30 18:14:29 -07:00
jiangyaoguo 8eeda24652 new builder and cleaner type for aws-ebs 2015-07-30 10:23:38 +08:00
Paul Morie 5394aa979f Make emptyDir volumes work for non-root UIDs 2015-07-29 18:36:51 -04:00
Brendan Burns 63cf00d24f Merge pull request #10424 from markturansky/readonly_fix
Auto commit by PR queue bot
2015-07-29 14:25:44 -07:00
Mike Danese f40b970bd9 Merge pull request #11987 from markturansky/recyc_fix
Fixed newRecycler func for HostPath & NFS
2015-07-29 13:11:08 -07:00
markturansky e8289ceb9d rebased and updated 2015-07-29 14:48:06 -04:00
markturansky 8639f24374 rebased and updated 2015-07-29 14:38:40 -04:00
markturansky 920cb34b1e rebased and updated to latest 2015-07-29 14:38:40 -04:00
markturansky 63ccfa2beb Added unit tests for each PV using IsReadOnly 2015-07-29 14:38:40 -04:00
markturansky fae6759490 IsReadOnly bool on builder 2015-07-29 14:35:37 -04:00
markturansky 124bb22f92 Honor ReadOnly flag from persistent-volume plugin 2015-07-29 14:34:15 -04:00
Mike Danese 33888ba804 Merge pull request #11575 from jiangyaoguo/new-builder-cleaner-for-host-path
Refactor host_path volume to seperate builder and cleaner
2015-07-29 11:24:09 -07:00
markturansky 649374ddb4 fixed newRecycler func for HostPath & NFS 2015-07-29 14:13:05 -04:00
Daniel Smith 226c950bda Merge pull request #11409 from pmorie/secrets-bc-type
Refactor secrets volume plugin to separate builder and cleaner types
2015-07-27 16:22:58 -07:00
Paul Morie 918925e09d Refactor git repo volume to separate builder and cleaner 2015-07-27 18:18:41 -04:00
Paul Morie 20ba173913 Refactor secrets volume plugin to separate builder and cleaner types 2015-07-27 18:13:39 -04:00
markturansky e380242b16 Changed pdManager to ebsManager 2015-07-27 13:52:04 -04:00
markturansky 98ec116f3f Improved internal naming from 'pd' to 'ebs' to match the volume 2015-07-27 13:52:04 -04:00
jiangyaoguo 72e899e1b5 refector rbd volume to seperate builder and cleaner 2015-07-26 01:11:25 +08:00
Mike Danese 39a7fc3706 Merge pull request #11552 from jiangyaoguo/new-builder-cleaner-for-gce-pd
Refactor gec-pd to seperate builder and cleaner
2015-07-24 12:18:21 -07:00
Mike Danese a4a48f5849 Merge pull request #11802 from jiangyaoguo/new-builder-cleaner-for-iscis
Refector iscsi volume to seperate builder and cleaner
2015-07-24 11:27:36 -07:00
Huamin Chen fa8a2ef81d fencing off multiple rbd mount
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-07-24 11:49:32 -04:00
jiangyaoguo ce52ae782d refector iscsi volume to seperate builder and cleaner 2015-07-24 16:55:56 +08:00
jiangyaoguo 27524d6b36 refector gec-pd to seperate builder and cleaner 2015-07-24 16:15:37 +08:00
Vish Kannan cc326c714b Merge pull request #11561 from saad-ali/issue11231
Fix GCE PD attach/detach issues
2015-07-23 14:53:45 -07:00
saadali 234f3ed814 Make GCE PD attach block on pending detach. Retry on detach/attach errors. 2015-07-23 14:03:50 -07:00
Vish Kannan d09d121b6c Merge pull request #11572 from jiangyaoguo/new-builder-cleaner-for-nfs
Refactor nfs volume to seperate builder and cleaner
2015-07-23 13:54:46 -07:00
Vish Kannan 94bed5a426 Merge pull request #11739 from jiangyaoguo/new-builder-cleaner-for-glusterfs
Refector glusterfs volume to seperate builder and cleaner
2015-07-23 13:17:22 -07:00
jiangyaoguo 8bb0ae9f89 refector glusterfs volume to seperate builder and cleaner 2015-07-23 15:07:40 +08:00
Tim Hockin 6eda8f47df Remove volumes legacy mode 2015-07-22 21:53:35 -07:00
Vish Kannan 5f79267b97 Merge pull request #10484 from markturansky/vol_iscsi_export
Changed ISCSI plugin name from exported to private
2015-07-22 17:07:15 -07:00
Vish Kannan 2e3841efc5 Merge pull request #10485 from markturansky/volume_rbd_export
Changed RBD Volume plugin name from exported to private
2015-07-22 17:02:55 -07:00
jiangyaoguo 612f68f820 reflector nfs volume to seperate builder and cleaner 2015-07-20 19:16:48 +08:00
jiangyaoguo 63560f385c refector host_path volume to seperate builder and cleaner 2015-07-20 17:23:04 +08:00
Zach Loafman 7df8d76a93 Merge pull request #10169 from saad-ali/fixPDIssue2
Work around for PDs stop mounting after a few hours issue
2015-06-30 15:47:21 -07:00
saadali c952ee23a7 Work around for PDs stop mounting after a few hours issue 2015-06-30 13:31:03 -07:00
markturansky fe6399a689 Changed plugin name from exported to private 2015-06-29 13:07:22 -04:00
markturansky 7e1eb15434 Changed plugin name from exported to private 2015-06-29 13:04:09 -04:00
Sami Wagiaalla a317b5ffc8 iscsi plugin: print error messages not just exit status.
Signed-off-by: Sami Wagiaalla <swagiaal@redhat.com>
2015-06-29 11:28:56 -04:00
markturansky 39c5152e2c fixed pv recycler timeout precision 2015-06-20 00:34:29 -04:00
Satnam Singh b48aa0b693 Merge pull request #9957 from rootfs/fix-9952
check IsNotExist error when validating mountpoint
2015-06-18 15:18:06 -07:00
markturansky 88a4ff02f5 Fixed typo in error string 2015-06-17 17:51:42 -04:00
markturansky 0a6b7b61ec Changed PVClaimVolumeSource name to match other volume names 2015-06-17 16:17:49 -04:00
Huamin Chen 0280dac6b1 check IsNotExist error when validating mountpoint
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-06-17 15:25:15 -04:00
markturansky cfc08c4fdf Changed busybox img to official gcr.io image 2015-06-16 16:15:19 -04:00
markturansky 4210a5dfd8 Scrub pod closes watch channel 2015-06-11 14:25:44 -04:00
markturansky 986cbb56d4 Recycling HostPath and NFS impls 2015-06-04 15:46:03 -04:00
markturansky cb547f4b5c RecyclableVolumePlugin interfaces 2015-06-04 15:40:52 -04:00
markturansky b1464437de fixed test 2015-06-02 09:19:28 -04:00
Jan Safranek d2b4ae4df4 Fix persistent volumes.
Check Spec.PersistentVolumeSource in NFS, RBD, Gluster and iSCSI volume
plugins.
2015-06-02 09:19:28 -04:00
Justin Santa Barbara 9839253233 Add logging to volume tear-down to help understand mount behaviour 2015-05-29 20:11:13 -04:00
Tim Hockin 0bbba1c3d1 Merge pull request #8732 from markturansky/missing_pv_support
Fixed CanSupport func across all volumes (for PV)
2015-05-27 08:45:47 -07:00
Tim Hockin d0249aac75 Merge pull request #8133 from markturansky/iscsi_pv2
added ISCSI volume plugin to PersistentVolumeSource
2015-05-27 08:36:37 -07:00
Saad Ali 8e25670c07 Merge pull request #8688 from markturansky/nfs_missing_pv
Fixed NFS CanSupport func for PVs
2015-05-26 18:48:31 -07:00
Saad Ali c8d2026fa4 Merge pull request #8737 from pmorie/volume-doc
Add doc.go files for all volume plugins
2015-05-26 14:53:35 -07:00
Paul Morie feb0880b1e Add tests for secret volume plugin reboot/idempotency 2015-05-25 13:34:07 -04:00
Paul Morie 38c96725c0 Add doc.go files for all volume plugins 2015-05-23 16:59:12 -04:00
markturansky 3ad583cf2d Fixed spotty CanSupport for PV and added more unit tests for same 2015-05-23 09:59:05 -04:00
markturansky 63ddfa537e fixed missing PV check in CanSupport 2015-05-22 15:23:34 -04:00
markturansky 5b23fc39b2 added ISCSI volume plugin to PersistentVolumeSource 2015-05-22 15:18:20 -04:00
markturansky 4f88d418c8 Added missing PV support to NFS 2015-05-22 15:10:40 -04:00
Huamin Chen 4a800fd10e add rados block device(rbd) volume plugin
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-05-21 14:51:31 -04:00
Tim Hockin fd22f48f5b rename StorageType StorageMedium 2015-05-18 17:21:30 -07:00
Tim Hockin f66ca25d9f Rename AccessMode to PersistentVolumeAccessMode 2015-05-18 17:21:30 -07:00
Tim Hockin 2c28c6d99f Merge pull request #8191 from pmorie/secrets-reboot
Make secret volumes function correctly across reboot
2015-05-14 09:31:02 -07:00
Victor Marmol aa744f92da Merge pull request #7847 from swagiaal/fix-gce-pd-on-atomic-host
Support default udev GCE PD device path
2015-05-14 09:10:06 -07:00
Paul Morie bea1c05057 Make secret volumes function correctly across reboot 2015-05-14 01:51:14 -04:00
markturansky 0191574f7e Bi-directional bind between pv.Spec.ClaimRef and pvc.Spec.VolumeName 2015-05-13 14:05:21 -04:00
Paul Morie e2dd95a8b3 Make nfs volume plugin use injected mounter 2015-05-11 13:36:36 -04:00
Paul Morie cd359ffa73 Refactor volume interfaces to receive pod instead of ObjectReference 2015-05-10 20:12:57 -04:00
Abhi Shah 87e85e25f1 Revert "Added ISCSI to PV structs" 2015-05-08 11:31:35 -07:00
markturansky 4c9eac6c3d Added ISCSI to PV structs 2015-05-07 18:13:03 -04:00
Sami Wagiaalla a85451addc Support default udev GCE PD device path
The expected GCE PD device name is google-{name of disk}. This is
because standard GCE images contain a udev rules file which renames
the GCE PD device to google-{name of disk} https://github.com/GoogleCloudPlatform/compute-image-packages/blob/master/google-startup-scripts/lib/udev/rules.d/65-gce-disk-naming.rules. In custome images which do not have that udev rules file
the device gets the default rules apply http://cgit.freedesktop.org/systemd/systemd/tree/rules/60-persistent-storage.rules
and the GCE PD device ends up with a name which looks like scsi-0Google_PersistentDisk_{name of disk}
This patch adds support for that scenario.

Signed-off-by: Sami Wagiaalla <swagiaal@redhat.com>
2015-05-06 15:09:15 -04:00
Paul Morie b538642464 Inject mounter into volume plugins 2015-05-04 11:28:57 -04: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
Clayton Coleman 1a8845af61 Merge pull request #7490 from smarterclayton/alter_list
Do not automatically decode runtime.RawExtension
2015-05-01 16:48:26 -04:00
Clayton Coleman 12ba4e2452 Do not automatically decode runtime.RawExtension
Make clients opt in to decoding objects that are stored
in the generic api.List object by invoking runtime.DecodeList()
with a set of schemes. Makes it easier to handle unknown
schema objects because decoding is in the control of the code.

Add runtime.Unstructured, which is a simple in memory
representation of an external object.
2015-04-29 12:53:07 -04:00
Deyuan Deng 6897095e56 Change mount.Interface.Mount to exec('mount'), instead of syscall 2015-04-29 10:46:32 -04:00
Chris Moos 36e3ec9c1f Fix crash in kubelet when persistent volume claim is not bound.
While testing #6105 ran into this issue, kubelet crashed because
controller had not yet bound the claim to a volume.
2015-04-25 12:38:18 -07:00
Paul Morie bc8f010a10 Make secret volume plugin idempotent 2015-04-23 11:23:23 -04:00
Vish Kannan a054201556 Merge pull request #7110 from swagiaal/improve-iscsi-test
iscsi Test: Add explicit check for attach and detach calls.
2015-04-22 11:21:42 -07:00
Sami Wagiaalla 0a7f6c2999 iscsi Test: Add explicit check for attach and detach calls.
Signed-off-by: Sami Wagiaalla <swagiaal@redhat.com>
2015-04-21 10:30:47 -04:00
Jan Safranek 0293c6b7f0 Use pod namespace when looking for its GlusterFS endpoints.
I have a pod, which exports a Gluster filesystem in non-default namespace.
When I try to use this FS as a GlusterfsVolumeSource in a 'client' pod
definition, Kubernetes looks for the appropriate endpoint in 'default'
namespace instead of the namespace where the client pod is being defined.
2015-04-21 12:33:59 +02:00
markturansky d904e747e3 PVClaim volume plugin 2015-04-14 16:21:29 -04:00
markturansky e1481fb9c2 Refactored Volume plugins to use InternalVolume instead of API types 2015-04-14 14:25:01 -04:00
Tim Hockin f318da8344 Merge pull request #6379 from pmorie/rootcontext
Skeletal security context to facilitate tmpfs mount
2015-04-13 12:01:11 -07:00
Vish Kannan 810ad7116d Merge pull request #6763 from swagiaal/improve-gce-pd-test
GCE PD Test: Add explicit check for attach and detach calls
2015-04-13 10:55:10 -07:00
Paul Morie c98e89fca0 Set rootcontext of emptyDir tmpfs mounts correctly 2015-04-13 12:50:36 -04:00
Sami Wagiaalla 309fd272b6 GCE PD Test: Add explicit check for attach and detach calls
Signed-off-by: Sami Wagiaalla <swagiaal@redhat.com>
2015-04-13 11:36:28 -04:00
Marko Luksa 9bfa29896b Added missing argument 2015-04-13 15:46:27 +02:00
Justin Santa Barbara 7626914344 Rename aws_pd.go -> aws_ebs.go, aws_pd_test.go -> aws_ebs_test.go 2015-04-10 13:25:44 -07:00
Justin Santa Barbara 503e19e58c Rename aws_pd -> aws_ebs 2015-04-10 13:25:44 -07:00
Justin Santa Barbara 933cf60af7 Style: volumeId -> volumeID 2015-04-10 13:25:44 -07:00
Justin Santa Barbara a20484b5ed Apply latest changes from copy-and-pasted gce_pd 2015-04-10 13:25:43 -07:00
Justin Santa Barbara 9711e771c5 Rename AWSPersistentDisk -> AWSElasticBlockStore, aws-pd -> aws-ebs
Per comments from @markturansky - thanks!
2015-04-10 13:25:43 -07:00
Justin Santa Barbara 95b68ae0b0 Rename pdName -> volumeId for AWS persistent volumes 2015-04-10 13:25:43 -07:00
Justin Santa Barbara 3689bf0298 Fix pd name parse 2015-04-10 13:25:43 -07:00
Justin Santa Barbara cdc569a6c8 Parse the pdName from the volume mount
Don't assume there are no slashes!
2015-04-10 13:25:43 -07:00
Justin Santa Barbara f0cedd7375 More logging around error causes
Come back exceptions, all is forgiven!
2015-04-10 13:25:43 -07:00
Justin Santa Barbara 3549b30c8e Add missing import 2015-04-10 13:25:42 -07:00
Justin Santa Barbara 6c823dbdab Small clean-ups 2015-04-10 13:25:42 -07:00
Justin Santa Barbara 8fde691aa7 Fix tests 2015-04-10 13:25:42 -07:00
Justin Santa Barbara edf0292d4a Add initial support for Volumes to AWS 2015-04-10 13:25:42 -07:00
Clayton Coleman 51db3bd654 Create a new testclient package that can be backed by disk files
Standardize how our fakes are used so that a test case can use a
simpler mechanism for providing large, complex data sets, as well
as represent queries over time.
2015-04-07 14:56:15 -04:00
Huamin Chen a278ceeb0a implement glusterfs volume plugin
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-04-07 09:14:39 -04:00
Huamin Chen 7a82af31de add iscsi volume plugin
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-04-06 16:20:28 -04:00
markturansky c4a53a23bd Added validation to prevent mutating Claim.Spec after binding 2015-04-06 08:46:44 -04:00
markturansky 95bd170ca2 PV & PVC Client implementation 2015-04-06 08:46:43 -04:00
Deyuan Deng d62afa85ff Abstract ismountpoint and use platform mounter for NFS volume 2015-04-01 23:05:02 -04: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
Paul Morie 852362ee39 Add positive logging for secret volume plugin 2015-03-25 17:25:13 -04:00
Tim Hockin e1a66ad015 Merge pull request #5398 from markturansky/volume_access_modes
Add GetAccessModes to volume plugin interface
2015-03-24 15:16:01 -07:00
markturansky 519cbc498b Added conversion and check to prevent panic 2015-03-24 17:33:31 -04:00
Tim Hockin 064b7dec42 Merge pull request #5807 from pmorie/secret_volume_ref
Change secret volume plugin reference to name
2015-03-24 14:18:35 -07:00
markturansky 5fa07f57b6 Removed PersistentVolumeSource and FindPersistentPluginBySpec func 2015-03-24 16:26:33 -04:00
markturansky 111f3d5120 Add GetAccessModes to volume plugin interface 2015-03-24 16:02:39 -04:00
Paul Morie e40ba109a1 Change SecretVolumeSource to use a secret name instead of ObjRef 2015-03-24 13:58:41 -04:00
markturansky 2fd82f60f4 Move escape function to util and clarify name 2015-03-24 13:52:31 -04:00
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
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
Andrew Seidl 6dee1d7fa4 Fix typos in user-facing strings 2015-01-18 01:32:34 -06:00
Brendan Burns 3da84e1844 Fix GCE-PD so that it works even if the PD is already attached. 2014-12-11 16:41:01 -08:00
Mike Danese 553239d6ee explicitly declare gce_cloud package name 2014-12-09 18:48:39 -08:00
Brendan Burns e1764e2e01 Add an e2e test for gce pd.
Add an example for gce pd.
Add an extra log message.
2014-11-25 09:02:00 -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
Brendan Burns b59e49fa13 Add support for git volumes. 2014-10-27 16:35:52 -07:00
Danny Jones 4ec25f3b81 Adds support for attaching GCEPersitentDisks
Adds GCEPersistentDisk volume struct
Adds gce-utils to attach disk to kubelet's VM.
Updates config to give compute-rw to every minion.
Adds GCEPersistentDisk to API
Adds ability to mount attached disks
Generalizes PD and adds tests.
PD now uses an pluggable API interface.
Unit Tests more cleanly separates TearDown and SetUp
Modify boilerplate hook to omit build tags
Adds Mounter interface; mount is now built by OS
TearDown() for PD now detaches disk on final refcount
Un-generalized PD; GCE calls moved to cloudprovider

Address comments.
2014-10-08 20:03:59 -07:00
Eric Tune 9c0769422d Directory renamed to Dir to match json property 2014-10-01 13:35:21 -07:00
Vojtech Vitek (V-Teq) 59f58cd043 Unify Godoc formatting, fix various typos
Signed-off-by: Vojtech Vitek (V-Teq) <vvitek@redhat.com>
2014-09-02 13:41:03 +02:00
derekwaynecarr 39293eaf56 Enforce isDir, elliminates message in kubelet.log 2014-08-18 13:17:41 -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
Kelsey Hightower 7b59845843 volume: improve test coverage and minor refactoring
The volume package does not test enough use-cases.

Improve test coverage by adding additional tests and refactoring
current tests to use table testing.

This change introduces a new error var to make testing unsupported
volume type errors easier.

This change does not introduce any changes in behavior.
2014-07-27 14:11:19 -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
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
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
Danny Jones f1a7850454 Adds EmptyDirectory volume struct
Adds EmptyDirectory to volumes. This represents a directory
on the host, given to a pod that should not persist beyond.

The current draft does not cleanup after itself.
2014-07-17 10:09:14 -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