From 203a167ce18b1a123da8bb94722c6e88e0a8e95b Mon Sep 17 00:00:00 2001 From: zhaoxinyu Date: Wed, 19 Feb 2014 03:01:06 +0000 Subject: [PATCH] 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 --- install/chef.sh | 6 +++- install/cobbler.sh | 50 +++++++++++++++++++++------------- install/prepare.sh | 68 ++++++++++++++++++++++++++++++++++++++++++---- 3 files changed, 98 insertions(+), 26 deletions(-) diff --git a/install/chef.sh b/install/chef.sh index caae8fa1..ecc91627 100755 --- a/install/chef.sh +++ b/install/chef.sh @@ -6,7 +6,11 @@ sudo mkdir -p /root/backup/chef sudo rpm -q chef-server 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 echo "failed to rpm install $CHEF_SRV" exit 1 diff --git a/install/cobbler.sh b/install/cobbler.sh index a8806aa3..b51f24fc 100755 --- a/install/cobbler.sh +++ b/install/cobbler.sh @@ -191,18 +191,26 @@ fi # download packages 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 - -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 - -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 - -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 - -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 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 - +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 [[ ! -e /tmp/$f ]]; then + sudo wget -c --progress=bar:force -O /tmp/$f ftp://rpmfind.net/linux/${IMAGE_TYPE,,}/${IMAGE_VERSION_MAJOR}/os/${IMAGE_ARCH}/Packages/$f + else + 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 .. sudo createrepo ppa_repo if [[ "$?" != "0" ]]; then @@ -216,14 +224,18 @@ sudo cobbler reposync # import cobbler distro 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 [[ "$?" != "0" ]]; then - echo "failed to download images $IMAGE_SOURCE" - exit 1 -else - echo "$IMAGE_SOURCE is downloaded" +if [[ ! -e /tmp/${IMAGE_NAME}-${IMAGE_ARCH}.iso ]]; then + sudo wget -c --progress=bar:force -O /tmp/${IMAGE_NAME}-${IMAGE_ARCH}.iso "$IMAGE_SOURCE" + if [[ "$?" != "0" ]]; then + echo "failed to download images $IMAGE_SOURCE" + exit 1 + else + echo "$IMAGE_SOURCE is downloaded" + fi +else + echo "${IMAGE_NAME}-${IMAGE_ARCH}.iso already exists" 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} 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} diff --git a/install/prepare.sh b/install/prepare.sh index f43b222e..e23bf08d 100755 --- a/install/prepare.sh +++ b/install/prepare.sh @@ -51,13 +51,69 @@ else copylocal2dir $ADAPTER_SOURCE $ADAPTER_HOME fi -# install js mvc package -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 +# download chef-server package +if [[ -f /tmp/chef-server-11.0.8-1.el6.${IMAGE_ARCH}.rpm ]]; then + echo "chef-server-11.0.8-1.el6.${IMAGE_ARCH}.rpm already exists" 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 if [ -d /tmp/$JS_MVC ]; then