#!/bin/sh

set -e

PKGOS_VERBOSE=yes

set -x
if [ -z "${APTGET}" ] ; then
	APTGET="apt-get -o Dpkg::Options::=--force-confnew --allow-downgrades --allow-change-held-packages -y"
fi

${APTGET} install nova-placement-api

. ./osinstallrc
. /usr/share/openstack-pkg-tools/pkgos_func

mysql --execute="CREATE DATABASE novadb_cell0;"
mysql --execute="GRANT ALL PRIVILEGES ON novadb_cell0.* TO 'nova'@'localhost' IDENTIFIED BY '${RC_NOVA_SQL_PASS}';"
mysql --execute="GRANT ALL PRIVILEGES ON novadb_cell0.* TO 'nova'@'%' IDENTIFIED BY '${RC_NOVA_SQL_PASS}';"
set +x
pkgos_inifile set /etc/nova/nova.conf DEFAULT transport_url rabbit://${RC_RABIT_USER}:${RC_RABIT_PASS}@${RC_RABIT_HOST}

pkgos_inifile set /etc/nova/nova.conf placement os_region_name ${RC_KEYSTONE_REGION}
pkgos_inifile set /etc/nova/nova.conf placement auth_type v3password
pkgos_inifile set /etc/nova/nova.conf placement auth_url http://${RC_KEYSTONE_ENDPOINT_IP}:35357/v3
pkgos_inifile set /etc/nova/nova.conf placement project_name admin
pkgos_inifile set /etc/nova/nova.conf placement project_domain_name default
pkgos_inifile set /etc/nova/nova.conf placement username admin
pkgos_inifile set /etc/nova/nova.conf placement user_domain_name default
pkgos_inifile set /etc/nova/nova.conf placement password ${RC_KEYSTONE_ADMINPASS}
set -x
su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
su -s /bin/sh -c "nova-manage cell_v2 update_cell --cell_uuid 00000000-0000-0000-0000-000000000000 --database_connection mysql+pymysql://nova:${RC_NOVA_SQL_PASS}@localhost/novadb" nova
service nova-compute start || true
su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
for i in nova-api nova-consoleauth nova-scheduler nova-placement-api nova-compute ; do
	service $i stop || true
	sleep 1
	service $i start
done
su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova

for i in /etc/init.d/neutron* ; do
	$i stop
	sleep 1
	$i start
done
