Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add snapshot creation, deletion and restore from snapshot, Clone from PVC support for CephFS volumes. #394

Merged
merged 27 commits into from
Aug 8, 2020

Commits on Aug 7, 2020

  1. deploy: add csi-cephfsplugin provisioner deployment and role

    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    fe74c03 View commit details
    Browse the repository at this point in the history
  2. helm: add deployment charts for cephfs csi snapshotter and roles

    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    2d86457 View commit details
    Browse the repository at this point in the history
  3. e2e: add/modify deployment files for cephfs snapshot/clone tests

    Add snapshot class, snapshot, restore, clone PVC and pod yamls
    for e2e test to consume
    
    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    6259a4b View commit details
    Browse the repository at this point in the history
  4. deploy: update external provisioner version to v1.6.0 from v1.4.0

    update helm chart and deploy yaml for version upgrade
    
    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    340a15d View commit details
    Browse the repository at this point in the history
  5. e2e: introduce writeDataInPod() to write data to an attached PVC

    writeDataInPod() write data to the attached PVC using `dd` command
    It leave the pod and pvc state as it is.
    
    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    038071e View commit details
    Browse the repository at this point in the history
  6. e2e: introduce createCephFSSnapshotClass creation

    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    e0def3c View commit details
    Browse the repository at this point in the history
  7. e2e: add test cases for cephfs snapshot creation,deletion and restore

    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    d243e97 View commit details
    Browse the repository at this point in the history
  8. cephfs: make use of expand operation lock in ControllerExpandVolume

    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    b3d1d90 View commit details
    Browse the repository at this point in the history
  9. cephfs: add snapshotlock and operationlock to controllerserver

    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    e1ea1ac View commit details
    Browse the repository at this point in the history
  10. cephfs: change createBackingVolume to accomodate clone operations

    adjust createBackingVolume() to create a subvolume from snapshot
    or existing subvolume by taking restore or clone operation locks
    
    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    3460375 View commit details
    Browse the repository at this point in the history
  11. cephfs: add checkContentSource() to validate the data source

    checkContentSource() validate the data source in the request
    and then populate volumeOptions or snapshotshot identifier in
    case of snapshot source. If the data source is volume, then
    parentVolumeOption and pvID are populated.
    
    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    bf03614 View commit details
    Browse the repository at this point in the history
  12. cephfs: add various error strings for command validation

    Compared to previous version of the error strings, this change
    depend on error strings like ENOENT, EEXIST, EINVAL..etc
    The format of the error strings change in different cluster versions
    and the error code return should not change. This also add extra
    error strings for snapshot and clone operation outputs
    
    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    0268a8c View commit details
    Browse the repository at this point in the history
  13. cephfs: retrieve NewCSISnapshotJournal with namespace set

    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    62fa5ef View commit details
    Browse the repository at this point in the history
  14. cephfs: introduce newSnapshotOptionsFromID to generate volOpt and sid

    From provided CSI volume ID this populate volumeOptions and snapshot
    identifier after connecting to the snapJournal.
    
    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    ab71114 View commit details
    Browse the repository at this point in the history
  15. cephfs: add snapshot create/delete capabilities in controllerserver

    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    b8fe1b0 View commit details
    Browse the repository at this point in the history
  16. cephfs: use delete operation lock in delete volume

    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    7e84873 View commit details
    Browse the repository at this point in the history
  17. cephfs: change createvolume for snapshot/clone workflow

    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    7d59196 View commit details
    Browse the repository at this point in the history
  18. cephfs: add snapshot and clone helper functions

    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    13885cb View commit details
    Browse the repository at this point in the history
  19. cephfs: Change checkVolExist for snapshot and clone workflow

    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    9daa0ea View commit details
    Browse the repository at this point in the history
  20. cephfs: validate create volume request

    Also add functionality to generate snap from request
    and to get mon and clusterID from the request
    
    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    3bb069a View commit details
    Browse the repository at this point in the history
  21. cephfs: add snap reserve/unreserve and snap exist functionalities

    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    c820f3a View commit details
    Browse the repository at this point in the history
  22. cephfs: remove inValidCommmand and errNotFoundString

    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    211ca6f View commit details
    Browse the repository at this point in the history
  23. cephfs: add subvolume struct and getSubvolumeInfo calls

    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    09b9db8 View commit details
    Browse the repository at this point in the history
  24. cephfs: getVolumeRootPathCeph and purgeVolume use new error strings

    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    cc2c616 View commit details
    Browse the repository at this point in the history
  25. cephfs: add snapshot create and delete functionalilies

    It also add helper routines like parsetime,doSnapshot..etc
    
    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    1fa7308 View commit details
    Browse the repository at this point in the history
  26. cephfs: introduce parsetime() to parse createdAt field in snap return

    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    9f65173 View commit details
    Browse the repository at this point in the history
  27. e2e: remove volume populate test case and also change writeDataInPod()

    As we are populating the volume in other two test cases for clone and
    snapshot operation, we dont need a specific test case now.
    WriteDataInPod() function is also changed to take the pod spec and write
    some data to it
    
    Signed-off-by: Humble Chirammal <[email protected]>
    humblec authored and mergify-bot committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    36babba View commit details
    Browse the repository at this point in the history