Skip to content
Snippets Groups Projects

Add initial attempt at S3 geotiff reading

Merged David Hoese requested to merge feature-s3-geotiffs into master
Files
8
+ 16
4
@@ -90,10 +90,11 @@ start_postgres() {
start_minio() {
base_dir=$1
docker run -d --rm --network ${NETWORK_NAME} -p 9000:9000 -p 9001:9001 --name ${MINIO_SERVER_NAME} --user ${UID}:${UID} -v ${base_dir}:/data minio/minio server /data --console-address ":9001"
base_minio_dir="$1/minio_base"
mkdir -p "${base_minio_dir}"
docker run -d --rm --network ${NETWORK_NAME} -p 9000:9000 -p 9001:9001 --name ${MINIO_SERVER_NAME} --user ${UID}:${UID} -v ${base_minio_dir}:/data minio/minio server /data --console-address ":9001"
create_status=$?
debug "Sleeping for 5 seconds for MinIO to start up..."
docker run --rm -d -v /tmp:/tmp --network ${NETWORK_NAME} --entrypoint=/bin/sh minio/mc "mc alias set test http://test-minio-server:9000 ${AWS_ACCESS_KEY_ID} ${AWS_SECRET_ACCESS_KEY} --api s3v4 --path off; mc admin trace test >> /tmp/minio_trace.log" &
sleep 5
return $create_status
}
@@ -199,7 +200,7 @@ EOF
}
create_fake_geotiff() {
bucket_name="g16_abi_radf_l1b_C01"
bucket_name="g16-abi-radf-l1b-c01"
docker exec -i test bash -c "mkdir -p /data/${bucket_name}; chmod -R a+rwX /data/${bucket_name}"
gtiff_fn="${bucket_name}/${C01_GTIFF_NAME}"
docker exec -i test python3 <<EOF
@@ -218,6 +219,16 @@ EOF
return $creation_status
}
create_fake_s3_geotiff() {
fn=$(create_fake_geotiff)
gtiff_fn=$(basename $fn)
bucket_name=$(basename $(dirname $fn))
aws s3api create-bucket --endpoint-url "http://localhost:9000" --bucket "${bucket_name}" 1>&2
aws s3 cp --endpoint-url "http://localhost:9000" "${fn}" s3://${bucket_name}/ 1>&2
echo "${bucket_name}/${gtiff_fn}"
}
curl_index() {
debug "Starting curl basic request..."
curl --fail -sS --max-time 5 "http://localhost:8888/" >/dev/null
@@ -247,6 +258,7 @@ curl_layer_times() {
curl_empty_tile() {
debug "Starting curl basic mapfile request for non-existent tile..."
# NOTE: The time doesn't actually exist and no image data is available. A blank image should be returned
# docker exec -it test bash
curl --fail -sS -o "empty_tile.png" "http://localhost:8888/wms/g16/abi/radf/l1b?VERSION=1.1.1&REQUEST=GetMap&SERVICE=WMS&STYLES=&BBOX=-2500000%2c-2500000%2c2500000%2c2500000&WIDTH=256&HEIGHT=256&FORMAT=rgba&SRS=EPSG%3a930916&LAYERS=C01&TIME=2022-04-20T16:00:12Z" >/dev/null
check_image_content "empty_tile.png" 1
}
@@ -332,7 +344,7 @@ run_s3_postgres_tests() {
start_postgres
start_minio "${PWD}"
start_s3_pg_test_container
gtiff_fn="/vsis3/$(create_fake_geotiff)"
gtiff_fn="/vsis3/$(create_fake_s3_geotiff)"
add_postgres_projections
add_postgres_tables
add_postgres_content "${gtiff_fn}"
Loading