#!/bin/sh

set -e
#set -x

MY_HOSTNAME=$(hostname --fqdn)

for servicename in aodh barbican ceilometer cloudkitty congress designate glance gnocchi heat ironic keystone magnum manila mistral murano neutron nova octavia panko placement sahara senlin swift vitrage watcher zaqar rabbitmq ; do
	if [ -e /etc/${servicename}/ssl/private/${MY_HOSTNAME}.pem ] ; then
		cp /etc/ssl/private/ssl-cert-snakeoil.key /etc/${servicename}/ssl/private/${MY_HOSTNAME}.pem
	fi
	if [ -e /etc/${servicename}/ssl/public/${MY_HOSTNAME}.crt ] ; then
		cp /etc/ssl/certs/ssl-cert-snakeoil.pem /etc/${servicename}/ssl/public/${MY_HOSTNAME}.crt
	fi
done

if [ -e /etc/haproxy/ssl/private/oci-pki-api.pem ] || [ -e /etc/haproxy/ssl/private/oci-pki-swiftproxy.pem ] ; then
	echo "===> Restarting haproxy"
	[ -e /etc/haproxy/ssl/private/oci-pki-api.pem ] && cp /etc/ssl/certs/oci-pki-api.pem /etc/haproxy/ssl/private/oci-pki-api.pem
	[ -e /etc/haproxy/ssl/private/oci-pki-swiftproxy.pem ] && cp /etc/ssl/certs/oci-pki-api.pem /etc/haproxy/ssl/private/oci-pki-swiftproxy.pem
	systemctl reload haproxy.service
fi

for servicename in aodh-api aodh-evaluator aodh-listener aodh-notifier \
		barbican-api \
		ceilometer-agent-notification ceilometer-polling \
		cinder-api cinder-backup cinder-scheduler cinder-volume \
		cloudkitty-api cloudkitty-processor \
		glance-api \
		gnocchi-api gnocchi-metricd gnocchi-statsd \
		heat-api heat-api-cfn heat-engine \
		keystone \
		magnum-api magnum-conductor \
		neutron-api neutron-dhcp-agent neutron-l3-agent neutron-metadata-agent neutron-metering-agent neutron-openvswitch-agent neutron-rpc-server \
		nova-api nova-api-metadata nova-compute nova-conductor nova-novncproxy \
		octavia-api octavia-health-manager octavia-housekeeping octavia-worker \
		panko-api \
		placement-api ; do
	if [ -x /etc/init.d/$servicename ] ; then
		echo "===> Restarting $servicename"
		systemctl stop $servicename
		sleep 2
		systemctl start $servicename
	fi
done
