Commit Graph

2222 Commits

Author SHA1 Message Date
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
Huamin Chen
ff7d649c9d
Merge pull request #276 from Madhu-1/fix-mergify
Fix yaml lint error in mergify
2019-03-22 08:42:26 -04:00
Huamin Chen
5c6d20055b
Merge pull request #265 from Madhu-1/fix-plugin-dir
rename socket directory to a common name
2019-03-22 08:42:01 -04:00
Madhu Rajanna
593b357e1d Fix yaml lint error in mergify
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-03-22 10:57:56 +05:30
Madhu Rajanna
52397b4dc4 rename socket directory to a common name
as the socket directory will be created
inside the container no need to follow
the plugin name in for the directory
creation, this will also reduce the code
changes if we want to change driver name.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-03-22 09:58:21 +05:30
John Mulligan
33a2fb1b06 deploy.sh: use a variable to choose "docker" command
This change allows the use of alternatives to or wrappers around
the normal docker command when running the deploy.sh script.

Example: CONTAINER_CMD=podman ./deploy.sh

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-03-20 14:02:05 -04:00
Huamin Chen
fa54e5ca23
Merge pull request #261 from j-griffith/default_multiwrite_blockmode
Default multiwrite blockmode
2019-03-19 21:05:31 -04:00
Huamin Chen
dc246404e2
Merge pull request #267 from rootfs/megify-1.0
add mergify as a merge engine
2019-03-19 21:03:06 -04:00
Sébastien Han
6e7373cd38 add mergify as a merge engine
From now on, each PR will be merged automatically if:

* there is no DNM label on the PR AND
* the PR has at least one approuval AND
* the travis CI successfully passed

Closes: https://github.com/ceph/ceph-csi/issues/154
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-03-19 21:00:39 -04:00
John Mulligan
5e43e1fefa makefile: use a variable to choose "docker" command
This change allows the use of alternatives to or wrappers around
the normal docker command for container builds.

Example 1: make image-rbdplugin CONTAINER_CMD=podman
Example 2: CONTAINER_CMD=podman make image-rbdplugin

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-03-19 13:28:00 -04: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
Madhu Rajanna
76a647d20e
Merge pull request #262 from Madhu-1/fix-driver-name
Fix driver name as per CSI  spec
2019-03-18 09:47:57 +05:30
Madhu Rajanna
ea5d9dfb5c Fix driver name as per CSI spec
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-03-14 17:10:39 +05:30
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
497411b26c update readme to delete namespace
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-03-13 12:04:30 +05:30
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
c5ff1ba724
Merge pull request #254 from Madhu-1/fix-252-
store volume size in bytes in configmap
2019-03-12 19:05:04 +05:30
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
Huamin Chen
bd8cf1d7f0
Merge pull request #247 from Madhu-1/raw-block
update readme for raw-block PVC
2019-03-07 08:30:55 -05:00
Madhu Rajanna
9f5ac5eeaa Fix return error codes
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-03-07 18:29:07 +05:30
Madhu Rajanna
53dfdb63b5 correct yaml examples template
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-03-05 17:59:39 +05:30
Madhu Rajanna
9bebd829ab update readme for raw block pvc
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-03-05 17:59:39 +05:30
Madhu Rajanna
ef74050af2 add examples for raw block pvc
and pod to mount it

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-03-05 17:59:39 +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
Huamin Chen
fbc189ff66
Merge pull request #245 from Madhu-1/fix-linter
replace gometalinter with golangci
2019-03-04 10:00:50 -05:00
Madhu Rajanna
c0745486a7 add event rules for provisioner
Fixes: #https://github.com/ceph/ceph-csi/pull/234#issuecomment-468967752

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-03-04 14:34:14 +00: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
57cea727fa Fix yaml lint errors
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-03-04 19:01:25 +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
Madhu Rajanna
1018eda27a replace gometalinter with golangci
gometalinter is being deprecated in favor of golangci.
switching to golangci in ci and make test

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-03-04 19:01:16 +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
624b08253c
Merge pull request #236 from Madhu-1/bump-ver-5.0
bump helm chat version from 0.4.0 to  0.5.0
2019-02-28 08:34:00 -05:00
Madhu Rajanna
eb14742874 bump helm chat version from 0.4.0 to 0.5.0
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-02-28 13:41:11 +05:30
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
Huamin Chen
4d55d5b8ad
Merge pull request #235 from Madhu-1/fix-rbac-cephfs
Add role and rolebinding for cephfs
2019-02-27 12:29:23 -05:00
Huamin Chen
49f5ce22d3
Merge pull request #207 from Madhu-1/remove-dep
move csi-common to ceph-csi
2019-02-27 09:22:54 -05:00
Huamin Chen
5cabfe78cb
Merge pull request #234 from Madhu-1/fix-rbac
Fix rbac issue in rbd plugin
2019-02-27 09:10:59 -05:00
Madhu Rajanna
2ab1f3e82d add csinodeinfos rules
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-02-27 19:32:07 +05:30
Madhu Rajanna
b629b22cf0 Add csinodeinfos rules
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-02-27 19:29:11 +05:30
Madhu Rajanna
f4a0726226 Fix rbac issue in rbd plugin
remove unwanted rules and update
rbac to have permission to modify
endpoints and configmaps in the
current namespace.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-02-27 16:45:34 +05:30
Madhu Rajanna
119504c004 Add role and rolebinding for cephfs
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-02-27 16:44:46 +05:30
Madhu Rajanna
c9815e99a9 Fix rbac issue in cephfs plugin
remove unwanted rules and update
rbac to have permission to modify
endpoints and configmaps in the
current namespace.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-02-27 16:38:20 +05:30