Add packages download in prepare script to save build time

prepare script will run when nodepool update test slave image,
so when install script runs, all the big packages are in place.

Change-Id: I3baabee2833d9db115fd4c1c929a1074113f30fa
This commit is contained in:
zhaoxinyu 2014-02-19 03:01:06 +00:00
parent d5c2d5eedb
commit 203a167ce1
3 changed files with 98 additions and 26 deletions

View File

@ -6,7 +6,11 @@ sudo mkdir -p /root/backup/chef
sudo rpm -q chef-server sudo rpm -q chef-server
if [[ "$?" != "0" ]]; then if [[ "$?" != "0" ]]; then
sudo rpm -Uvh $CHEF_SRV if [[ ! -e /tmp/chef-server-11.0.8-1.el6.${IMAGE_ARCH}.rpm ]]; then
sudo rpm -Uvh $CHEF_SRV
else
sudo rpm -Uvh /tmp/chef-server-11.0.8-1.el6.${IMAGE_ARCH}.rpm
fi
if [[ "$?" != "0" ]]; then if [[ "$?" != "0" ]]; then
echo "failed to rpm install $CHEF_SRV" echo "failed to rpm install $CHEF_SRV"
exit 1 exit 1

View File

@ -191,18 +191,26 @@ fi
# download packages # download packages
cd /var/lib/cobbler/repo_mirror/ppa_repo/ cd /var/lib/cobbler/repo_mirror/ppa_repo/
sudo wget -c --progress=bar:force -O chef-11.8.0-1.el6.${IMAGE_ARCH}.rpm http://opscode-omnibus-packages.s3.amazonaws.com/el/${IMAGE_VERSION_MAJOR}/${IMAGE_ARCH}/chef-11.8.0-1.el6.${IMAGE_ARCH}.rpm ppa_repo_packages="ntp-4.2.6p5-1.el6.${IMAGE_TYPE,,}.$IMAGE_ARCH.rpm
openssh-clients-5.3p1-94.el6.${IMAGE_ARCH}.rpm
sudo wget -c --progress=bar:force -O ntp-4.2.6p5-1.el6.${IMAGE_TYPE}.$IMAGE_ARCH.rpm ftp://rpmfind.net/linux/${IMAGE_TYPE,,}/${IMAGE_VERSION}/os/${IMAGE_ARCH}/Packages/ntp-4.2.6p5-1.el6.${IMAGE_TYPE,,}.${IMAGE_ARCH}.rpm iproute-2.6.32-31.el6.${IMAGE_ARCH}.rpm
wget-1.12-1.8.el6.${IMAGE_ARCH}.rpm
sudo wget -c --progress=bar:force -O openssh-clients-5.3p1-94.1.el6.${IMAGE_ARCH}.rpm http://vault.${IMAGE_TYPE,,}.org/${IMAGE_VERSION}/os/Source/SPackages/openssh-5.3p1-94.el6.src.rpm ntpdate-4.2.6p5-1.el6.${IMAGE_TYPE,,}.${IMAGE_ARCH}.rpm"
for f in $ppa_repo_packages
sudo wget -c --progress=bar:force -O iproute-2.6.32-31.el6.${IMAGE_ARCH}.rpm ftp://rpmfind.net/linux/${IMAGE_TYPE,,}/${IMAGE_VERSION_MAJOR}/os/${IMAGE_ARCH}/Packages/iproute-2.6.32-31.el6.${IMAGE_ARCH}.rpm do
if [[ ! -e /tmp/$f ]]; then
sudo wget -c --progress=bar:force -O wget-1.12-1.8.el6.${IMAGE_ARCH}.rpm ftp://rpmfind.net/linux/${IMAGE_TYPE,,}/${IMAGE_VERSION_MAJOR}/os/${IMAGE_ARCH}/Packages/wget-1.12-1.8.el6.${IMAGE_ARCH}.rpm sudo wget -c --progress=bar:force -O /tmp/$f ftp://rpmfind.net/linux/${IMAGE_TYPE,,}/${IMAGE_VERSION_MAJOR}/os/${IMAGE_ARCH}/Packages/$f
else
sudo wget -c --progress=bar:force -O ntpdate-4.2.6p5-1.el6.${IMAGE_TYPE}.${IMAGE_ARCH}.rpm ftp://rpmfind.net/linux/${IMAGE_TYPE,,}/${IMAGE_VERSION_MAJOR}/os/${IMAGE_ARCH}/Packages/ntpdate-4.2.6p5-1.el6.${IMAGE_TYPE,,}.${IMAGE_ARCH}.rpm echo "$f already exist"
fi
sudo cp /tmp/$f /var/lib/cobbler/repo_mirror/ppa_repo/
done
if [[ ! -e /tmp/chef-11.8.0-1.el6.${IMAGE_ARCH}.rpm ]]; then
sudo wget -c --progress=bar:force -O /tmp/chef-11.8.0-1.el6.${IMAGE_ARCH}.rpm http://opscode-omnibus-packages.s3.amazonaws.com/el/${IMAGE_VERSION_MAJOR}/${IMAGE_ARCH}/chef-11.8.0-1.el6.${IMAGE_ARCH}.rpm
else
echo "chef-11.8.0-1.el6.${IMAGE_ARCH}.rpm already exists"
fi
sudo cp /tmp/chef-11.8.0-1.el6.${IMAGE_ARCH}.rpm /var/lib/cobbler/repo_mirror/ppa_repo/
cd .. cd ..
sudo createrepo ppa_repo sudo createrepo ppa_repo
if [[ "$?" != "0" ]]; then if [[ "$?" != "0" ]]; then
@ -216,14 +224,18 @@ sudo cobbler reposync
# import cobbler distro # import cobbler distro
sudo mkdir -p /var/lib/cobbler/iso sudo mkdir -p /var/lib/cobbler/iso
sudo wget -c --progress=bar:force -O /var/lib/cobbler/iso/${IMAGE_NAME}-${IMAGE_ARCH}.iso "$IMAGE_SOURCE" if [[ ! -e /tmp/${IMAGE_NAME}-${IMAGE_ARCH}.iso ]]; then
if [[ "$?" != "0" ]]; then sudo wget -c --progress=bar:force -O /tmp/${IMAGE_NAME}-${IMAGE_ARCH}.iso "$IMAGE_SOURCE"
echo "failed to download images $IMAGE_SOURCE" if [[ "$?" != "0" ]]; then
exit 1 echo "failed to download images $IMAGE_SOURCE"
else exit 1
echo "$IMAGE_SOURCE is downloaded" else
echo "$IMAGE_SOURCE is downloaded"
fi
else
echo "${IMAGE_NAME}-${IMAGE_ARCH}.iso already exists"
fi fi
ls /var/lib/cobbler/iso sudo cp /tmp/${IMAGE_NAME}-${IMAGE_ARCH}.iso /var/lib/cobbler/iso/
sudo mkdir -p /mnt/${IMAGE_NAME}-${IMAGE_ARCH} sudo mkdir -p /mnt/${IMAGE_NAME}-${IMAGE_ARCH}
if [ $(mount | grep -c "/mnt/${IMAGE_NAME}-${IMAGE_ARCH} ") -eq 0 ]; then if [ $(mount | grep -c "/mnt/${IMAGE_NAME}-${IMAGE_ARCH} ") -eq 0 ]; then
sudo mount -o loop /var/lib/cobbler/iso/${IMAGE_NAME}-${IMAGE_ARCH}.iso /mnt/${IMAGE_NAME}-${IMAGE_ARCH} sudo mount -o loop /var/lib/cobbler/iso/${IMAGE_NAME}-${IMAGE_ARCH}.iso /mnt/${IMAGE_NAME}-${IMAGE_ARCH}

