Merge branch 'master' into dist/eole/2.6.2/master

This commit is contained in:
Philippe Caseiro 2018-05-14 12:27:27 +02:00
commit 8869d18e17
3 changed files with 36 additions and 4 deletions

View File

@ -43,8 +43,10 @@
<value>Leader</value> <value>Leader</value>
</variable> </variable>
<variable name='redisMasterIP' type='ip' description="Adresse IP du Leader Redis"/> <variable name='redisMasterIP' type='ip' description="Adresse IP du Leader Redis"/>
<variable name='redisMasterIP' type='ip' description="Adresse IP du Leader Redis"/>
<variable name='redisMasterPort' type='number' description="Port d'écoute du Leader Redis"/> <variable name='redisMasterPort' type='number' description="Port d'écoute du Leader Redis"/>
<variable name='redisMasterPassword' type='string' description="Passphrase d'accès à la grappe Redis"/> <variable name='redisMasterPassword' type='string' description="Passphrase d'accès à la grappe Redis"/>
<variable name='rdClMember' type='ip' description="Nom du noeud" multi='True'/>
<variable name='rdClMemberIP' type='ip' description="Adresse IP du noeud" multi='True'/> <variable name='rdClMemberIP' type='ip' description="Adresse IP du noeud" multi='True'/>
<variable name='rdClMemberPort' type='number' description="Port d'écoute du noeud" multi='True'/> <variable name='rdClMemberPort' type='number' description="Port d'écoute du noeud" multi='True'/>
<variable name='rdClMemberRole' type='ip' description="Rôle du membre"/> <variable name='rdClMemberRole' type='ip' description="Rôle du membre"/>
@ -94,7 +96,8 @@
<slave>rdClmask</slave> <slave>rdClmask</slave>
</group> </group>
<group master='rdClMemberIP'> <group master='rdClMember'>
<slave>rdClMemberIP</slave>
<slave>rdClMemberPort</slave> <slave>rdClMemberPort</slave>
<slave>rdClMemberRole</slave> <slave>rdClMemberRole</slave>
<slave>rdClMemberMaster</slave> <slave>rdClMemberMaster</slave>

29
postservice/91-redis-init Executable file
View File

@ -0,0 +1,29 @@
#!/bin/bash
#
# Cluster init !
#
redisTrib="/usr/share/doc/redis-tools/examples/redis-trib.rb"
CONF="/etc/redis/cluster.conf"
if [[ -f ${1} ]]
then
CONF=${1}
fi
if [[ -f "${CONF}" ]]
then
LEADER=$(awk -F ':' '/^leader/ {print $2 ":" $3}' ${CONF})
REPLICA=$(${redisTrib} check ${LEADER} | awk '/additional replica/ {print $1}')
if [[ ${REPLICA} -eq 0 ]]
then
# Create Cluster
yes yes | ${redisTrib} create --replicas 1 $(awk -F ':' '{printf "%s:%s ", $2, $3}' ${CONF})
fi
else
echo "${CONF} is missing"
exit 0
fi

View File

@ -1,6 +1,6 @@
%if %%getVar('activer_redis','non') == 'oui' and %%getVar('redisRole','Node') == 'Leader' %if %%getVar('activer_redis','non') == 'oui' and %%getVar('redisRole','Node') == 'Leader'
127.0.0.1:%%{redisPort}:master:: Leader:127.0.0.1:%%{redisPort}:master::
%for %%node in %%getVar('rdClMemberIP',[]) %for %%node in %%getVar('rdClMember',[])
%%{node}:%%{node.rdClMemberPort}:%%{node.rdClMemberRole}:%%{node.rdClMemberMaster} %%{node}:%%{node.rdClMemberIP}:%%{node.rdClMemberPort}:%%{node.rdClMemberRole}:%%{node.rdClMemberMaster}:
%end for %end for
%end if %end if