-
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.
Merge pull request #14077 from owncloud/autotest-external-swift
[files_external] swift tests
- Loading branch information
Showing
10 changed files
with
276 additions
and
74 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
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
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
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
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
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
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 |
---|---|---|
@@ -0,0 +1,94 @@ | ||
#!/bin/bash | ||
# | ||
# ownCloud | ||
# | ||
# This script start a docker container to test the files_external tests | ||
# against. It will also change the files_external config to use the docker | ||
# container as testing environment. This is reverted in the stop step.W | ||
# | ||
# Set environment variable DEBUG to print config file | ||
# | ||
# @author Morris Jobke | ||
# @author Robin McCorkell | ||
# @copyright 2015 ownCloud | ||
|
||
if ! command -v docker >/dev/null 2>&1; then | ||
echo "No docker executable found - skipped docker setup" | ||
exit 0; | ||
fi | ||
|
||
echo "Docker executable found - setup docker" | ||
|
||
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-ceph.sh" ""` | ||
|
||
if [ -z "$thisFolder" ]; then | ||
thisFolder="." | ||
fi; | ||
|
||
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 --format="{{.NetworkSettings.IPAddress}}" $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/dockerContainerCeph.$EXECUTOR_NUMBER.swift | ||
|
||
echo -n "Waiting for ceph initialization" | ||
starttime=$(date +%s) | ||
# support for GNU netcat and BSD netcat | ||
while ! (nc -c -w 1 ${host} 80 </dev/null >&/dev/null \ | ||
|| nc -w 1 ${host} 80 </dev/null >&/dev/null); do | ||
sleep 1 | ||
echo -n '.' | ||
if (( $(date +%s) > starttime + 60 )); then | ||
echo | ||
echo "[ERROR] Waited 60 seconds, no response" >&2 | ||
exit 1 | ||
fi | ||
done | ||
echo | ||
sleep 1 | ||
|
||
cat > $thisFolder/config.swift.php <<DELIM | ||
<?php | ||
return array( | ||
'run'=>true, | ||
'url'=>'http://$host:$port/v2.0', | ||
'user'=>'$user', | ||
'tenant'=>'$tenant', | ||
'password'=>'$pass', | ||
'service_name'=>'$service', | ||
'bucket'=>'swift', | ||
'region' => '$region', | ||
); | ||
DELIM | ||
|
||
if [ -n "$DEBUG" ]; then | ||
cat $thisFolder/config.swift.php | ||
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
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 |
---|---|---|
@@ -0,0 +1,36 @@ | ||
#!/bin/bash | ||
# | ||
# ownCloud | ||
# | ||
# This script stops the docker container the files_external tests were run | ||
# against. It will also revert the config changes done in start step. | ||
# | ||
# @author Morris Jobke | ||
# @author Robin McCorkell | ||
# @copyright 2015 ownCloud | ||
|
||
if ! command -v docker >/dev/null 2>&1; then | ||
echo "No docker executable found - skipped docker stop" | ||
exit 0; | ||
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-ceph.sh" ""` | ||
|
||
if [ -z "$thisFolder" ]; then | ||
thisFolder="." | ||
fi; | ||
|
||
# stopping and removing docker containers | ||
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/dockerContainerCeph.$EXECUTOR_NUMBER.swift | ||
|
Oops, something went wrong.