Install and configure etcd in install script

This patch adds logic to install_valence.sh to install
and add initial directories to the ectd database when
running valence_install.sh

Change-Id: Iec4e1fff16ae3a92163f026ee231be09fcbb0865
Closes-Bug: #1668438
This commit is contained in:
Nate Potter 2017-02-28 15:53:16 -08:00
parent 6bc8f689b0
commit 11c8f513cb
2 changed files with 41 additions and 1 deletions

View File

@ -0,0 +1,8 @@
description "etcd key value store"
start on runlevel [2345]
stop on runlevel [2345]
respawn
exec su -s /usr/local/bin/etcd

View File

@ -46,6 +46,38 @@ chown "$CURR_USER":"$CURR_USER" /var/log/valence
echo "Installing dependencies from requirements.txt" >> $install_log
pip install -r requirements.txt
echo "Installing the etcd database" >> $install_log
ETCD_VER=v3.1.2
DOWNLOAD_URL=https://github.com/coreos/etcd/releases/download
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
mkdir -p /var/etcd && tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /var/etcd --strip-components=1
chown "$CURR_USER":"$CURR_USER" /var/etcd
mv /var/etcd/etcd /usr/local/bin/etcd && mv /var/etcd/etcdctl /usr/local/bin/etcdctl
sed "s/\${CHUID}/$CURR_USER/" "$DIR"/doc/source/init/etcd.conf > /etc/init/etcd.conf
echo "Starting etcd database" >> $install_log
service etcd start
sleep 2
timeout=30
attempt=1
until [[ $(service etcd status) = "etcd start/running"* ]]
do
sleep 1
attempt=$((attempt+1))
if [[ $attempt -eq timeout ]]
then
echo "Database failed to start, aborting installation."
rm -rf /var/etcd /usr/local/bin/etcd /usr/local/bin/etcdctl
exit
fi
done
echo "Adding database directories" >> $install_log
etcdctl --endpoints=127.0.0.1:2379 mkdir /nodes
etcdctl --endpoints=127.0.0.1:2379 mkdir /flavors
etcdctl --endpoints=127.0.0.1:2379 mkdir /pod_managers
echo "Invoking setup.py" >> $install_log
python setup.py install
if [ $? -ne 0 ]; then
@ -55,4 +87,4 @@ if [ $? -ne 0 ]; then
fi
echo "Installation Completed"
echo "To start valence : sudo service valence start"
echo "To start valence : sudo service valence start"