#!/bin/sh

set -e

if ! [ -r /root/octavia-openrc ] ; then
	echo "Could not read /root/octavia-openrc: exiting."
	exit 1
fi

. /root/octavia-openrc

if ! [ -d /etc/octavia/.ssh ] ; then
	mkdir -p /etc/octavia/.ssh
fi
if ! [ -e /etc/octavia/.ssh/octavia_ssh_key ] ; then
        ssh-keygen -t rsa -f /etc/octavia/.ssh/octavia_ssh_key -P ""
        chown -R octavia:octavia /etc/octavia/.ssh
fi

KEYPAIR=$(openstack keypair list -f value -c Name 2>/dev/null)
if [ -z "${KEYPAIR}" ] ; then
        openstack keypair create --public-key /etc/octavia/.ssh/octavia_ssh_key.pub octavia-ssh-key
fi

MY_HOSTNAME=$(hostname --fqdn)
for HOST in $(cat /etc/hosts | grep controller | awk '{print $2}') ; do
	if [ "${HOST}" != "${MY_HOSTNAME}" ] ; then
		scp -r /etc/octavia/.ssh root@${HOST}:/etc/octavia/
		ssh ${HOST} "chown -R octavia:octavia /etc/octavia/.ssh"
	fi
done

exit 0
