monasca-events-api/devstack/lib/utils.sh

67 lines
1.8 KiB
Bash

#!/bin/bash
# Copyright 2017 FUJITSU LIMITED
#
# 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.
_XTRACE_UTILS=$(set +o | grep xtrace)
set +o xtrace
# download_file
# $1 - url to download
# $2 - location where to save url to
#
# Download file only when it not exists or there is newer version of it.
#
# Uses global variables:
# - OFFLINE
# - DOWNLOAD_FILE_TIMEOUT
function download_file {
local url=$1
local file=$2
# If in OFFLINE mode check if file already exists
if [[ ${OFFLINE} == "True" ]] && [[ ! -f ${file} ]]; then
die $LINENO "You are running in OFFLINE mode but
the target file \"$file\" was not found"
fi
local curl_z_flag=""
if [[ -f "${file}" ]]; then
# If the file exists tell cURL to download only if newer version
# is available
curl_z_flag="-z $file"
fi
# yeah...downloading...devstack...hungry..om, om, om
local timeout=0
if [[ -n "${DOWNLOAD_FILE_TIMEOUT}" ]]; then
timeout=${DOWNLOAD_FILE_TIMEOUT}
fi
time_start "download_file"
_safe_permission_operation ${CURL_GET} -L $url --connect-timeout $timeout --retry 3 --retry-delay 5 -o $file $curl_z_flag
time_stop "download_file"
}
function configure_log_dir {
local logdir=$1
sudo mkdir -p $logdir
sudo chmod -R 0777 $logdir
}
$_XTRACE_UTILS