
As the installation of cinder volumes section is separated to another node (compute node for now) which may not be the same node as the node running controller side of cinder's services, the tests should also be moved to the appropriate location. Change-Id: I2c2e6e64807e026783881197d62243b4751f7f41
104 lines
3.2 KiB
Bash
Executable File
104 lines
3.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
TOP_DIR=$(cd $(dirname "$0")/.. && pwd)
|
|
source "$TOP_DIR/config/paths"
|
|
source "$CONFIG_DIR/credentials"
|
|
source "$CONFIG_DIR/openstack"
|
|
source "$LIB_DIR/functions.guest"
|
|
source "$CONFIG_DIR/admin-openstackrc.sh"
|
|
exec_logfile
|
|
|
|
indicate_current_auto
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Set up Block Storage service (cinder).
|
|
#------------------------------------------------------------------------------
|
|
|
|
echo "Installing cinder."
|
|
|
|
sudo apt-get install -y lvm2
|
|
|
|
echo "Configuring LVM physical and logical volumes."
|
|
cinder_loop_path=/var/lib/cinder-volumes
|
|
cinder_loop_dev=/dev/loop2
|
|
sudo dd if=/dev/zero of=$cinder_loop_path bs=1 count=0 seek=4G
|
|
sudo losetup $cinder_loop_dev $cinder_loop_path
|
|
sudo pvcreate $cinder_loop_dev
|
|
sudo vgcreate cinder-volumes $cinder_loop_dev
|
|
|
|
# Tell upstart to run losetup again when the system is rebooted
|
|
cat << UPSTART | sudo tee "/etc/init/cinder-losetup.conf"
|
|
description "Set up loop device for cinder."
|
|
|
|
start on mounted MOUNTPOINT=/
|
|
task
|
|
exec /sbin/losetup $cinder_loop_dev $cinder_loop_path
|
|
UPSTART
|
|
|
|
sudo apt-get install -y cinder-volume
|
|
|
|
function get_database_url {
|
|
local db_user=$(service_to_db_user cinder)
|
|
local db_password=$(service_to_db_password cinder)
|
|
local database_host=controller-mgmt
|
|
|
|
echo "mysql://$db_user:$db_password@$database_host/cinder"
|
|
}
|
|
|
|
database_url=$(get_database_url)
|
|
|
|
echo "Configuring cinder."
|
|
|
|
echo "Setting database connection: $database_url."
|
|
iniset_sudo /etc/cinder/cinder.conf database connection "$database_url"
|
|
|
|
cinder_admin_user=$(service_to_user_name cinder)
|
|
cinder_admin_password=$(service_to_user_password cinder)
|
|
|
|
echo "Configuring cinder to use keystone for authentication."
|
|
|
|
conf=/etc/cinder/cinder.conf
|
|
echo "Configuring $conf."
|
|
|
|
# Configure [keystone_authtoken] section.
|
|
iniset_sudo $conf keystone_authtoken auth_uri "http://controller-mgmt:5000"
|
|
iniset_sudo $conf keystone_authtoken auth_host controller-mgmt
|
|
iniset_sudo $conf keystone_authtoken auth_port 35357
|
|
iniset_sudo $conf keystone_authtoken auth_protocol http
|
|
iniset_sudo $conf keystone_authtoken admin_tenant_name "$SERVICE_TENANT_NAME"
|
|
iniset_sudo $conf keystone_authtoken admin_user "$cinder_admin_user"
|
|
iniset_sudo $conf keystone_authtoken admin_password "$cinder_admin_password"
|
|
|
|
# Configure [DEFAULT] section.
|
|
iniset_sudo $conf DEFAULT rpc_backend cinder.openstack.common.rpc.impl_kombu
|
|
iniset_sudo $conf DEFAULT rabbit_host controller-mgmt
|
|
iniset_sudo $conf DEFAULT rabbit_port 5672
|
|
iniset_sudo $conf DEFAULT rabbit_userid guest
|
|
iniset_sudo $conf DEFAULT rabbit_password "$RABBIT_PASSWORD"
|
|
iniset_sudo $conf DEFAULT glance_host controller-mgmt
|
|
|
|
echo "Restarting cinder service."
|
|
sudo service cinder-volume restart
|
|
sudo service tgt restart
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Verify the Block Storage installation
|
|
#------------------------------------------------------------------------------
|
|
|
|
echo "Waiting for cinder to start."
|
|
until cinder list >/dev/null 2>&1; do
|
|
sleep 1
|
|
done
|
|
|
|
echo "cinder create --display-name labsVolume 1"
|
|
cinder create --display-name labsVolume 1
|
|
|
|
echo "cinder list"
|
|
cinder list
|
|
|
|
echo "cinder delete labsVolume"
|
|
cinder delete labsVolume
|
|
|
|
echo "cinder list"
|
|
cinder list
|
|
|