| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Python library to emit Events from Geo-replication or any other Python apps
running in storage nodes.
Add $LIBEXEC/glusterfs/events to Python path to use gf_event
gf_event(event_type, **kwargs)
For example,
sys.path.insert(1, "LIBEXECDIR/glusterfs")
from events.gf_event import gf_event
from events import eventtypes
gf_event(eventtypes.GEOREP_FAULTY,
volname="gv1",
slaveuser="root",
slavehost="node1",
slavevol="gv2")
Errors will be logged in $LOGDIR/glusterfs/events.log
BUG: 1362144
Change-Id: I2af2bd77f9961975e4387006b9e99e4543e12b57
Signed-off-by: Aravinda VK <avishwan@redhat.com>
Reviewed-on: http://review.gluster.org/15063
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Samikshan Bairagya <samikshan@gmail.com>
Reviewed-by: Prashanth Pai <ppai@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Following Geo-replication Events are added
GEOREP_CREATE/GEOREP_START/GEOREP_STOP/GEOREP_DELETE/GEOREP_PAUSE/GEOREP_RESUME
{
"nodeid": NODEID,
"ts": TIMESTAMP,
"event": EVENT_TYPE,
"message": {
"master": MASTER_VOLUME_NAME,
"slave": SLAVE_DETAILS
}
}
GEOREP_CONFIG_SET
{
"nodeid": NODEID,
"ts": TIMESTAMP,
"event": GEOREP_CONFIG_SET,
"message": {
"master": MASTER_VOLUME_NAME,
"slave": SLAVE_DETAILS,
"option": OPTION_NAME,
"value": OPTION_VALUE
}
}
GEOREP_CONFIG_RESET
{
"nodeid": NODEID,
"ts": TIMESTAMP,
"event": GEOREP_CONFIG_RESET,
"message": {
"master": MASTER_VOLUME_NAME,
"slave": SLAVE_DETAILS,
"option": OPTION_NAME
}
}
BUG: 1363591
Change-Id: I78c81aabd022ebb042b3eae3c6b5a284a6c2801f
Signed-off-by: Aravinda VK <avishwan@redhat.com>
Reviewed-on: http://review.gluster.org/15077
Smoke: Gluster Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Kotresh HR <khiremat@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
$SRC/libglusterfs/src/eventtypes.h and $SRC/events/src/eventtypes.py are
generated by running `python $SRC/events/eventskeygen.py`
Header files generation step is added to make file itself, Now All new
events should be added to only to $SRC/events/eventskeygen.py file.
BUG: 1361094
Change-Id: I384961ef2978ca2d0be37f288b39ac0d834bdf06
Signed-off-by: Aravinda VK <avishwan@redhat.com>
Reviewed-on: http://review.gluster.org/15035
Smoke: Gluster Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Kotresh HR <khiremat@redhat.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Example of published data for Volume Set:
{
"nodeid": NODEID,
"ts": TIMESTAMP,
"event": "VOLUME_SET",
"message": {
"name": VOLUME_NAME,
"options": [[KEY1, VALUE1], [KEY2, VALUE2],..]
}
}
Example of published data for Volume Reset:
{
"nodeid": NODEID,
"ts": TIMESTAMP,
"event": "VOLUME_RESET",
"message": {
"name": VOLUME_NAME,
"option": KEY
}
}
BUG: 1358671
Change-Id: If30cc95396459b2a9993b3412ee6d05d27f6a86a
Signed-off-by: Aravinda VK <avishwan@redhat.com>
Reviewed-on: http://review.gluster.org/14973
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Smoke: Gluster Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If Symlink file $SBIN/gluster-eventsapi is not deleted,
make install was failing when run second time(Without uninstall)
With this patch, Symlink deleted before installing new symlink.
BUG: 1357821
Change-Id: I65e636f7b48ba9e81177f56c720ffc27e1f95fb3
Signed-off-by: Aravinda VK <avishwan@redhat.com>
Reviewed-on: http://review.gluster.org/14954
Smoke: Gluster Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Kotresh HR <khiremat@redhat.com>
|
|
[Depends on http://review.gluster.org/14627]
Design is available in `glusterfs-specs`, A change from the design
is support of webhook instead of Websockets as discussed in the design
http://review.gluster.org/13115
Since Websocket support depends on REST APIs, I will add Websocket support
once REST APIs patch gets merged
Usage:
Run following command to start/stop Eventsapi server in all Peers,
which will collect the notifications from any Gluster daemon and emits
to configured client.
gluster-eventsapi start|stop|restart|reload
Status of running services can be checked using,
gluster-eventsapi status
Events listener is a HTTP(S) server which listens to events emited by
the Gluster. Create a HTTP Server to listen on POST and register that
URL using,
gluster-eventsapi webhook-add <URL> [--bearer-token <TOKEN>]
For example, if HTTP Server running in `http://192.168.122.188:9000`
then add that URL using,
gluster-eventsapi webhook-add http://192.168.122.188:9000
If it expects a Token then specify it using `--bearer-token` or `-t`
We can also test Webhook if all peer nodes can send message or not
using,
gluster-eventsapi webhook-test <URL> [--bearer-token <TOKEN>]
Configurations can be viewed/updated using,
gluster-eventsapi config-get [--name]
gluster-eventsapi config-set <NAME> <VALUE>
gluster-eventsapi config-reset <NAME|all>
If any one peer node was down during config-set/reset or webhook
modifications, Run sync command from good node when a peer node comes
back. Automatic update is not yet implemented.
gluster-eventsapi sync
Basic Events Client(HTTP Server) is included with the code, Start
running the client with required port and start listening to the
events.
/usr/share/glusterfs/scripts/eventsdash.py --port 8080
Default port is 9000, if no port is specified, once it started running
then configure gluster-eventsapi to send events to that client.
Eventsapi Client can be outside of the Cluster, it can be run event on
Windows. But only requirement is the client URL should be accessible
by all peer nodes.(Or ngrok(https://ngrok.com) like tools can be used)
Events implemented with this patch,
- Volume Create
- Volume Start
- Volume Stop
- Volume Delete
- Peer Attach
- Peer Detach
It is easy to add/support more events, since it touches Gluster cmd
code and to avoid merge conflicts I will add support for more events
once this patch merges.
BUG: 1334044
Change-Id: I316827ac9dd1443454df7deffe4f54835f7f6a08
Signed-off-by: Aravinda VK <avishwan@redhat.com>
Reviewed-on: http://review.gluster.org/14248
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
|