magnum/magnum/drivers/mesos_ubuntu_v1/templates/fragments/configure-mesos-master.sh

73 lines
1.6 KiB
Bash

#!/bin/bash
. /etc/sysconfig/heat-params
echo "Configuring mesos (master)"
myip=$(ip addr show eth0 |
awk '$1 == "inet" {print $2}' | cut -f1 -d/)
# Fix /etc/hosts
sed -i "s/127.0.1.1/$myip/" /etc/hosts
######################################################################
#
# Configure ZooKeeper
#
# List all ZooKeeper nodes
id=1
for master_ip in $MESOS_MASTERS_IPS; do
echo "server.$((id++))=${master_ip}:2888:3888" >> /etc/zookeeper/conf/zoo.cfg
done
# Set a ID for this node
id=1
for master_ip in $MESOS_MASTERS_IPS; do
if [ "$master_ip" = "$myip" ]; then
break
fi
id=$((id+1))
done
echo "$id" > /etc/zookeeper/conf/myid
######################################################################
#
# Configure Mesos
#
# Set the ZooKeeper URL
zk="zk://"
for master_ip in $MESOS_MASTERS_IPS; do
zk="${zk}${master_ip}:2181,"
done
# Remove tailing ',' (format: zk://host1:port1,...,hostN:portN/path)
zk=${zk::-1}
echo "${zk}/mesos" > /etc/mesos/zk
# The IP address to listen on
echo "$myip" > /etc/mesos-master/ip
# The size of the quorum of replicas
echo "$QUORUM" > /etc/mesos-master/quorum
# The hostname advertised in ZooKeeper
echo "$myip" > /etc/mesos-master/hostname
# The cluster name
echo "$CLUSTER_NAME" > /etc/mesos-master/cluster
######################################################################
#
# Configure Marathon
#
mkdir -p /etc/marathon/conf
# Set the ZooKeeper URL
echo "${zk}/mesos" > /etc/marathon/conf/master
echo "${zk}/marathon" > /etc/marathon/conf/zk
# Set the hostname advertised in ZooKeeper
echo "$myip" > /etc/marathon/conf/hostname