王怀宗
5b53e90ee4
fix code style
2019-03-29 10:18:59 +08:00
王怀宗
af330fe68e
1. fix mountcache race conflict
...
2. support user-defined cache dir
3. if not define mountcachedir disable mountcache
2019-03-27 16:04:58 +08:00
ShyamsundarR
ba2e5cff51
Address remenant subject reference and code style reviews
...
Signed-off-by: ShyamsundarR <srangana@redhat.com>
2019-03-26 16:19:24 +00:00
ShyamsundarR
fc0cf957be
Updated code and docs to reflect correct terminology
...
- Updated instances of fsid with clusterid
- Updated instances of credentials/subject with user/key
Signed-off-by: ShyamsundarR <srangana@redhat.com>
2019-03-26 16:19:24 +00:00
ShyamsundarR
e1c685ef39
Fixed scope of confStore
...
Signed-off-by: ShyamsundarR <srangana@redhat.com>
2019-03-26 16:19:24 +00:00
ShyamsundarR
c9c1c871fc
Removed a couple of debug logs
...
Signed-off-by: ShyamsundarR <srangana@redhat.com>
2019-03-26 16:19:24 +00:00
ShyamsundarR
2064e674a4
Addressed using k8s client APIs to fetch secrets
...
Based on the review comments addressed the following,
- Moved away from having to update the pod with volumes
when a new Ceph cluster is added for provisioning via the
CSI driver
- The above now used k8s APIs to fetch secrets
- TBD: Need to add a watch mechanisim such that these
secrets can be cached and updated when changed
- Folded the Cephc configuration and ID/key config map
and secrets into a single secret
- Provided the ability to read the same config via mapped
or created files within the pod
Tests:
- Ran PV creation/deletion/attach/use using new scheme
StorageClass
- Ran PV creation/deletion/attach/use using older scheme
to ensure nothing is broken
- Did not execute snapshot related tests
Signed-off-by: ShyamsundarR <srangana@redhat.com>
2019-03-26 16:19:24 +00:00
ShyamsundarR
97f8c4b677
Provide options to pass in Ceph cluster-id
...
This commit provides the option to pass in Ceph cluster-id instead
of a MON list from the storage class.
This helps in moving towards a stateless CSI implementation.
Tested the following,
- PV provisioning and staging using cluster-id in storage class
- PV provisioning and staging using MON list in storage class
Did not test,
- snapshot operations in either forms of the storage class
Signed-off-by: ShyamsundarR <srangana@redhat.com>
2019-03-26 16:19:24 +00:00
王怀宗
b318964af5
issue #91
...
issue #217
Goal
we try to solve when csi exit unexpect, the pod use cephfs pv can not auto recovery because lost mount relation until pod be killed and reschedule to other node. i think this is may be a problem. may be csi plugin can do more thing to remount the old path so when pod may be auto recovery when pod exit and restart, the old mount path can use.
NoGoal
Pod should exit and restart when csi plugin pod exit and mount point lost. if pod not exit will get error of **transport endpoint is not connected**.
implment logic
csi-plugin start:
1. load all MountCachEntry from node local dir
2. check if volID exist in cluster, if no we ignore this entry, if yes continue
3. check if stagingPath exist, if yes we mount the path
4. check if all targetPath exist, if yes we binmount to staging path
NodeServer:
1. NodeStageVolume: add MountCachEntry on local dir include readonly attr and ceph secret
2. NodeStagePublishVolume: add pod bind mount path to MountCachEntry and persist local dir
3. NodeStageunPublishVolume: remove pod bind mount path From MountCachEntry and persist local dir
4. NodeStageunStageVolume: remove MountCachEntry from local dir
2019-03-25 22:47:39 +08:00
John Griffith
d79ca5bc90
Merge branch 'csi-v1.0' into default_multiwrite_blockmode
2019-03-19 08:02:14 -06:00
j-griffith
6ec1196f47
Rework multi-node-multi-writer feature
...
This commit reverts the initial implementation of the
multi-node-multi-writer feature:
commit: b5b8e46460
It replaces that implementation with a more restrictive version that
only allows multi-node-multi-writer for volumes of type `block`
With this change there are no volume parameters required in the stoarge
class, we also fail any attempt to create a file based device with
multi-node-multi-write being specified, this way a user doesn't have to
wait until they try and do the publish before realizing it doesn't work.
2019-03-18 10:07:06 -06:00
Róbert Vašek
a4dd845735
Merge pull request #223 from Madhu-1/fix-222-1.0
...
update driver name as per csi spec
2019-03-14 06:38:13 +01:00
j-griffith
a164169fd3
Revert "Add multiNodeWritable option for RBD Volumes"
...
This reverts commit b5b8e46460
.
2019-03-13 18:26:46 -06:00
Madhu Rajanna
d61a87b42e
Fix driver name as per CSI spec
...
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-03-13 12:04:30 +05:30
Róbert Vašek
2a25666109
Merge pull request #249 from Madhu-1/fix-return
...
Fix return error codes
2019-03-12 17:25:05 +01:00
Madhu Rajanna
dd41295900
store volume size in bytes in configmap
...
during volume creation we check volume size in
bytes, and even during listing of volumes and
snapshots we need to check size in bytes
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-03-12 18:37:10 +05:30
Madhu Rajanna
9f5ac5eeaa
Fix return error codes
...
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-03-07 18:29:07 +05:30
Róbert Vašek
b07211739c
Merge pull request #238 from Madhu-1/fix-image-size
...
Fix image size
2019-03-05 12:12:04 +01:00
Madhu Rajanna
16279eda78
Roundup volume size to Mib for rbd
...
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-03-04 19:17:28 +05:30
Madhu Rajanna
0fd091fa7f
skip errcheck
...
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-03-04 19:02:10 +05:30
Madhu Rajanna
8f07c9efcc
remove unused param from function
...
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-03-04 19:01:25 +05:30
j-griffith
72edf06916
Fix obsolete comment
...
Had a stray comment that got left behind during refactoring, move it
back to where it's relevant and reword it a bit to fit the finished
product.
2019-03-01 22:36:46 +00:00
j-griffith
b5b8e46460
Add multiNodeWritable option for RBD Volumes
...
This change adds the ability to define a `multiNodeWritable` option in
the Storage Class.
This change does a number of things:
1. Allow multi-node-multi-writer access modes if the SC options is
enabled
2. Bypass the watcher checks for MultiNodeMultiWriter Volumes
3. Maintains existing watcher checks for SingleNodeWriter access modes
regardless of the StorageClass option.
fix lint-errors
2019-03-01 21:59:57 +00:00
Huamin Chen
d938944528
Merge pull request #233 from gman0/fuse-unmount-wait
...
cephfs: wait for FUSE to exit after unmount
2019-02-27 15:00:28 -05:00
gman
b779009770
parse ceph-fuse PID with regexp
2019-02-27 20:29:20 +01:00
Madhu Rajanna
6f4f148d3b
remove glog
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-02-27 14:17:19 +05:30
Madhu Rajanna
fdc0d8255a
move csi-common to ceph-csi
...
kubernetes/driver/csi-common is no
longer maintained.
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-02-27 14:17:19 +05:30
gman
3a0d048186
cephfs/volumemounter: unmountVolume now waits till the ceph-fuse daemon exits
2019-02-26 17:57:24 +01:00
Huamin Chen
dfcd1c33c3
Merge pull request #232 from gman0/cephfs-concurrency-fix
...
cephfs concurrency fix
2019-02-26 09:40:32 -05:00
Madhu Rajanna
1cedbf0eee
sort volume ID's for rbd volume list
...
looping over a map is not guaranteet
to be ordered.
we need to sort the volume ID's for
ListVolume rpc for rbd plugin.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-02-26 14:35:16 +00:00
Madhu Rajanna
e861f12a60
Fix review comments
...
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-02-26 14:35:16 +00:00
Madhu Rajanna
3b320ef19e
Add support of RBD list volumes
...
currently all the created volumes are
stored in the metadata store, so we
can use this information to support
list volumes.
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-02-26 14:35:16 +00:00
gman
2f8931315a
don't attempt to delete mountpoint if unmount failed
2019-02-26 14:46:21 +01:00
gman
143003bcfd
cephfs: added locks for {Create,Delete}Volume, NodeStageVolume
2019-02-26 11:06:25 +01:00
gman
60588d8968
cephfs/volume: create/delete-volume idempotency checks
2019-02-26 11:06:16 +01:00
gman
d12fdfd400
rbd: fixed metadata idempotency in DeleteVolume; DeleteSnapshot should assume the snapshot to be already deleted if metadata doesn't exist
2019-02-25 18:09:21 +01:00
gman
ce3affcc6a
cephfs: DeleteVolume should assume the volume to be already deleted if metadata doesn't exist
2019-02-25 18:07:28 +01:00
gman
e5dbea15d3
util/cachepersister: check and return CacheEntryNotFound error in Get()
2019-02-25 18:05:20 +01:00
Huamin Chen
e627a6166c
Merge pull request #220 from Madhu-1/skip_cred_log
...
remove secret and key from logging
2019-02-25 08:04:38 -05:00
Madhu Rajanna
68e69502e8
remove secret and key from logging
...
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-02-21 17:05:24 +05:30
gman
0235b9c249
k8s metadata cache: delete shouldn't fail on NotFound errors
2019-02-20 20:20:44 +01:00
Róbert Vašek
bc256aa755
Merge pull request #211 from Madhu-1/clean-up
...
cleanup: remove duplicate code
2019-02-19 15:50:46 +01:00
Madhu Rajanna
fd4c019aba
cleanup: remove duplicate code
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-02-19 13:44:10 +05:30
Madhu Rajanna
e91a59d2f9
RBD: Remove dead code
...
during volume creation we are validating
that volume name cannot be empty,removing
this check as we are not going to hit
this case
Fixes : #204
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-02-19 12:17:40 +05:30
Madhu Rajanna
6fbde110cd
skip redundant error check
...
correct misspelled word
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-02-18 17:16:59 +05:30
gman
49f5d4a54e
fix lint error
2019-02-14 21:31:52 +00:00
gman
1803a1be97
rbd: don't delete volume/snapshot if metadata creation fails
2019-02-14 21:31:52 +00:00
gman
8223ae325b
addressed review comments
2019-02-14 13:55:51 +00:00
gman
96bf4a98bd
cephfs: don't need to store keyrings anymore
2019-02-14 13:55:51 +00:00
gman
8e371f62fa
cephfs: ceph-fuse mimic supports passing keys via args, let's use it
2019-02-14 13:55:51 +00:00
gman
b3944f3121
cephfs exec: read stdout and stderr separately
2019-02-14 13:55:51 +00:00
gman
892d65d387
added StripSecretInArgs in pkg/util
2019-02-14 13:55:51 +00:00
gman
a63b06a620
cephfs: specify monitors explicitly
2019-02-13 14:09:33 +00:00
gman
9cd0786569
cephfs/volume: fixed incorrect path for unmountAndRemove
2019-02-12 17:39:54 +01:00
gman
6099f142f0
moved klog initialization into pkg/util package
2019-02-12 16:31:55 +01:00
Huamin Chen
a195856104
Merge pull request #186 from Madhu-1/remove-glog
...
Remove glog from Gopkg.toml
2019-02-08 07:23:13 -05:00
Huamin Chen
9c4e5543c9
Merge pull request #185 from Madhu-1/log-req
...
Avoid logging secrets in request
2019-02-08 07:21:19 -05:00
Madhu Rajanna
bf7ec10fea
Remove glog from Gopkg.toml
...
replace klog with glog
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-02-08 13:51:22 +05:30
Madhu Rajanna
a5f2635bc0
avoid logging secrets in request
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-02-08 13:20:21 +05:30
Madhu Rajanna
f670c62526
Remove userID and key logging from rbd
...
Fixes : #171
2019-02-08 12:40:48 +05:30
Humble Chirammal
c0712db08a
migrate util package to klog from glog.
...
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-02-05 12:09:04 +00:00
Humble Chirammal
cb77ff5d87
Migrate rbd package to klog from glog
...
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-02-05 12:09:04 +00:00
Humble Chirammal
c9da8469ad
migrate cephfs code to use klog instead of glog
...
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-02-05 12:09:04 +00:00
Madhu Rajanna
5983fedddb
Fix issues found in gometalinter static check
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-02-04 10:44:37 +05:30
Madhu Rajanna
74796bd57b
Fix review comment
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-29 18:29:07 +05:30
Madhu Rajanna
03d93219d7
Fix metalinter issue
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-29 11:37:03 +05:30
Madhu Rajanna
50ba8ed446
Fix gometalinter issues
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-29 11:24:36 +05:30
Madhu Rajanna
ca2e475296
Fix gometalinter issues
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-29 11:23:50 +05:30
Madhu Rajanna
7a0c233c27
Fix issues found in gometalinter
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-29 11:20:35 +05:30
Madhu Rajanna
008c82c1e7
Fix gometalinter issues
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-29 11:20:35 +05:30
Madhu Rajanna
25642fe404
Add method comments
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-29 11:20:35 +05:30
Madhu Rajanna
b71a9bfe40
Fix issue with error handling in metadata store
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-28 10:26:57 +05:30
Huamin Chen
aa4fce2c8b
Merge pull request #133 from Madhu-1/fix-golint
...
Fix golint
2019-01-27 10:04:42 -05:00
Madhu Rajanna
48ca11336e
Fix snapshot time during snapshot create
...
Fixes : #146
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-25 19:09:35 +05:30
Madhu Rajanna
7fcbdfb945
Fix template to add userID
...
Fix Node server
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-25 14:20:32 +05:30
Madhu Rajanna
1a246f7bf3
simplify the error check
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-25 14:16:03 +05:30
Madhu Rajanna
36f99e36ca
Fix unparam issues
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-25 14:16:03 +05:30
Madhu Rajanna
284c5801c3
Fix golint issue
...
pkg/rbd/rbd.go:67:65⚠️ exported func NewNodeServer
returns unexported type *rbd.nodeServer, which can be
annoying to use (golint)
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-25 14:16:03 +05:30
Madhu Rajanna
4c564207c6
Fix error checking issue in json Decode
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-25 14:15:25 +05:30
Madhu Rajanna
1d11d0acc3
Fix lint issues
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-25 14:15:25 +05:30
Madhu Rajanna
5eb1974e38
Fix vetshadow issues
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-25 14:15:25 +05:30
Madhu Rajanna
75beccd8c0
Remove unused variable
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-25 14:14:48 +05:30
Madhu Rajanna
49c8fe5d50
Remove conversion which is not required
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-25 14:14:48 +05:30
Madhu Rajanna
1c03334a90
Add constant for rbd and ndb
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-25 14:14:48 +05:30
Madhu Rajanna
fa78c00535
update struct names and struct fiels
...
it wont be meaningful to call cephfs.NewcephfsDriver()
to get a new driver, it will be better if we call
cephfs.GetNewDriver() which returns the cephfs driver
object.
same goes for rbd also
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-25 14:14:48 +05:30
Madhu Rajanna
15b5b0112e
rename Id to ID to fix lint issue
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-25 14:14:48 +05:30
Madhu Rajanna
8f2941dd47
Remove code complexity
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-25 14:13:04 +05:30
Madhu Rajanna
de1f099680
Remove unused struct fields
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-25 14:10:52 +05:30
Madhu Rajanna
9f76f6bd59
Remove dead code
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-25 14:10:52 +05:30
Huamin Chen
c6c496ff59
switch to node registrar
2019-01-22 14:46:41 -05:00
Huamin Chen
0151792684
review feedback: make monValueFromSecret override monitors if both are set
...
Signed-off-by: Huamin Chen <hchen@redhat.com>
2019-01-21 09:21:03 -05:00
Huamin Chen
db463edeef
allow ceph mon stored in secret so when mon changes, cephfs driver can get latest mons and override old ones
...
Signed-off-by: Huamin Chen <hchen@redhat.com>
2019-01-18 10:27:48 -05:00
Huamin Chen
48407e2484
add csi volume device mount path to csi plugin
...
Signed-off-by: Huamin Chen <hchen@redhat.com>
2019-01-17 08:57:18 -05:00
Huamin Chen
263c45bb45
enable csi block; use canary external-provisioner image to pick up block volume provisioning
...
Signed-off-by: Huamin Chen <hchen@redhat.com>
2019-01-16 13:52:45 -05:00
Masaki Kimura
0e60dabca3
Move resolving bind mount logic from k8s
2019-01-16 13:00:48 -05:00
Masaki Kimura
ea75a9d162
Fix pv deletion issue caused by not dettaching due to wrong mount count
2019-01-16 12:51:13 -05:00
Masaki Kimura
5867d495fd
Change csi rbd to create/delete targetPath for publish/unpublish
2019-01-16 12:50:17 -05:00
Masaki Kimura
165b82a44c
Add block supports to rbd driver
2019-01-16 12:49:02 -05:00
Madhu Rajanna
e42e66ff30
user errors.New if error formatting is not required
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-16 18:54:13 +05:30
Madhu Rajanna
17f5c0a7ce
use Errorf is error formatting is required
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-16 18:54:06 +05:30
Madhu Rajanna
20af5afcab
Fix golint issues
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-16 18:33:38 +05:30
Madhu Rajanna
9ddc265c10
reject block volume creation in cephfs
...
Signed-off-by: Madhu Rajanna <mrajanna@redhat.com>
2019-01-16 18:17:14 +05:30
Huamin Chen
aed7506d88
fix merge leftovers; use canary driver-registrar image, as v1.0.0 is not hosted in quay.io
...
Signed-off-by: Huamin Chen <hchen@redhat.com>
2019-01-15 13:31:06 -05:00
Huamin Chen
e46099a504
reconcile merge
...
Signed-off-by: Huamin Chen <hchen@redhat.com>
2019-01-15 16:20:41 +00:00
Huamin Chen
85b8415024
Merge branch 'master' into master-to-1.0
2019-01-15 16:15:30 +00:00
mickymiek
b387daaabf
remove useless comment
2019-01-14 20:15:09 +00:00
mickymiek
32cb974b8c
gofmt
2019-01-14 20:15:09 +00:00
mickymiek
62d65ad0cb
cm metadata persist for rbd and cephfs
2019-01-14 20:15:09 +00:00
Patrick Ohly
51d6ac6f55
rbd: refuse to create block volumes
...
Without this check, the driver fails one of the E2E storage tests in
Kubernetes 1.13: provisioning a block volume is expected to fail in
e689d515f7/test/e2e/storage/testsuites/volumemode.go (L329-L330)
2019-01-14 20:15:09 +00:00
gman
29bdeb2261
cephfs: don't set quotas for zero-sized volumes
2019-01-14 20:15:09 +00:00
Patrick Ohly
403cad682c
rbd: protect against concurrent gRPC calls
...
The timeout value in external-provisioner is fairly low. It's not
uncommon that it times out and retries before the rbdplugin is done
with CreateVolume. rbdplugin has to serialize calls and ensure that
they are idempotent to deal with this.
2019-01-14 20:15:09 +00:00
Mike Cronce
2c3961b960
pkg/rbd/rbd.go: Fix "go vet" errors
2018-12-04 21:54:00 -05:00
Mike Cronce
23a4126aed
pkg/rbd/controllerserver.go: gofmt
2018-12-04 21:44:04 -05:00
Mike Cronce
d9fbdeb517
pkg/cephfs: Use request name to generate deterministic volume names
2018-12-04 21:39:00 -05:00
Mike Cronce
04872e5ebf
Merge branch 'master' of github.com:ceph/ceph-csi into csi-v1.0.0
2018-12-04 16:28:37 -05:00
Mike Cronce
22e23640a4
pkg/rbd/rbd.go: Updated PluginFolder to use new CSI 1.x directory
2018-12-04 15:38:09 -05:00
Mike Cronce
37caeb5b2c
pkg/cephfs/driver.go: Updated PluginFolder to use new CSI 1.x directory
2018-12-04 15:38:09 -05:00
gman
ed811e0506
cephfs: don't set quotas for zero-sized volumes
2018-12-01 10:39:09 +01:00
Mike Cronce
af3083f717
pkg: Updated "version" variables from 0.3.0 to 1.0.0
2018-11-29 13:15:52 -05:00
Mike Cronce
93cb8a04d7
pkg/rbd: Updated for new versions of CSI/Kubernetes dependencies
2018-11-24 14:18:24 -05:00
Mike Cronce
41b30eb6c2
pkg/cephfs: Updated for new versions of CSI/Kubernetes dependencies
2018-11-24 13:48:36 -05:00
Patrick Ohly
720ad4afeb
rbd: protect against concurrent gRPC calls
...
The timeout value in external-provisioner is fairly low. It's not
uncommon that it times out and retries before the rbdplugin is done
with CreateVolume. rbdplugin has to serialize calls and ensure that
they are idempotent to deal with this.
2018-10-26 15:29:48 +02:00
Huamin Chen
188cdd1d68
Merge pull request #89 from rootfs/containerized
...
support nsmounter when running in containerized mode
2018-10-15 20:25:40 -04:00
Huamin Chen
3436a094f7
support nsmounter when running in containerized mode
...
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-10-15 14:59:41 +00:00
Patrick Ohly
25e3a961c3
rbdplugin: idempotent DeleteVolume
...
When the initial DeleteVolume times out (as it does on slow clusters
due to the low 10 second limit), the external-provisioner calls it
again. The CSI standard requires the second call to succeed if the
volume has been deleted in the meantime. This didn't work because
DeleteVolume returned an error when failing to find the volume info
file:
rbdplugin: E1008 08:05:35.631783 1 utils.go:100] GRPC error: rbd: open err /var/lib/kubelet/plugins/csi-rbdplugin/controller/csi-rbd-622a252c-cad0-11e8-9112-deadbeef0101.json/open /var/lib/kubelet/plugins/csi-rbdplugin/controller/csi-rbd-622a252c-cad0-11e8-9112-deadbeef0101.json: no such file or directory
The fix is to treat a missing volume info file as "volume already
deleted" and return success. To detect this, the original os error
must be wrapped, otherwise the caller of loadVolInfo cannot determine
the root cause.
Note that further work may be needed to make the driver really
resilient, for example there are probably concurrency issues.
But for now this fixes : #82
2018-10-09 12:08:56 +02:00
Huamin Chen
239f295dd1
Merge pull request #79 from rootfs/rbd-nbd
...
allow monitors be embedded in credential secret
2018-09-24 08:58:09 -04:00
Huamin Chen
d5b7543565
allow monitors be embedded in credential secret
...
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-09-21 14:43:01 +00:00
Kenjiro Nakayama
c1e072de0b
Fix misspelling of "successfully"
2018-09-21 23:08:23 +09:00
Huamin Chen
30a5d9a6e7
add rbd-nbd mounter in storage class
...
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-09-18 14:09:12 +00:00
Huamin Chen
6f3625b11e
review feedback
...
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-09-18 13:10:28 +00:00
Huamin Chen
8955eb03bc
support rbd-nbd
...
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-09-17 18:12:22 +00:00
gman
3c11129149
cephfs: ceph user is created in CreateVolume and deleted in DeleteVolume
2018-08-28 10:21:11 +02:00
gman
9c3389d784
cephfs/util: log execCommandJson; cache mount.New() instance
2018-08-28 10:19:28 +02:00
gman
12958d0a9a
cephfs/cephuser: fixed getCephUser
...
output from `ceph auth -f json get` contains non-JSON data in the beginning
workaround for this is searching for the start of valid JSON data (starts with "[{")
and start reading from there
2018-08-28 10:13:53 +02:00
gman
6ddf98addf
cephfs: cache available volume mounters
2018-08-14 16:48:30 +02:00
gman
c515a013d3
cephfs: volumemounter probe
...
The driver will now probe for either ceph fuse/kernel every time
it's about to mount a cephfs volume.
This also affects CreateVolume/DeleteVolume where the mounting
was hard-coded to ceph kernel client till now - mounter configuration
and probing are now honored.
2018-08-14 11:19:41 +02:00
Huamin Chen
43b9f9aeaa
Merge pull request #61 from sngchlko/support-snapshot-in-rbdplugin
...
Support snapshot in rbdplugin
2018-08-09 09:31:31 -04:00
Seungcheol Ko
38aa575925
check snapshot feature
2018-08-09 22:07:13 +09:00
Seungcheol Ko
4312907f7b
remove the snapshot if can't store snapshot information
2018-08-09 22:07:06 +09:00
Seungcheol Ko
b0e68a52e0
Refactoring using users
2018-08-09 22:07:00 +09:00
Seungcheol Ko
7d90783f03
fix nit
2018-08-09 22:06:51 +09:00
Róbert Vašek
069140e74a
Merge pull request #65 from clkao/execCommandJson-error
...
Log error output for execCommandJson as well.
2018-08-08 17:58:52 +02:00
Chia-liang Kao
a1de128a81
Log error output for execCommandJson as well.
2018-08-08 23:39:19 +08:00
gman
1c38412e39
cephfs: CSI 0.3.0; NodeStageVolume/NodeUnstageVolume; refactoring
2018-08-08 14:47:25 +02:00
Seungcheol Ko
f0fba1240a
Revert "Implement NodeGetInfo for csi spec 3.0"
...
This reverts commit c93466b009
.
2018-08-08 20:22:59 +09:00
Seungcheol Ko
b1ccdbb154
Support snapshot feature in rbdplugin
2018-08-08 17:16:07 +09:00
Seungcheol Ko
c93466b009
Implement NodeGetInfo for csi spec 3.0
2018-08-08 14:41:45 +09:00
Huamin Chen
4331960ab3
Merge pull request #55 from nak3/nonempty
...
Add nonempty option to ceph-fuse to support ReadWriteMany
2018-08-07 14:14:57 -04:00
Kenjiro Nakayama
e8784ec094
Logging command and options for debug friendly
...
Some commands were executed in ceph-csi, but users do not know what
commands with what options were executed. Hence, it is difficult to
debug once the command did not work fine.
This patch adds logging what commmand and options are executed.
2018-07-31 15:31:11 +09:00
Kenjiro Nakayama
b649d4f1f6
Add nonempty option to ceph-fuse to support ReadWriteMany
...
fuse mount does not allow to mount directory if it contains some
files. Due to this, currently scaled pod with cephfs failed to mount
by ceph-fuse.
This patch adds nonempty option to ceph-fuse command to support
ReadWriteMany with ceph-fuse.
2018-07-31 14:44:33 +09:00
Seungcheol Ko
bc34bd389e
support image features for csi-rbdplugin
2018-07-21 00:59:54 +09:00
Masaki Kimura
753dbc2303
Fix Cephfs plugin to return false to ValidateVolumeCapabilities if Block volume is specified
...
Cephfs doesn't have a feature to provide Block Volume, therefore it should return false to ValidateVolumeCapabilities if Block Volume is specified.
Fixes #44
2018-07-10 16:48:55 +00:00
Huamin Chen
0df9e8e794
Merge pull request #42 from gman0/cephfs-delete-policy
...
cephfs: forbid deletion of shares not provisioned by the driver
2018-06-13 14:43:49 -04:00
gman
675ee93e46
cephfs: DeleteVolume() calls are allowed only for volumes with provisionVolume=true parameter
2018-06-13 16:29:10 +02:00
malc0lm
f273874f26
rbd: advertises PluginCapability_Service_CONTROLLER_SERVICE
2018-06-13 15:14:15 +08:00
gman
8c53b5eb79
cephfs: Identity Service advertises PluginCapability_Service_CONTROLLER_SERVICE
2018-06-12 17:09:44 +02:00
gman
0cc1e06beb
cephfs: createCephUser needs admin credentials
2018-06-12 17:08:14 +02:00
gman
b260bff659
cephfs: CreateVolume() needs ceph config
2018-06-12 17:07:20 +02:00
gman
2fcc252f5c
cephfs: pass volume UUIDs where needed
2018-06-12 17:05:42 +02:00
gman
f45ddd7c9d
cephfs: cephuser: set config and admin explicitly when creating/deleting users
2018-06-12 17:03:45 +02:00
gman
cc88d2fa09
cephfs: cephconf: include volume UUID in keyrings/secrets
2018-06-12 17:02:14 +02:00
gman
0ba3174bbc
cephfs/NodePublishVolume: fix error message
2018-05-23 10:28:25 +02:00
gman
1a7b365b95
cephfs: ceph config filename is now mixed with volume UUID
2018-05-18 18:17:37 +02:00
gman
bf89151b87
cephfs: ceph.conf is created in NodePublishVolume instead of CreateVolume
2018-05-18 18:15:37 +02:00
gman
77469c8370
cephfs/volumecache: fixed error msg
2018-04-20 16:24:13 +02:00
gman
8844452453
cephfs/nodeserver: create a new user if necessary; updated NodeUnpublishVolume
2018-04-13 15:53:43 +02:00
gman
a2160e88a7
cephfs/controllerserver: create volume if provisionVolume=true; implemented DeleteVolume
2018-04-13 14:54:40 +02:00
gman
886fdccb9b
cephfs: added mounter probing and --volumemounter cmd arg
2018-04-13 14:53:17 +02:00
gman
b7d856e562
cephfs/volume: added createVolume and purgeVolume
2018-04-13 14:49:49 +02:00
gman
c21d05a536
cephfs/cephconf: added cephFullCapsKeyring
2018-04-13 14:38:44 +02:00
gman
58eb8d1de7
updated cephfs/util
2018-04-13 14:34:48 +02:00
gman
88ca7077ae
added cephfs/cephuser
2018-04-13 14:31:46 +02:00
gman
8fd5478aa1
added cephfs/credentials
2018-04-13 14:31:03 +02:00
gman
cc6921fbd3
moved cephfs mounting logic to volumemounter
2018-04-13 14:29:54 +02:00
gman
62f271056a
added cephfs/volumecache - stores volume info in json files
2018-04-13 14:28:59 +02:00
gman
69ecce1e75
cephfs/volumeidentifier: changed volume ID scheme
...
volumes have "csi-cephfs-dyn-" prefix when they are provisioned dynamically (provisionVolume=true)
and have "csi-cephfs-sta-" prefix when they are provisioned statically by the user (provisionVolume=false)
2018-04-13 14:24:40 +02:00
gman
374176c6ce
cephfs/volumeoptions: added fields; validate values
...
added Pool and ProvisionVolume fields
Mounter is now optional
2018-04-13 14:21:15 +02:00
gman
61103bbc47
cephfs/cephconf: workaround for http://tracker.ceph.com/issues/23446
2018-03-26 15:01:13 +02:00
gman
cb36c9e4c8
cephfs: code cleaning
2018-03-26 15:00:28 +02:00
gman
4c5c67b8f9
cephfs: check volumeOptions.Mounter and choose ceph-fuse or mount.ceph accordingly
2018-03-22 14:14:57 +01:00
gman
defc676b3d
cephfs/volume: added the ability to use either FUSE or ceph kernel client
2018-03-22 14:14:57 +01:00
gman
9fefc270d8
cephfs/controllerserver: write ceph.conf
2018-03-20 16:40:30 +01:00
gman
aa4130865c
cephfs/nodeserver: read credentials from Secret
2018-03-20 16:40:30 +01:00
gman
436bb54262
cephfs/volume: fixed arguments for ceph-fuse; assume volume root and cephx user already exist
2018-03-20 16:40:23 +01:00
gman
43c2fb8e26
cephfs: CSI 0.2.0 refactoring
2018-03-20 16:40:00 +01:00
gman
1b976c5068
added cephfs/cephfsconf.go: generates ceph config and keyring
2018-03-20 15:54:24 +01:00
gman
aefc258ccd
cephfs/volumeptions: modified fields, updated validation
2018-03-20 15:51:27 +01:00
gman
0df8415067
cephfs: cleaning/renaming
2018-03-20 15:46:31 +01:00
gman
99bdbf2182
Merge branch 'master' into wip-cephfs
2018-03-13 11:21:34 +01:00
gman
66c16e35e6
cephfs: refactoring for CSI 0.2.0 part 1
2018-03-13 10:25:50 +01:00
gman
06f411bbf3
cephfs: volumes are now created for separate ceph users with limited access to fs
...
Uses a slightly modified version of https://github.com/kubernetes-incubator/external-storage/blob/master/ceph/cephfs/cephfs_provisioner/cephfs_provisioner.py
This should be rewritten properly in Go, but for it works for now - for demonstration purposes
TODO:
* readOnly is not taken into account
* controllerServer.DeleteVolume does nothing
2018-03-09 17:05:19 +01:00
Serguei Bezverkhi
1ff1f8be30
code update
2018-03-08 13:22:40 -05:00
gman
aa023ea405
cephfs: set access mode to MULTI_NODE_MULTI_WRITER; controller (un)publish is not needed
2018-03-07 14:19:08 +01:00
gman
1c1b0eab1e
WIP cephfs CSI plugin
2018-03-05 13:21:30 +01:00
Huamin Chen
9d4b49b54b
node server: don't persist vol
...
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-02-20 16:10:59 +00:00
Serguei Bezverkhi
de16b0f5e9
Refactor rbdplugin for CSI 0.2.0 spec
2018-02-15 10:49:38 -05:00
Huamin Chen
57a4715e95
rbd plugin refactoring: remove k8s clientSet
...
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-02-06 14:36:58 +00:00
Serguei Bezverkhi
8614aee8ef
Making VolumeID != volName as per CSI spec
2018-01-15 20:57:07 -05:00
Serguei Bezverkhi
27334ac60d
just code files
2018-01-15 11:50:50 -05:00