#!/bin/bash


systemctl disable glustereventsd.service 2> /dev/null

if [ -f /etc/eole/config.eol ]; then
    hostname=$(CreoleGet glusterfs_servername)
    glusterfs_name=$(CreoleGet glusterfs_name)
    source /usr/lib/eole/func_glust.sh
    glusterTest $@
    if [[ $# != 0 ]] && [[ $1 = "test" ]]; then
        exit 0
    fi
    found=0
    for name in $(CreoleGet glusterfs_remote_servername); do
        [ "$name" = "$hostname" ] && found=1 && break
    done
    [ $found = 0 ] && echo "Le noeud local doit faire partie de 'glusterfs_remote_servername'" && exit 1

    if [ "$(gluster volume info 2>&1)" = "No volumes present" ]; then
        CMD=''
        idx=0
        glusterfs_dirname_data=$(CreoleGet glusterfs_dirname_data)
        for name in $(CreoleGet glusterfs_remote_servername); do
            if [ ! "$name" = "$hostname" ]; then
                gluster peer probe $name
            fi
            CMD="$CMD $name:$glusterfs_dirname_data/$glusterfs_name"
            idx=$((idx+1))
        done
        gluster volume create $glusterfs_name replica $idx$CMD
        gluster volume start $glusterfs_name
    fi
    grep "^$hostname:/$glusterfs_name" /etc/fstab
    if [ ! "$?" = "0" ]; then
        all_server=''
        for name in $(CreoleGet glusterfs_remote_servername); do
        if [ ! "$name" = "$hostname" ]; then
            [ ! "$all_server" = "" ] && all_server+=":"
            all_server+="$name"
        fi
        done
        destdir=$(CreoleGet glusterfs_dirname)
        mkdir -p $destdir
        echo "$hostname:/$glusterfs_name $destdir glusterfs backupvolfile-server=$all_server,defaults,_netdev 0 0" >> /etc/fstab
	mv "$destdir" "${destdir%/}.old"
	mkdir "$destdir"
        mount -a
	mv "${destdir%/}.old"/* "$destdir/"
	rmdir "${destdir%/}.old"
    fi
else
    echo "Le serveur n'est pas configuré, config.eol inexistant"
    exit 1
fi
exit 0
