]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: Add support for RBD snapshot copy
authorRicardo Dias <rdias@suse.com>
Mon, 23 Apr 2018 09:43:10 +0000 (10:43 +0100)
committerRicardo Marques <rimarques@suse.com>
Tue, 24 Apr 2018 15:50:37 +0000 (16:50 +0100)
Signed-off-by: Ricardo Dias <rdias@suse.com>
src/pybind/mgr/dashboard/controllers/rbd.py

index 424706ffa7efe6b548b5f02813811cba7213a80e..1642b3b6bc75c12be1bdb3aee82c02b9dffc6459 100644 (file)
@@ -329,7 +329,7 @@ class Rbd(RESTController):
               'dest_image_name': '{dest_image_name}'}, 2.0)
     @RESTController.resource(['POST'])
     def copy(self, pool_name, image_name, dest_pool_name, dest_image_name,
-             obj_size=None, features=None, stripe_unit=None,
+             snapshot_name=None, obj_size=None, features=None, stripe_unit=None,
              stripe_count=None, data_pool=None):
 
         def _src_copy(s_ioctx, s_img):
@@ -342,6 +342,9 @@ class Rbd(RESTController):
                 # Set features
                 feature_bitmask = _format_features(features)
 
+                if snapshot_name:
+                    s_img.set_snap(snapshot_name)
+
                 s_img.copy(d_ioctx, dest_image_name, feature_bitmask, l_order,
                            stripe_unit, stripe_count, data_pool)