sahara-image-elements/elements/hadoop/post-install.d/firstboot

97 lines
2.2 KiB
Bash

#!/bin/bash
function firstboot_common()
{
distro=$(lsb_release -is || :)
case "$distro" in
Ubuntu )
mkdir -p /home/ubuntu/.ssh
touch /home/ubuntu/.ssh/authorized_keys
chown -R ubuntu:ubuntu /home/ubuntu
;;
Fedora )
sleep 20
rm /etc/resolv.conf
service network restart
if [ $(lsb_release -rs) -ge '19' ]; then
user=fedora
else
user=ec2-user
fi
until [[ -n $(grep "$user:" /etc/passwd) && -n $(cat /etc/group | grep "$user:") ]];
do
sleep 1
done
chown -R $user:$user /home/$user
#TODO: configure iptables (https://bugs.launchpad.net/sahara/+bug/1195744)
iptables -F
;;
CentOS )
chown -R cloud-user:cloud-user /home/cloud-user
service iptables stop
chkconfig iptables off
;;
* )
echo "Unknown distro: $distro. Exiting."
exit 1
;;
esac
chown root:root /mnt
mkdir -p /mnt/log/hadoop
chown hadoop:hadoop /mnt/log/hadoop
}
function firstboot_hadoop_v1()
{
distro=$(lsb_release -is || :)
case "$distro" in
Ubuntu )
mkdir /run/hadoop
chown hadoop:hadoop /run/hadoop/
chown -R ubuntu:ubuntu /etc/hadoop
;;
Fedora )
if [ $(lsb_release -rs) -ge '19' ]; then
user=fedora
else
user=ec2-user
fi
chown -R $user:$user /etc/hadoop
;;
CentOS )
chown -R cloud-user:cloud-user /etc/hadoop
;;
* )
echo "Unknown distro: $distro. Exiting."
exit 1
;;
esac
mkdir -p /var/run/hadoop
chown hadoop:hadoop /var/run/hadoop
}
DIB_HADOOP_VERSION=
firstboot_common
if [[ "$DIB_HADOOP_VERSION" < "2.0.0" ]];
then
firstboot_hadoop_v1
fi
# Clean
if [ "$distro" == "Ubuntu" ]; then
if [ -f /etc/rc.local.old ]; then
mv /etc/rc.local.old /etc/rc.local
fi
else
if [ -f /etc/rc.d/rc.local.old ]; then
mv /etc/rc.d/rc.local.old /etc/rc.d/rc.local
fi
fi
exit 0