From 6c39ee3521f4bb30884b05775828d15b676efa6c Mon Sep 17 00:00:00 2001 From: Angus Salkeld Date: Fri, 23 Mar 2012 15:54:46 +1100 Subject: [PATCH] Add a openstack helper install script Signed-off-by: Angus Salkeld --- tools/openstack | 128 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100755 tools/openstack diff --git a/tools/openstack b/tools/openstack new file mode 100755 index 00000000..15ea8ef2 --- /dev/null +++ b/tools/openstack @@ -0,0 +1,128 @@ +#!/bin/bash + + +action=$1 +if [ -z "$action" ] +then + action="start" +fi + +function os_start() { + action=start + sudo systemctl $action qpidd.service mysqld.service + for svc in api registry + do + sudo systemctl $action openstack-glance-$svc.service + done + sudo dd if=/dev/zero of=/var/lib/nova/nova-volumes.img bs=1M seek=20k count=0 + sudo vgcreate nova-volumes $(sudo losetup --show -f /var/lib/nova/nova-volumes.img) + for svc in api objectstore compute network volume scheduler cert + do + sudo systemctl $action openstack-nova-$svc.service + done + sudo systemctl $action openstack-keystone.service +} + +function os_stop() { + action=stop + sudo systemctl $action openstack-keystone.service + for svc in api objectstore compute network volume scheduler cert + do + sudo systemctl $action openstack-nova-$svc.service + done + for svc in api registry + do + sudo systemctl $action openstack-glance-$svc.service + done +} + +function os_erase() { + sudo rm -f /var/lib/libvirt/qemu/save/instance-00000* + for iii in /usr/lib/systemd/system/openstack-*.service; do sudo systemctl stop $(basename $iii); done + sudo yum erase -y python-glance python-nova* python-keystone* openstack-swift* + + sudo systemctl start mysqld.service + mysql -u root -p -e 'drop database nova;' + mysql -u root -p -e 'drop database keystone;' + sudo vgchange -an nova-volumes + sudo losetup -d /dev/loop0 + sudo rm -f /var/lib/nova/nova-volumes.img + sudo rm -rf /etc/{glance,nova,swift,keystone,openstack-dashboard} /var/lib/{glance,nova,swift,keystone} /var/log/{glance,nova,swift,keystone} /var/run/{glance,nova,swift,keystone} + rm -f $HOME/.keystonerc +} + + + +function os_install() { + sudo yum install -y openstack-nova openstack-glance openstack-keystone + sudo systemctl start mysqld.service + sudo openstack-nova-db-setup + + os_start + sudo systemctl stop openstack-keystone.service + + sudo nova-manage user admin $USERNAME + sudo nova-manage project create hotproject $USERNAME + sudo nova-manage network create hotnet 192.168.155.0/24 1 256 --bridge=hotbr0 + + pushd $HOME/ + sudo nova-manage project zipfile hotproject $USERNAME + sudo chmod 600 nova.zip + sudo chown $USERNAME:$USERNAME nova.zip + popd + + mkdir -p $HOME/.openstack + pushd $HOME/.openstack + unzip ../nova.zip + rm ../nova.zip + . ./novarc + euca-add-keypair nova_key > nova_key.priv + chmod 600 nova* + popd + cd - + + sudo openstack-keystone-db-setup + + cat > $HOME/.openstack/keystonerc <