forked from ceph/ceph-iscsi-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
configshell based cli for managing ceph/iscsi gateways built using LIO
License
hnaung/ceph-iscsi-cli
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
ceph-iscsi-cli installs a targetcli-like interface to allow multiple ceph/iscsi gateways to be managed from a single interface. The CLI interfaces with the API exposed in the rbd-target-gw daemon running on each gateway. Here's an example of the shell interface the gwcli tool provides; /> ls o- / .................................................................................. [...] o- clusters ................................................................. [Clusters: 1] | o- ceph ..................................................................... [HEALTH_OK] | o- pools ................................................................... [Pools: 3] | | o- ec ........................................ [(2+1), Commit: 0b/40G (0%), Used: 0b] | | o- iscsi ..................................... [(x3), Commit: 0b/20G (0%), Used: 18b] | | o- rbd ....................................... [(x3), Commit: 8G/20G (40%), Used: 5K] | o- topology ......................................................... [OSDs: 3,MONs: 3] o- disks ................................................................... [8G, Disks: 5] | o- rbd.disk_1 ............................................................. [disk_1 (1G)] | o- rbd.disk_2 ............................................................. [disk_2 (2G)] | o- rbd.disk_3 ............................................................. [disk_3 (2G)] | o- rbd.disk_4 ............................................................. [disk_4 (1G)] | o- rbd.disk_5 ............................................................. [disk_5 (2G)] o- iscsi-target .............................................................. [Targets: 1] o- iqn.2003-01.com.redhat.iscsi-gw:ceph-gw ................................ [Gateways: 2] o- gateways ..................................................... [Up: 2/2, Portals: 2] | o- rh7-gw1 .................................................... [192.168.122.69 (UP)] | o- rh7-gw2 ................................................... [192.168.122.104 (UP)] o- hosts ................................................................... [Hosts: 2] o- iqn.1994-05.com.redhat:myhost1 ........................ [Auth: None, Disks: 1(1G)] | o- lun 0 ......................................... [rbd.disk_1(1G), Owner: rh7-gw2] o- iqn.1994-05.com.redhat:rh7-client .......... [LOGGED-IN, Auth: CHAP, Disks: 1(2G)] o- lun 0 ......................................... [rbd.disk_5(2G), Owner: rh7-gw2] The rbd-target-api daemon utilises the flask's internal development server to provide the REST api. It is normally not used in a production context, but given this specific use case it provides a simple way to provide an admin interface - at least for the first release! The API has been tested with Firefox RESTclient add-on with https (based on a common self-signed certificate). With the certificate in place on each gateway you can add basic auth credentials to match the local api configuration in the RESTclient and use the client as follows; Add a Header content type for application/x-www-form-urlencoded METHOD: PUT URL: https://192.168.122.69:5001/api/gateway/rh7-gw1 select the urlencoded content type and the basic auth credentials add the required variables to the body section in the client ui eg. ip_address=192.168.122.69 Click 'SEND' Curl Examples If the UI is not your thing, curl probably is! Here's an example of using curl to create a gateway node. curl --insecure --user admin:admin -d "ip_address=192.168.122.104" \ -X PUT https://192.168.122.69:5001/api/gateway/rh7-gw2
About
configshell based cli for managing ceph/iscsi gateways built using LIO
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- Python 92.3%
- Roff 7.7%