-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Replace Swift Docker test with Ceph image
- Loading branch information
Robin McCorkell
committed
Sep 9, 2015
1 parent
9c38577
commit 3d9d47e
Showing
2 changed files
with
38 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,8 +9,8 @@ | |
# Set environment variable DEBUG to print config file | ||
# | ||
# @author Morris Jobke | ||
# @copyright 2015 Morris Jobke <[email protected]> | ||
# | ||
# @author Robin McCorkell | ||
# @copyright 2015 ownCloud | ||
|
||
if ! command -v docker >/dev/null 2>&1; then | ||
echo "No docker executable found - skipped docker setup" | ||
|
@@ -19,48 +19,64 @@ fi | |
|
||
echo "Docker executable found - setup docker" | ||
|
||
echo "Fetch recent morrisjobke/docker-swift-onlyone docker image" | ||
docker pull morrisjobke/docker-swift-onlyone | ||
docker_image=xenopathic/ceph-keystone | ||
|
||
echo "Fetch recent ${docker_image} docker image" | ||
docker pull ${docker_image} | ||
|
||
# retrieve current folder to place the config in the parent folder | ||
thisFolder=`echo $0 | replace "env/start-swift-morrisjobke.sh" ""` | ||
thisFolder=`echo $0 | replace "env/start-swift-ceph.sh" ""` | ||
|
||
if [ -z "$thisFolder" ]; then | ||
thisFolder="." | ||
fi; | ||
|
||
container=`docker run -d -e SWIFT_SET_PASSWORDS=true morrisjobke/docker-swift-onlyone` | ||
port=5001 | ||
|
||
user=test | ||
pass=testing | ||
tenant=testenant | ||
region=testregion | ||
service=testceph | ||
|
||
container=`docker run -d \ | ||
-e KEYSTONE_PUBLIC_PORT=${port} \ | ||
-e KEYSTONE_ADMIN_USER=${user} \ | ||
-e KEYSTONE_ADMIN_PASS=${pass} \ | ||
-e KEYSTONE_ADMIN_TENANT=${tenant} \ | ||
-e KEYSTONE_ENDPOINT_REGION=${region} \ | ||
-e KEYSTONE_SERVICE=${service} \ | ||
${docker_image}` | ||
|
||
host=`docker inspect $container | grep IPAddress | cut -d '"' -f 4` | ||
|
||
|
||
echo "swift container: $container" | ||
echo "${docker_image} container: $container" | ||
|
||
# put container IDs into a file to drop them after the test run (keep in mind that multiple tests run in parallel on the same host) | ||
echo $container >> $thisFolder/dockerContainerMorrisJobke.$EXECUTOR_NUMBER.swift | ||
echo $container >> $thisFolder/dockerContainerCeph.$EXECUTOR_NUMBER.swift | ||
|
||
# TODO find a way to determine the successful initialization inside the docker container | ||
echo "Waiting 15 seconds for swift initialization ... " | ||
sleep 15 | ||
|
||
user=test:tester | ||
password=`docker logs $container | grep "user_test_tester " | cut -d " " -f3` | ||
echo "Waiting 20 seconds for ceph initialization ... " | ||
sleep 20 | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong. |
||
|
||
cat > $thisFolder/config.swift.php <<DELIM | ||
<?php | ||
return array( | ||
'run'=>true, | ||
'url'=>'http://$host:8080/auth/v1.0', | ||
'url'=>'http://$host:$port/v2.0', | ||
'user'=>'$user', | ||
'key'=>'$password', | ||
'tenant'=>'$tenant', | ||
'password'=>'$pass', | ||
'service_name'=>'$service', | ||
'bucket'=>'swift', | ||
'region' => 'DFW', | ||
'region' => '$region', | ||
); | ||
DELIM | ||
|
||
if [ -n "$DEBUG" ]; then | ||
cat $thisFolder/config.swift.php | ||
cat $thisFolder/dockerContainerMorrisJobke.$EXECUTOR_NUMBER.swift | ||
cat $thisFolder/dockerContainerCeph.$EXECUTOR_NUMBER.swift | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,8 +6,8 @@ | |
# against. It will also revert the config changes done in start step. | ||
# | ||
# @author Morris Jobke | ||
# @copyright 2015 Morris Jobke <[email protected]> | ||
# | ||
# @author Robin McCorkell | ||
# @copyright 2015 ownCloud | ||
|
||
if ! command -v docker >/dev/null 2>&1; then | ||
echo "No docker executable found - skipped docker stop" | ||
|
@@ -17,20 +17,20 @@ fi | |
echo "Docker executable found - stop and remove docker containers" | ||
|
||
# retrieve current folder to remove the config from the parent folder | ||
thisFolder=`echo $0 | replace "env/stop-swift-morrisjobke.sh" ""` | ||
thisFolder=`echo $0 | replace "env/stop-swift-ceph.sh" ""` | ||
|
||
if [ -z "$thisFolder" ]; then | ||
thisFolder="." | ||
fi; | ||
|
||
# stopping and removing docker containers | ||
for container in `cat $thisFolder/dockerContainerMorrisJobke.$EXECUTOR_NUMBER.swift`; do | ||
for container in `cat $thisFolder/dockerContainerCeph.$EXECUTOR_NUMBER.swift`; do | ||
echo "Stopping and removing docker container $container" | ||
# kills running container and removes it | ||
docker rm -f $container | ||
done; | ||
|
||
# cleanup | ||
rm $thisFolder/config.swift.php | ||
rm $thisFolder/dockerContainerMorrisJobke.$EXECUTOR_NUMBER.swift | ||
rm $thisFolder/dockerContainerCeph.$EXECUTOR_NUMBER.swift | ||
|
Do you know the way it is done in the autotest.sh? I would prefer that way, because it is actually waiting for a proper startup message from the container instead of some random amount of time ;)