View File

@ -51,13 +51,69 @@ else
copylocal2dir $ADAPTER_SOURCE $ADAPTER_HOME copylocal2dir $ADAPTER_SOURCE $ADAPTER_HOME
fi fi
# install js mvc package # download chef-server package
wget -c --progress=bar:force -O /tmp/$JS_MVC.zip http://github.com/downloads/bitovi/javascriptmvc/$JS_MVC.zip if [[ -f /tmp/chef-server-11.0.8-1.el6.${IMAGE_ARCH}.rpm ]]; then
if [[ "$?" != "0" ]]; then echo "chef-server-11.0.8-1.el6.${IMAGE_ARCH}.rpm already exists"
echo "failed to download $JS_MVC"
exit 1
else else
echo "successfully download $JS_MVC" wget -c --progress=bar:force -O /tmp/chef-server-11.0.8-1.el6.${IMAGE_ARCH}.rpm $CHEF_SRV
if [[ "$?" != "0" ]]; then
echo "failed to download chef-server-11.0.8-1.el6.${IMAGE_ARCH}.rpm"
exit 1
else
echo "successfully download chef-server-11.0.8-1.el6.${IMAGE_ARCH}.rpm"
fi
fi
# download centos image
if [[ -f /tmp/${IMAGE_NAME}-${IMAGE_ARCH}.iso ]]; then
echo "/tmp/${IMAGE_NAME}-${IMAGE_ARCH}.iso already exists"
else
sudo wget -c --progress=bar:force -O /tmp/${IMAGE_NAME}-${IMAGE_ARCH}.iso "$IMAGE_SOURCE"
if [[ "$?" != "0" ]]; then
echo "failed to download ${IMAGE_NAME}-${IMAGE_ARCH}.iso"
exit 1
else
echo "successfully download ${IMAGE_NAME}-${IMAGE_ARCH}.iso"
fi
fi
# download ppa_repo packages
ppa_repo_packages="ntp-4.2.6p5-1.el6.${IMAGE_TYPE,,}.$IMAGE_ARCH.rpm
openssh-clients-5.3p1-94.el6.${IMAGE_ARCH}.rpm
iproute-2.6.32-31.el6.${IMAGE_ARCH}.rpm
wget-1.12-1.8.el6.${IMAGE_ARCH}.rpm
ntpdate-4.2.6p5-1.el6.${IMAGE_TYPE,,}.${IMAGE_ARCH}.rpm"
for f in $ppa_repo_packages
do
if [ -f /tmp/$f ]; then
echo "$f already exists"
else
sudo wget -c --progress=bar:force -O /tmp/$f ftp://rpmfind.net/linux/${IMAGE_TYPE,,}/${IMAGE_VERSION_MAJOR}/os/${IMAGE_ARCH}/Packages/$f
if [[ "$?" != "0" ]]; then
echo "fail to download $f"
else
echo "successfully download $f"
fi
fi
done
if [[ ! -e /tmp/chef-11.8.0-1.el6.${IMAGE_ARCH}.rpm ]]; then
sudo wget -c --progress=bar:force -O /tmp/chef-11.8.0-1.el6.${IMAGE_ARCH}.rpm http://opscode-omnibus-packages.s3.amazonaws.com/el/${IMAGE_VERSION_MAJOR}/${IMAGE_ARCH}/chef-11.8.0-1.el6.${IMAGE_ARCH}.rpm
else
echo "chef-11.8.0-1.el6.${IMAGE_ARCH}.rpm already exists"
fi
# install js mvc package
if [[ -f /tmp/$JS_MVC.zip ]]; then
echo "$JS_MVC.zip already exists"
else
wget -c --progress=bar:force -O /tmp/$JS_MVC.zip http://github.com/downloads/bitovi/javascriptmvc/$JS_MVC.zip
if [[ "$?" != "0" ]]; then
echo "failed to download $JS_MVC"
exit 1
else
echo "successfully download $JS_MVC"
fi
fi fi
if [ -d /tmp/$JS_MVC ]; then if [ -d /tmp/$JS_MVC ]; then