lib/chef/knife/bootstrap/_omnibus.sh in knife-server-1.0.0 vs lib/chef/knife/bootstrap/_omnibus.sh in knife-server-1.0.1
- old
+ new
@@ -28,28 +28,47 @@
rpm_filename() {
filetype="rpm"
filename="chef-${version}.${machine}.rpm"
}
+failed_download() {
+ warn "We encountered an error downloading the package."
+ echo
+ exit 5
+}
+
+perform_download() {
+ case "$1" in
+ wget)
+ wget -O "$2" "$3" 2>/tmp/stderr || failed_download
+ ;;
+ curl)
+ curl -L "$3" > "$2" || failed_download
+ ;;
+ esac
+}
+
download_package() {
if [ -f "/opt/chef-server/bin/chef-server-ctl" ] ; then
info "Chef Server detected in /opt/chef-server, skipping download"
return 0
fi
local url="$(package_url)"
banner "Downloading Chef Server package from $url to $tmp_dir/$filename"
+
if exists wget;
then
- wget -O "$tmp_dir/$filename" $url 2>/tmp/stderr
+ perform_download wget "$tmp_dir/$filename" $url
elif exists curl;
then
- curl -L $url > "$tmp_dir/$filename"
+ perform_download curl "$tmp_dir/$filename" $url
else
warn "Cannot find wget or curl - cannot install Chef Server!"
exit 5
fi
+
info "Download complete"
}
install_package() {
if [ -f "/opt/chef-server/bin/chef-server-ctl" ] ; then