centos6 Initial commit

This commit is contained in:
Sathiya Shunmugasundaram 2015-06-02 20:57:35 -04:00
parent a36728649f
commit 0382efbbe1
7 changed files with 113 additions and 1 deletions

View File

@ -14,4 +14,6 @@ terraform apply -var 'key_name=consul' -var 'key_path=/Users/xyz/consul.pem' -va
To run rhel6, run like below
terraform apply -var 'key_name=consul' -var 'key_path=/Users/xyz/consul.pem' -var 'platform=rhel6'
terraform apply -var 'key_name=consul' -var 'key_path=/Users/xyz/consul.pem' -var 'platform=rhel6'
For centos6 platform, for the default AMI, you need to accept the AWS market place terms and conditions. When you launch first time, you will get an error with an URL to accept the terms and conditions.

View File

@ -0,0 +1,36 @@
#!/bin/bash
set -e
# Read the address to join from the file we provisioned
JOIN_ADDRS=$(cat /tmp/consul-server-addr | tr -d '\n')
echo "Installing dependencies..."
yum update -y
yum install -y unzip wget
echo "Fetching Consul..."
cd /tmp
wget https://dl.bintray.com/mitchellh/consul/0.5.2_linux_amd64.zip -O consul.zip
echo "Installing Consul..."
unzip consul.zip >/dev/null
chmod +x consul
mv consul /usr/local/bin/consul
mkdir -p /etc/consul.d
mkdir -p /mnt/consul
mkdir -p /etc/service
#Enable consul port in iptables
echo "Allow port 8301 in iptables"
iptables -I INPUT -s 0/0 -p tcp --dport 8301 -j ACCEPT
# Setup the join address
cat >/tmp/consul-join << EOF
export CONSUL_JOIN="${JOIN_ADDRS}"
EOF
mv /tmp/consul-join /etc/service/consul-join
chmod 0644 /etc/service/consul-join
echo "Installing Upstart service..."
mv /tmp/upstart.conf /etc/init/consul.conf
mv /tmp/upstart-join.conf /etc/init/consul-join.conf

View File

@ -0,0 +1,15 @@
#!/bin/bash
set -e
# Read from the file we created
SERVER_COUNT=$(cat /tmp/consul-server-count | tr -d '\n')
# Write the flags to a temporary file
cat >/tmp/consul_flags << EOF
export CONSUL_FLAGS="-server -bootstrap-expect=${SERVER_COUNT} -data-dir=/mnt/consul"
EOF
# Write it to the full service file
mv /tmp/consul_flags /etc/service/consul
chown root:root /etc/service/consul
chmod 0644 /etc/service/consul

View File

@ -0,0 +1,5 @@
#!/bin/bash
set -e
echo "Starting Consul..."
start consul

View File

@ -0,0 +1,25 @@
description "Join the consul cluster"
start on started consul
stop on stopped consul
task
script
if [ -f "/etc/service/consul-join" ]; then
. /etc/service/consul-join
fi
# Keep trying to join until it succeeds
set +e
while :; do
logger -t "consul-join" "Attempting join: ${CONSUL_JOIN}"
/usr/local/bin/consul join \
${CONSUL_JOIN} \
>>/var/log/consul-join.log 2>&1
[ $? -eq 0 ] && break
sleep 5
done
logger -t "consul-join" "Join success!"
end script

View File

@ -0,0 +1,26 @@
description "Consul agent"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
# This is to avoid Upstart re-spawning the process upon `consul leave`
normal exit 0 INT
script
if [ -f "/etc/service/consul" ]; then
. /etc/service/consul
fi
# Make sure to use all our CPUs, because Consul can block a scheduler thread
export GOMAXPROCS=`nproc`
# Get the public IP
BIND=`ifconfig eth0 | grep "inet addr" | awk '{ print substr($2,6) }'`
exec /usr/local/bin/consul agent \
-config-dir="/etc/consul.d" \
-bind=$BIND \
${CONSUL_FLAGS} \
>>/var/log/consul.log 2>&1
end script

View File

@ -7,6 +7,7 @@ variable "user" {
default = {
ubuntu = "ubuntu"
rhel6 = "ec2-user"
centos6 = "root"
}
}
@ -17,6 +18,8 @@ variable "ami" {
us-west-2-ubuntu = "ami-57e8d767"
us-east-1-rhel6 = "ami-b0fed2d8"
us-west-2-rhel6 = "ami-2faa861f"
us-east-1-centos6 = "ami-c2a818aa"
us-west-2-centos6 = "ami-81d092b1"
}
}