Project

General

Profile

Submissions » calamari-add-a-rbd-restful-api.txt

calamari add a rbd restful api - ceph zte, 04/06/2016 06:16 AM

 
CALAMARI ADD A RBD RESTFUL API

SUMMARY
At present, Calamari has already introduced some RBD restful APIs
but those APIs are only available in CLI form and therefore are
invisible for Cthulhu, which currently accepts Python APIs only.
And the ceph have provided the python api for user. So we need to develop the rbd restful api use
the ceph python api for user to use.And just like the pool api. We should add the operation api for
rbd. We can add the rbd restful api do not just through the rest_api but also like below.
calamari_rest---->cthulhu--->salt--minion



OWNERS
BAISEN SONG (ZTE)
Name (Affiliation)
Name

INTERESTED PARTIES
Name (Affiliation)
Name (Affiliation)
Name

CURRENT STATUS
Calamari has the simple rbd restful api but the api depend on cli.
The current rbd api was defined in rest-api do not like
other api through the cthulhu. And we can use the ceph rbd python api take
place the cli mode.



DETAILED DESCRIPTION
calmari_rest add api.
urls add the below api
1 /v2/cluster/fsid/rbd(get)
get: get info of all pools and their containing images.
2 /v2/cluster/fsid/pool_id/rbd(get,post)
get: get info of a specified pool and its containing images
post: mirror image from a specified pool to another
3 /v2/cluster/fsid/pool_id/rbd/imagename/clone(get post delete)
get: get info of a specified image clone
post:clone this image from this pool to another pool
delete:flatten the clone image in this pool
4 /v2/cluster/fsid/pool_id/rbd/imagename(get,patch,delete,post)
get:get the image detail info
patch:update the image name and size and so on.
delete: remove this image
post: create a snapshot for this image
5 /v2/cluster/fsid/pool_id/rbd/imagename/snapname(get,patch,delete)
get:get the detail snap info of this image
patch:update the snap info as protect or not and so on.
delete:remove this snapshot from the image

views add:
pool_rbd_view_set rbd_view_set rbd_snap_view_set

cthulhu_add:
rbd_request_factory snap_request_factory
salt add:
rbd_api
WORK ITEMS
Coding tasks
Task 1
Task 2
Task 3

Build / release tasks
Task 1
Task 2
Task 3

Documentation tasks
Task 1
Task 2
Task 3

Deprecation tasks
Task 1
Task 2
Task 3
(3-3/3)