Commit a0b7d296 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Refactoriza entrypoint e independiza dirs por nodo

Ya no se comparte el directorio de cluster por todos los nodos, sino
que cada uno usa el suyo para no pisarse.
El entrypoint ahora llama a un subscript para el descubrimiento.
parent 31b1599c
Loading
Loading
Loading
Loading

scripts/discovery.sh

0 → 100755
+33 −0
Original line number Diff line number Diff line
#!/bin/bash

sleep 10

echo "Discovering other nodes in cluster..."
serviceNodesIps=$(dig ${CLUSTER_DISCOVERY_URL} +short)
echo "${serviceNodesIps}"

myIp=$(dig ${HOSTNAME} +short)
echo "My hostname: ${HOSTNAME}"
echo "My IP: ${myIp}"
export MY_IP="${myIp}"

for nodeIp in ${serviceNodesIps}
do
	clusterNodesIps="${clusterNodesIps}<member>${nodeIp}</member>"
done
export CLUSTER_NODES_IPS_TAGS="${clusterNodesIps}"

export HAZELCAST_OUTBOUND_PORTS_RANGE=$((${HAZELCAST_PORT} + 101))-$((${HAZELCAST_PORT} + 201))

clusterDir="${GEOSERVER_DATA_DIR}/cluster-${myIp}"
clusterTemplateName="cluster"
hazelcastTemplateName="hazelcast"

mkdir -p ${clusterDir}

envsubst < /${clusterTemplateName}.template > ${clusterDir}/${clusterTemplateName}.properties
envsubst < /${hazelcastTemplateName}.template > ${clusterDir}/${hazelcastTemplateName}.xml

export JAVA_OPTS="${JAVA_OPTS} ${GEOSERVER_OPTS} \
	-DGEOSERVER_LOG_LOCATION=${GEOSERVER_LOG_LOCATION} \
	-Dhazelcast.config.dir=${clusterDir}"
+1 −27
Original line number Diff line number Diff line
@@ -12,32 +12,6 @@ then
	rm -rf "${GEOSERVER_HOME}/data_dir"
fi

sleep 10

echo "Discovering other nodes in cluster..."
serviceNodesIps=$(dig ${CLUSTER_DISCOVERY_URL} +short)
echo "${serviceNodesIps}"

myIp=$(dig ${HOSTNAME} +short)
echo "My IP: ${myIp}"
export MY_IP="${myIp}"

for nodeIp in ${serviceNodesIps}
do
	clusterNodesIps="${clusterNodesIps}<member>${nodeIp}</member>"
done
export CLUSTER_NODES_IPS_TAGS="${clusterNodesIps}"

export HAZELCAST_OUTBOUND_PORTS_RANGE=$((${HAZELCAST_PORT} + 101))-$((${HAZELCAST_PORT} + 201))

mkdir -p ${GEOSERVER_DATA_DIR}/cluster

clusterTemplateName="cluster"
hazelcastTemplateName="hazelcast"

envsubst < /${clusterTemplateName}.template > ${GEOSERVER_DATA_DIR}/cluster/${clusterTemplateName}.properties
envsubst < /${hazelcastTemplateName}.template > ${GEOSERVER_DATA_DIR}/cluster/${hazelcastTemplateName}.xml

export JAVA_OPTS="${JAVA_OPTS} ${GEOSERVER_OPTS} -DGEOSERVER_LOG_LOCATION=${GEOSERVER_LOG_LOCATION}"
/discovery.sh & disown

exec "$@"