[Gluster-devel] glustercli-python project updates

Aravinda avishwan at redhat.com
Tue Dec 6 14:38:41 UTC 2016


A project to provide Python wrappers for Gluster CLI commands.These 
wrappers helps to integrate with external python projects easily.

For example to start a Gluster volume "gv1"

     from gluster.cli import volume

     try:
         volume.start("gv1")
     except GlusterCmdException as e:
         print "Volume start failed:", e

These wrappers does additional processing compared to raw Gluster xml 
outputs to provide meaningful data.
For example,
georep.status joins `gluster volume info` and `gluster georep status` to 
return output in sorted order same as Volume info and to show offline 
status.
volume.status_detail which runs `gluster volume info` and `gluster 
volume status detail` and merges the output to show the offline bricks 
status.


Repo:
-----
https://github.com/gluster/glustercli-python


Install:
--------
Install using pip command `sudo pip install glustercli` 
(https://pypi.python.org/pypi/glustercli)


What is available:
-------------------
Volume Operations: 
start/stop/restart/create/delete/info/status_detail/optset/optreset/log_rotate/sync/clear_locks/barrier_enable/barrier_disable/profile_start/profile_stop/profile_info
Geo-rep Operations: 
gsec_create/create/start/stop/restart/delete/pause/resume/config_set/config_reset/status
Snapshot operations: activate/clone/create/deactivate/delete/restore/config
Rebalance operations: fix_layout_start/start/stop/status
Quota operations: 
inode_quota_enable/enable/disable/remove_path/remove_objects/default_soft_limit/limit_usage/limit_objects/alert_time/soft_timeout/hard_timeout
Peer operations: probe/attach/detach/status/pool
NFS Ganesha: enable/disable
Heal operations: enable/disable/full/split_brain
Bricks operations: add/remove_start/remove_stop/remove_commit/replace_commit
Bitrot operations: 
enable/disable/scrub_throttle/scrub_frequency/scrub_pause/scrub_resume
Tier operations: start/attach/detach_start/detach_stop/detach_commit

Who is using:
-------------
Gluster management REST APIs project: https://github.com/gluster/restapi
Gluster Geo-replication tools: 
http://aravindavk.in/blog/gluster-georep-tools

Call for participation:
-----------------------
- Integration with external projects
- Fedora/Ubuntu and other distributions packaging
- API documentation
- Tests
- Following wrappers to be implemented, feel free to send pull 
requests($SRC/gluster/cli/parsers.py)

         - Bitrot scrub status
         - Rebalance Status
         - Quota List Paths
         - Quota List Objects
         - Geo-rep Config Get
         - Remove Brick status
         - Tier detach status
         - Tier status
         - Volumes List
         - Heal info
         - Heal Statistics
         - Snapshot status
         - Snapshot info
         - Snapshot List
         - Volume options

Thanks to Xiaohui Liu(xiaohui) for Volume profile output parsing and 
peer list parsing pull requests

https://github.com/gluster/glustercli-python/commit/bb7cad16d244101f0f298b6359fa053ca4755808
https://github.com/gluster/glustercli-python/commit/f4f0a8c7540bb94af6a9b486baaa2a2fe67c5d04

-- 
regards
Aravinda
http://aravindavk.in

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gluster.org/pipermail/gluster-devel/attachments/20161206/6087c37c/attachment-0001.html>


More information about the Gluster-devel mailing list