68 lines
2.4 KiB
Bash
Executable File
68 lines
2.4 KiB
Bash
Executable File
#!/bin/bash -e
|
|
|
|
# Open up networking so that instances can route to the Internet (see
|
|
# bin/setup-br-ex for more networking setup, executed on microstack
|
|
# services start.)
|
|
sudo sysctl net.ipv4.ip_forward=1
|
|
|
|
# Create all of the databases
|
|
echo "Creating OpenStack Databases"
|
|
|
|
# Wait for MySQL to startup
|
|
while ! nc -z 10.20.20.1 3306; do sleep 0.1; done;
|
|
sleep 5
|
|
|
|
# Wait for rabbitmq to start
|
|
while ! nc -z 10.20.20.1 5672; do sleep 0.1; done;
|
|
|
|
for db in neutron nova nova_api nova_cell0 cinder glance keystone; do
|
|
echo "CREATE DATABASE IF NOT EXISTS ${db}; GRANT ALL PRIVILEGES ON ${db}.* TO '${db}'@'10.20.20.1' IDENTIFIED BY '${db}';" \
|
|
| mysql-start-client -u root
|
|
done
|
|
|
|
# Grant nova user access to cell0
|
|
echo "GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'10.20.20.1' IDENTIFIED BY 'nova';" | mysql-start-client -u root
|
|
|
|
# Endpoints from localhost -> 10.20.20.1
|
|
# TODO Rebuild database so that these are already set to 10.20.20.1,
|
|
# after lp:1824176 is addressed, and the process of building a new
|
|
# mysql.tar.xz is less fraught.
|
|
openstack endpoint list | grep localhost | while read line; do openstack endpoint set `echo $line | cut -d" " -f2` --url `echo $line | cut -d" " -f14 | sed 's/localhost/10.20.20.1/'`; done
|
|
|
|
# RabbitMQ
|
|
echo "Configuring RabbitMQ"
|
|
# Rabbitmq isn't always started when we run this. Wait for it to start.
|
|
while :;
|
|
do
|
|
grep "Starting broker... completed" ${SNAP_COMMON}/log/rabbitmq/startup_log && break
|
|
echo "waiting for rabbitmq to start" && sleep 1;
|
|
done
|
|
|
|
HOME=$SNAP_COMMON/lib/rabbitmq rabbitmqctl add_user openstack rabbitmq || :
|
|
HOME=$SNAP_COMMON/lib/rabbitmq rabbitmqctl set_permissions openstack ".*" ".*" ".*"
|
|
|
|
# Glance
|
|
echo "Waiting for glance to start."
|
|
while ! nc -z 10.20.20.1 9292; do sleep 0.1; done;
|
|
|
|
sleep 5
|
|
|
|
# Wait for identity service
|
|
while ! nc -z 10.20.20.1 5000; do sleep 0.1; done;
|
|
|
|
# Setup the cirros image, which is used by the launch app
|
|
openstack image show cirros || {
|
|
[ -f $SNAP_COMMON/images/cirros-0.4.0-x86_64-disk.img ] || {
|
|
mkdir -p $SNAP_COMMON/images
|
|
wget \
|
|
http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img \
|
|
-O ${SNAP_COMMON}/images/cirros-0.4.0-x86_64-disk.img
|
|
}
|
|
openstack image create \
|
|
--file ${SNAP_COMMON}/images/cirros-0.4.0-x86_64-disk.img \
|
|
--public --container-format=bare --disk-format=qcow2 cirros
|
|
}
|
|
|
|
# Wait for horizon
|
|
while ! nc -z 10.20.20.1 80; do sleep 0.1; done;
|