458b8f6692
Change-Id: I7b328da18ef10840baf8454e2fb3abaeeb542068
125 lines
4.0 KiB
Smarty
125 lines
4.0 KiB
Smarty
#!/bin/bash
|
|
|
|
{{/*
|
|
Copyright 2017 The Openstack-Helm Authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/}}
|
|
|
|
set -ex
|
|
|
|
#NOTE: This function tests keystone based auth. It uses ceph_config_helper
|
|
#container image that has openstack and ceph installed
|
|
function rgw_keystone_bucket_validation ()
|
|
{
|
|
echo "function: rgw_keystone_bucket_validation"
|
|
openstack service list
|
|
|
|
echo "--> creating openstack_test_container container"
|
|
openstack container create 'openstack_test_container'
|
|
|
|
echo "--> rgw bucket list"
|
|
radosgw-admin bucket list
|
|
|
|
all_buckets_stats=$(radosgw-admin bucket stats --format json)
|
|
bucket_stat=$(echo $all_buckets_stats | jq -c '.[] | select(.bucket | contains("openstack_test_container"))')
|
|
if [[ -z ${bucket_stat} ]]; then
|
|
echo "--> rgw bucket openstack_test_container not found"
|
|
exit 1
|
|
else
|
|
echo "--> rgw bucket openstack_test_container found"
|
|
|
|
echo "--> deleting openstack_test_container container"
|
|
openstack container delete openstack_test_container
|
|
|
|
echo "--> bucket list after deleting container"
|
|
radosgw-admin bucket list
|
|
fi
|
|
}
|
|
|
|
#NOTE: This function tests s3 based auto. It uses ceph_rgw container image which has
|
|
# s3cmd util install
|
|
function rgw_s3_bucket_validation ()
|
|
{
|
|
echo "function: rgw_s3_bucket_validation"
|
|
|
|
bucket=s3://rgw-test-bucket
|
|
create_bucket_output=$(s3cmd mb $bucket --host=$RGW_HOST --access_key=$S3_ADMIN_ACCESS_KEY --secret_key=$S3_ADMIN_SECRET_KEY --no-encrypt --no-check-certificate)
|
|
|
|
if [ $? -eq 0 ]; then
|
|
echo "Bucket $bucket created"
|
|
echo "Hello world!" > /tmp/hello.txt
|
|
|
|
s3cmd put /tmp/hello.txt $bucket --host=$RGW_HOST --access_key=$S3_ADMIN_ACCESS_KEY --secret_key=$S3_ADMIN_SECRET_KEY --no-encrypt --no-check-certificate
|
|
if [ $? -ne 0 ]; then
|
|
echo "Error during s3cmd execution"
|
|
exit 1
|
|
else
|
|
echo "File uploaded to bucket"
|
|
fi
|
|
|
|
s3cmd get s3://rgw-test-bucket/hello.txt -> /tmp/output.txt --host=$RGW_HOST --access_key=$S3_ADMIN_ACCESS_KEY --secret_key=$S3_ADMIN_SECRET_KEY --no-encrypt --no-check-certificate
|
|
if [ $? -ne 0 ]; then
|
|
echo "Error during s3cmd execution"
|
|
exit 1
|
|
else
|
|
echo "File downloaded from bucket"
|
|
fi
|
|
|
|
content=$(cat /tmp/output.txt)
|
|
echo $content
|
|
if [ "Hello" == "${content}" ]; then
|
|
echo "Content matches from downloaded file using s3cmd"
|
|
fi
|
|
|
|
s3cmd ls $bucket --host=$RGW_HOST --access_key=$S3_ADMIN_ACCESS_KEY --secret_key=$S3_ADMIN_SECRET_KEY --no-encrypt --no-check-certificate
|
|
if [ $? -ne 0 ]; then
|
|
echo "Error during s3cmd execution"
|
|
exit 1
|
|
fi
|
|
|
|
s3cmd del s3://rgw-test-bucket/hello.txt --host=$RGW_HOST --access_key=$S3_ADMIN_ACCESS_KEY --secret_key=$S3_ADMIN_SECRET_KEY --no-encrypt --no-check-certificate
|
|
if [ $? -ne 0 ]; then
|
|
echo "Error during s3cmd execution"
|
|
exit 1
|
|
else
|
|
echo "File from bucket is deleted"
|
|
fi
|
|
|
|
s3cmd del --recursive --force $bucket --host=$RGW_HOST --access_key=$S3_ADMIN_ACCESS_KEY --secret_key=$S3_ADMIN_SECRET_KEY --no-encrypt --no-check-certificate
|
|
if [ $? -ne 0 ]; then
|
|
echo "Error during s3cmd execution"
|
|
exit 1
|
|
else
|
|
echo "Bucket is deleted"
|
|
fi
|
|
|
|
else
|
|
echo "Error during s3cmd execution"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
if [ {{ .Values.conf.rgw_ks.enabled }} == true ];
|
|
then
|
|
echo "--> Keystone is enabled. Calling function to test keystone based auth "
|
|
rgw_keystone_bucket_validation
|
|
fi
|
|
|
|
if [ {{ .Values.conf.rgw_s3.enabled }} == true ];
|
|
then
|
|
echo "--> S3 is enabled. Calling function to test S2 based auth "
|
|
rgw_s3_bucket_validation
|
|
fi
|
|
|