Commit Graph

651 Commits

Author SHA1 Message Date
Madhu Rajanna
a38986fce0 Enable all static-checks in golangci-lint
* Enable all static-checks in golangci-lint
* Update golangci-lint version
* Fix issue found in golangci-lint

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-06-10 15:56:17 +05:30
Humble Devassy Chirammal
47d4e44af0
Merge pull request #414 from Madhu-1/fix_335
Use Deployment with leader election instead of StatefulSet
2019-06-10 13:14:20 +05:30
Humble Devassy Chirammal
4df939793b
Merge pull request #372 from Madhu-1/fix-err
Fix error string as per golang standard
2019-06-10 13:02:07 +05:30
Madhu Rajanna
7d3a6105c7 Fix misspell words
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-06-10 12:52:13 +05:30
Madhu Rajanna
74c1a75828 Fix error string as per golang standard
Error string should not be capatalized
https://github.com/golang/go/wiki/CodeReviewComments#error-strings

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-06-10 11:10:35 +05:30
Madhu Rajanna
a151bec94b Use Deployment with leader election instead of StatefulSet
Deployment behaves better when a node gets disconnected from the rest of
the cluster - new provisioner leader is elected in ~15 seconds, while
it may take up to 5 minutes for StatefulSet to start a new replica.

Refer: 52d1fbcf9d

Fixes: #335

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-06-10 09:51:22 +05:30
Humble Devassy Chirammal
0e61098522
Merge pull request #387 from humblec/social
Update readme with contact section
2019-06-07 17:03:18 +05:30
Humble Devassy Chirammal
883ccd1bb1
Merge pull request #409 from humblec/mount-options
Add mount options support in CephFS CSI driver
2019-06-07 16:28:38 +05:30
Humble Devassy Chirammal
10192f9a3e
Merge pull request #410 from Madhu-1/fix-e2e
use filesystem-test.yaml in e2e
2019-06-07 15:53:03 +05:30
Madhu Rajanna
a4655f7549 create config map for cephfs
add fs name to storageclass in e2e

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-06-07 15:38:23 +05:30
Humble Chirammal
4be3943713 Add mount options support in CephFS CSI driver
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-06-07 11:52:01 +05:30
Humble Devassy Chirammal
e16f246f83
Merge pull request #408 from humblec/validate-paths
Add staging target path validation to nodeserver
2019-06-07 11:37:37 +05:30
Madhu Rajanna
864e6baea9 use filesystem-test.yaml in e2e
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-06-07 11:27:02 +05:30
Humble Devassy Chirammal
95252dd9f6
Merge pull request #390 from ShyamsundarR/stateless-cephfs
Make CephFS plugin stateless reusing RADOS based journal scheme
2019-06-07 10:44:18 +05:30
Humble Chirammal
3e2d2787b6 Add staging target path validation to nodeserver
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-06-06 20:38:53 +05:30
Humble Devassy Chirammal
dc04362ac5
Merge pull request #406 from Madhu-1/update-golangci
update golangci-lint to latest stable version
2019-06-05 10:13:07 +05:30
Madhu Rajanna
beb2410a13 update golangci-lint to latest stable version
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-06-04 23:30:10 +05:30
ShyamsundarR
9a03d735a2 Remove redundant pool parameter from snapshot class
The SnapshotClass for RBD requires a pool parameter. This is redundant
as a snapshot is not created on a different pool than the source image
of the snapshot (refer rbd man page).

Further, when a snapshot needs to be created its source CSI VolumeID
is passed to the creation call, and hence the source volumes pool
needs to be reused to create the snapshot.

Similarly to clone a snapshot, the create request would come in with a
SnapshotID to help identify the snapshot pool, and the same create
request parameters would contain the storage class based pool parameter
to create the clone into (as clones can be in different pools as
compared to their parent snapshots).

Thus, the parameter pool seems redundant in the snapshot class and
should be removed to improve ease of use.

Fixes #379

Signed-off-by: ShyamsundarR <srangana@redhat.com>
2019-06-04 08:34:21 +00:00
Humble Devassy Chirammal
075861e214
Merge pull request #402 from humblec/kube-update
Lift kube dependency to 1.14.2
2019-06-04 13:42:22 +05:30
Humble Chirammal
0e709766b0 Lift kube dependency to 1.14.2
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-06-04 12:39:45 +05:30
Humble Devassy Chirammal
0e49ea90f3
Merge pull request #401 from humblec/new-changes
Update coding.md
2019-06-04 12:06:05 +05:30
Humble Devassy Chirammal
c00c11f141
Merge pull request #375 from Madhu-1/up_e2e
Add E2E test suite for cephfs
2019-06-04 11:58:34 +05:30
Humble Chirammal
69c4e7537f Update coding.md
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-06-04 11:50:52 +05:30
Humble Devassy Chirammal
1444231d05
Merge pull request #304 from humblec/contributing
Add coding.md into docs
2019-06-04 11:40:47 +05:30
Madhu Rajanna
6716a19c15 Add readme to deploy kubernetes and
to run e2e tests.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-06-04 11:39:42 +05:30
Madhu Rajanna
fc529f4831 Add E2E framework
deploys rook
deploy cephfs plugin
deploy rbd plugin
create PVC/POD to test cephfs
create PVC/POD to test rbd

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-06-04 11:39:42 +05:30
Madhu Rajanna
d300da19b7 vendor update for E2E framework
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-06-04 11:39:42 +05:30
Madhu Rajanna
9bb23e4e32 code changes for E2E
update travis and makefile for functional test

skip docker pull if image is already present
on local machine.

if the image is not present locally  pull the
image from repo.

export kubeconfig in travis

build cephcsi image in travis job for
functional testing

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-06-04 11:39:40 +05:30
Humble Chirammal
f0ea320104 Update readme to point to development and contributing guide.
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-06-04 11:35:48 +05:30
Humble Devassy Chirammal
5e04be9e1f
Merge pull request #397 from humblec/kube-upgrade
Update minikube to 1.14 and also update container images to latest
2019-06-04 11:30:00 +05:30
Humble Chirammal
dcdee86c44 Update minikube to 1.14 and also update container images to latest
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-06-04 05:44:40 +05:30
Humble Devassy Chirammal
992c0817e9
Merge pull request #396 from humblec/v1.2.0-sidecar
Promote sidecars to latest available version tags.
2019-06-04 05:43:24 +05:30
Humble Devassy Chirammal
0b44249eef
Merge pull request #398 from humblec/travis
Remove csi-v1.0 from branches in travis.
2019-06-03 18:15:10 +05:30
Humble Chirammal
d4ae041505 Remove csi-v1.0 from branches in travis.
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-06-02 15:34:37 +05:30
Humble Chirammal
45ae1c56e4 Promote sidecars to latest available version tags.
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-06-02 15:01:34 +05:30
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