Interfaces for Gluster Management

Gluster provides CLIs to manage the Cluster, which can be programmatly consumed by passing --xml option. For example,

gluster volume info --xml

But Gluster CLIs are not enough for managing from remote place or to integrate with third party Management/Monitoring applications like Cockpit, Skyring, Nagios etc. We need more interfaces to enable integration with these tools.

Language bindings for Gluster CLI commands

How about importing the glustercli in your favorite programming language and start using it?

For example in Python,

from glustercli import volumes

gv1 = volumes.Volume("gv1")
gv1.start()

Status: Python and Go bindings are in progress

Ansible APIs for Gluster

Ansible is present favorite tool for Sysadmins.

App deployment, configuration management and orchestration - all from one system. - www.ansible.com

gdeploy (name may change in future) is a Ansible based tool for easy management of Gluster.

Status: gdeploy team is working on version 2.0

Storaged Gluster APIs

Gluster module for storaged enables integration with Cockpit. Cockpit can communicate with Storaged to get Gluster tasks done.

Status: Samikshan is working on this feature.

REST APIs for Gluster

Common API format to integrate with Web applications. Any web application can easily communicate with Gluster using HTTP calls.

For example, Web application can send HTTP POST request to Start the Volume

curl -X POST \
    -H "content-type: application/json" \
    -H "Date: Tue, 09 Feb 2016 12:38:10 +0000" \
    -H "Authorization: HMAC_SHA256 MyApp:g0b1IOmdRMOlPs2f5D4UJPgng9tNUuY0k+c+ee/k2Hk=" \
    http://hostname/v1/volumes/gv1/start

Status: In progress. Watch this space for more update about this feature :)

Are you using any interface for managing Gluster? Please share your experiences.

Comments !