snap-cinder/tests/cinder.sh
Pete Vander Giessen 7a98693095 Added snapstack tests.
We now test the cinder snap in the middle of a deployed openstack
environment.

Change-Id: I10ed4d67f96caef5623d9c411ef55946c0bfd216
2017-08-15 16:08:21 +00:00

63 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
set -ex
DEBIAN_FRONTEND='noninteractive' sudo -E apt install --yes tgt
sudo mysql -u root << EOF
CREATE DATABASE IF NOT EXISTS cinder;
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' \
IDENTIFIED BY 'cinder';
EOF
source $BASE_DIR/admin-openrc
while sudo [ ! -d /var/snap/cinder/common/etc/cinder/ ]; do sleep 0.1; done;
sudo cp -r $BASE_DIR/etc/snap-cinder/cinder/* /var/snap/cinder/common/etc/
sudo cp -r $BASE_DIR/etc/snap-cinder/tgt/* /etc/tgt/
openstack user show cinder || {
openstack user create --domain default --password cinder cinder
openstack role add --project service --user cinder admin
}
openstack service show volumev2 || {
openstack service create --name cinderv2 \
--description "OpenStack Block Storage" volumev2
for endpoint in internal admin public; do
openstack endpoint create --region RegionOne \
volumev2 $endpoint http://localhost:8776/v2/%\(project_id\)s || :
done
}
openstack service show volumev3 || {
openstack service create --name cinderv3 \
--description "OpenStack Block Storage" volumev3
for endpoint in internal admin public; do
openstack endpoint create --region RegionOne \
volumev3 $endpoint http://localhost:8776/v3/%\(project_id\)s || :
done
}
# Manually define alias if snap isn't installed from snap store.
# Otherwise, snap store defines this alias automatically.
snap aliases cinder | grep cinder-manage || sudo snap alias cinder.manage cinder-manage
sudo cinder-manage db sync
# Create a file-based loopback device with the cinder volume group on it
if [ ! -e /var/cinder/cinder-volumes-file ]; then
sudo mkdir -p /var/cinder
sudo truncate -s 4096M /var/cinder/cinder-volumes-file
loop_dev=$(sudo losetup -f --show /var/cinder/cinder-volumes-file)
sudo vgcreate cinder-volumes $loop_dev
sudo vgs cinder-volumes
fi
sudo systemctl restart tgt
sudo systemctl restart snap.cinder.*
while ! nc -z localhost 8776; do sleep 0.1; done;