2015-03-04 04:18:29 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
2015-05-01 16:19:44 +00:00
|
|
|
# Copyright 2015 The Kubernetes Authors All rights reserved.
|
2015-03-04 04:18:29 +00:00
|
|
|
#
|
|
|
|
# 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.
|
|
|
|
|
2015-06-06 17:19:37 +00:00
|
|
|
|
|
|
|
apt-get update
|
|
|
|
apt-get install --yes curl
|
|
|
|
|
2015-03-04 04:18:29 +00:00
|
|
|
# Retry a download until we get it.
|
|
|
|
#
|
|
|
|
# $1 is the URL to download
|
|
|
|
download-or-bust() {
|
|
|
|
local -r url="$1"
|
|
|
|
local -r file="${url##*/}"
|
|
|
|
rm -f "$file"
|
|
|
|
until [[ -e "${1##*/}" ]]; do
|
|
|
|
echo "Downloading file ($1)"
|
|
|
|
curl --ipv4 -Lo "$file" --connect-timeout 20 --retry 6 --retry-delay 10 "$1"
|
|
|
|
md5sum "$file"
|
|
|
|
done
|
|
|
|
}
|
2015-05-12 18:46:17 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Install salt from GCS. See README.md for instructions on how to update these
|
|
|
|
# debs.
|
|
|
|
install-salt() {
|
|
|
|
local salt_mode="$1"
|
|
|
|
|
|
|
|
if dpkg -s salt-minion &>/dev/null; then
|
|
|
|
echo "== SaltStack already installed, skipping install step =="
|
|
|
|
return
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo "== Refreshing package database =="
|
|
|
|
until apt-get update; do
|
|
|
|
echo "== apt-get update failed, retrying =="
|
|
|
|
echo sleep 5
|
|
|
|
done
|
|
|
|
|
|
|
|
mkdir -p /var/cache/salt-install
|
|
|
|
cd /var/cache/salt-install
|
|
|
|
|
|
|
|
DEBS=(
|
|
|
|
libzmq3_3.2.3+dfsg-1~bpo70~dst+1_amd64.deb
|
|
|
|
python-zmq_13.1.0-1~bpo70~dst+1_amd64.deb
|
|
|
|
salt-common_2014.1.13+ds-1~bpo70+1_all.deb
|
|
|
|
)
|
|
|
|
if [[ "${salt_mode}" == "master" ]]; then
|
|
|
|
DEBS+=( salt-master_2014.1.13+ds-1~bpo70+1_all.deb )
|
|
|
|
fi
|
|
|
|
DEBS+=( salt-minion_2014.1.13+ds-1~bpo70+1_all.deb )
|
|
|
|
URL_BASE="https://storage.googleapis.com/kubernetes-release/salt"
|
|
|
|
|
|
|
|
for deb in "${DEBS[@]}"; do
|
|
|
|
if [ ! -e "${deb}" ]; then
|
|
|
|
download-or-bust "${URL_BASE}/${deb}"
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
for deb in "${DEBS[@]}"; do
|
|
|
|
echo "== Installing ${deb}, ignore dependency complaints (will fix later) =="
|
|
|
|
dpkg --skip-same-version --force-depends -i "${deb}"
|
|
|
|
done
|
|
|
|
|
|
|
|
# This will install any of the unmet dependencies from above.
|
|
|
|
echo "== Installing unmet dependencies =="
|
|
|
|
until apt-get install -f -y; do
|
|
|
|
echo "== apt-get install failed, retrying =="
|
|
|
|
echo sleep 5
|
|
|
|
done
|
|
|
|
|
|
|
|
# Log a timestamp
|
|
|
|
echo "== Finished installing Salt =="
|
|
|
|
}
|