Commit Graph

816 Commits

Author SHA1 Message Date
ShyamsundarR
b9cd0e18ad Make CephFS plugin stateless reusing RADOS based journal scheme
This is a part of the stateless set of commits for CephCSI.

This commit removes the dependency on config maps to store cephFS provisioned
volumes, and instead relies on RADOS based objects and keys, and required
CSI VolumeID encoding to detect the provisioned volumes.

Changes:
- Provide backward compatibility to provisioned volumes by older plugin versions (1.0.0 or older)
- Remove Create/Delete support for statically provisioned volumes (fixes #382)
- Added namespace support to RADOS OMaps and used the same to store RADOS CSI objects and keys in the CephFS metadata pool
- Added support to mention fsname for CephFS provisioning (fixes #359)
- Changed field name in CSI Identifier to 'location', to denote a pool or fscid
- Updated mounter cache to use new scheme
- Required Helm manifests are updated
- Required documentation and other manifests are updated
- Made driver option 'metadatastorage' as optional, as fresh installs do not need to specify the same

Testing done:
- Create/Mount/Delete PVC
- Create/Delete 5 PVCs
- Mount version 1.0.0 PVC
- Delete version 1.0.0 PV
- Mount Statically defined PV/PVC/Pod
- Mount Statically defined version 1.0.0 PV/PVC/Pod
- Delete Statically defined version 1.0.0 PV/PVC/Pod
- Node restart when mounted to test mountcache
- Use InstanceID other than 'default'
- RBD basic round of tests, as namespace is added to OMaps
- csitest against ceph-fs plugin
  - NOTE: CephFS plugin still does not detect and address already created
  volumes but of a different size
- Test not providing any value to the metadata storage parameter

Signed-off-by: ShyamsundarR <srangana@redhat.com>
2019-05-30 06:20:35 -04:00
ShyamsundarR
1406f29dcd Refactor voljournal to aid reuse with CephFS
and to also inmprove the code reuse in rbd itself.

Signed-off-by: ShyamsundarR <srangana@redhat.com>
2019-05-30 09:58:40 +00:00
Madhu Rajanna
b6b7cf2c3d skip functional tests for doc change
in some cases, we don't need to do
functional testing, like doc change
of the yml files related to Travis
or mergify.This PR skip functional
testing for this kind of changes

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-05-29 22:32:42 +00:00
Madhu Rajanna
2d560ba087 update ceph-csi to build and use a single docker image
currently, we have 3 docker files(cephcsi,rbd,cephfs) in the ceph-csi repo.
[commit ](85e121ebfe)
added by John to build a single image which can act as rbd or
cephfs based on the input configuration.

This PR updates the makefile and kubernetes templates to use
the unified image and also its deletes the other two dockerfiles.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-05-28 18:10:22 +00:00
Humble Chirammal
296aee7204 Update readme with contact section
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-05-28 16:03:01 +05:30
Madhu Rajanna
7599d42f1b Get TravisCI instance of Kube
installing Kube with a script will also
help developers to do local testing.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-05-28 03:42:48 +00:00
Humble Chirammal
5d98e0cad4 Add PR/Issue/Feature templates
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-05-27 11:43:44 +00:00
Humble Chirammal
5bebb7f8f5 Exit travis if script failed.
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-05-27 11:34:17 +00:00
ShyamsundarR
d02e50aa9b Removed config maps and replaced with rados omaps
Existing config maps are now replaced with rados omaps that help
store information regarding the requested volume names and the rbd
image names backing the same.

Further to detect cluster, pool and which image a volume ID refers
to, changes to volume ID encoding has been done as per provided
design specification in the stateless ceph-csi proposal.

Additional changes and updates,
- Updated documentation
- Updated manifests
- Updated Helm chart
- Addressed a few csi-test failures

Signed-off-by: ShyamsundarR <srangana@redhat.com>
2019-05-19 12:29:33 +00:00
Madhu Rajanna
f60a07ae82 update vendor to latest kubernetes 1.14.0
some of the kubernetes independent
packages are moved out of the tree to
new projects.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-05-14 06:56:56 +00:00
ShyamsundarR
3f35bfd4d7 Update README contents
Minor reorg of README contents.

Also calling out alpha status of the plugins.

Signed-off-by: ShyamsundarR <srangana@redhat.com>
2019-05-09 13:16:10 +00:00
Poornima G
4b33c4a9df Add support matrix of features supported of Ceph CSI version
Signed-off-by: Poornima G <pgurusid@redhat.com>
2019-05-08 08:23:35 +00:00
Humble Chirammal
a8f28a0199 Update docs.
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-05-08 06:01:48 +00:00
Humble Chirammal
183c46dd8d Add some more details to release process.
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-05-08 06:01:48 +00:00
hchiramm
4f5e375dcf Add release process to the docs
Signed-off-by: hchiramm <hchiramm@redhat.com>
2019-05-08 06:01:48 +00:00
Madhu Rajanna
6fc741199b update doc for make command
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-05-08 05:39:27 +00:00
Madhu Rajanna
74ad010d85 update Travis to build cephcsi
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-05-08 05:39:27 +00:00
Madhu Rajanna
2f328cb12b Fix incorrect make command
update v1.0.0-canary tag to canary tag

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-05-08 05:39:27 +00:00
Humble Chirammal
822cab8ed0 Make deployment artifacts with a consistent name pattern.
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-05-07 14:54:53 +00:00
mergify[bot]
0a4b2b713a
Merge pull request #363 from humblec/merge-csiv1.0
Merge csi v1.0 to master
2019-05-07 14:40:16 +00:00
mergify-bot
034125d6bd Merge branch 'master' into 'merge-csiv1.0' 2019-05-07 14:35:27 +00:00
Humble Chirammal
dd31e6e947 Remove duplicate entries from Makefile and resolve merge conflict.
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-05-07 19:59:18 +05:30
ShyamsundarR
bdc3292dad Update deploy.sh to use the right ENV vars
deploy.sh was using ENV vars to set the image versions
incorrectly. This causes the images to be pushed using
versions already in the Makefile, rather than the overrides
in the deploy script.

This is now fixed by updating the right ENV variables.

Signed-off-by: ShyamsundarR <srangana@redhat.com>
2019-05-07 11:40:01 +00:00
Humble Chirammal
68ff602391 Resolve merge conflict
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-05-07 15:27:34 +05:30
Humble Chirammal
1eff2e1490 Merge branch 'master' of http://github.com/ceph/ceph-csi into csi-v1.0
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-05-07 15:14:14 +05:30
mergify[bot]
3a308eaeee
Merge pull request #334 from MiaoZhou/csi-v1.0
fix helm value pullPolicy mismatch bug
2019-05-06 10:42:29 +00:00
mergify-bot
5578bf884c Merge branch 'csi-v1.0' into 'csi-v1.0' 2019-05-06 10:38:41 +00:00
Miao Zhou
00e7e29996 bump up the chart version 2019-05-06 15:52:45 +08:00
Mike Wilson
882bebf1d8 Fix spelling error
helm chats -> helm charts
2019-05-02 15:18:01 +00:00
Mike Wilson
b213b3b626 Nitpick spelling
chats -> charts
2019-05-02 10:47:36 +00:00
Madhu Rajanna
fa40c1cc58 push images to quay.io with canary tag
updated deploy.sh script to push images
to quay.io with canary tag.
Once we merge a PR against master and csi-v0.3
branches we need to build and push the latest
image with canary tag. by doing this we can
avoid the accidental update of the images which
are already deployed with stable tags
(i.e v1.0.0 or v0.3.0).

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-04-29 07:15:31 -04:00
Dylan Redding
e0a1661bee linter fixes 2019-04-29 09:58:04 +00:00
Dylan Redding
6826694618 Added unit test. 2019-04-29 09:58:04 +00:00
Dylan Redding
b488a5ae85 Fix loading data from configmaps. 2019-04-29 09:58:04 +00:00
Huamin Chen
bc2624ffff
Merge pull request #322 from kshlm/aggregated-roles
deploy: Use aggregated ClusterRoles
2019-04-26 12:38:00 -04:00
Huamin Chen
327e81430d
Merge pull request #320 from phlogistonjohn/jjm-remove-old-main-files
cmd: remove old command main files
2019-04-26 12:37:35 -04:00
Zhou Miao
a01c01b01b fix helm value pullPolicy mismatch bug 2019-04-25 12:03:44 +08:00
Miao Zhou
724eed5f94
Merge pull request #1 from ceph/csi-v1.0
update
2019-04-24 18:31:50 +08:00
Kaushal M
63d00afb28
deploy: Use aggregated ClusterRoles
The kubernetes manifests and Helm templates have been updated to use
aggregated ClusterRoles. The same change has been done in Rook as well.

Refer rook/rook#2634 and rook/rook#2975

Signed-off-by: Kaushal M <kshlmster@gmail.com>
2019-04-17 11:15:08 +05:30
Madhu Rajanna
4e292a0f04
Merge pull request #327 from vfreex/add-rbd-attacher-missing-permission
add missing PV update permission for rbd attacher
2019-04-17 09:09:40 +05:30
Yuxiang Zhu
35c55aeb68 add missing PV update permission for rbd attacher
PR #290 missed the update permission to persistentvolumes.

Without that permission, you will get the following error when attaching a RBD volume to a pod:

```
Warning  FailedAttachVolume  100s (x11 over 7m52s)  attachdetach-controller  AttachVolume.Attach failed for volume "pvc-d23f8745-60bb-11e9-bd35-5254001c78d6" : could not add PersistentVolume finalizer: persistentvolumes "pvc-d23f8745-60bb-11e9-bd35-5254001c78d6" is forbidden: User "system:serviceaccount:kube-system:rbd-csi-provisioner" cannot update resource "persistentvolumes" in API group "" at the cluster scope
```
2019-04-17 11:16:43 +08:00
Goutham Pacha Ravi
974765a693 Fix image builder in the Makefile
The binary name has a typo.
2019-04-17 03:10:12 +00:00
John Mulligan
ab47d83595 cmd: remove old command main files
Now that the unified binary has its own main file under "cmd/"
we no longer need the split main.go files.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-04-15 14:11:53 -04:00
John Mulligan
13c60eae7c Makefile: add initial build rules for combined binary and image
Add rules and variables to the Makefile so that the unified binary
and container image can be built.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-04-10 20:36:51 +00:00
John Mulligan
a44714fdfb deploy: create a new Dockerfile for unified cephcsi image
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-04-10 20:36:51 +00:00
John Mulligan
85e121ebfe cmd: create a unified cephcsi binary
Create a single binary that can start ceph-csi in either rbd
or cephfs mode.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-04-10 20:36:51 +00:00
John Mulligan
de94cb62a9 Makefile: add initial build rules for combined binary and image
Add rules and variables to the Makefile so that the unified binary
and container image can be built.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-04-10 08:04:48 +00:00
John Mulligan
d969dada3e deploy: create a new Dockerfile for unified cephcsi image
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-04-10 08:04:48 +00:00
John Mulligan
ffe2816cb5 cmd: create a unified cephcsi binary
Create a single binary that can start ceph-csi in either rbd
or cephfs mode.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-04-10 08:04:48 +00:00
Madhu Rajanna
4b0ffdaaa1
Merge pull request #290 from Madhu-1/fix-att
Deploy csi-attacher as sidecar container in provisioner statefulset
2019-04-05 12:43:14 +05:30