From 5a8ee51210424e6d13f37d60982373330f9e3a56 Mon Sep 17 00:00:00 2001 From: baigk Date: Tue, 27 Oct 2015 13:10:25 -0700 Subject: support optional isos and ppas in the compass iso file JIRA: COMPASS-120 Change-Id: Icd61b0b7f448e38b5bef8aa7d8166e5e968a4f16 Signed-off-by: baigk --- build.sh | 42 ++++++++++++++++++++++++++++++++---------- build/build.conf | 33 ++++++++++++++++----------------- 2 files changed, 48 insertions(+), 27 deletions(-) diff --git a/build.sh b/build.sh index 7151317a..cffceecf 100755 --- a/build.sh +++ b/build.sh @@ -29,7 +29,7 @@ function prepare_env() function download_git() { - file_dir=$CACHE_DIR/${1%.*} + file_dir=$CACHE_DIR/${1%.*} if [[ -d $file_dir/.git ]]; then cd $file_dir git pull origin master @@ -57,22 +57,30 @@ function download_url() function download_local() { - cp $2 $CACHE_DIR/ -rf + if [[ $2 != $CACHE_DIR/$1 ]]; then + cp $2 $CACHE_DIR/ -rf + fi } function download_packages() { for i in $CENTOS_BASE $COMPASS_CORE $COMPASS_WEB $COMPASS_INSTALL $TRUSTY_JUNO_PPA $UBUNTU_ISO \ $CENTOS_ISO $CENTOS7_JUNO_PPA $LOADERS $CIRROS $APP_PACKAGE $COMPASS_PKG $PIP_REPO $ANSIBLE_MODULE; do + + if [[ ! $i ]]; then + continue + fi name=`basename $i` + if [[ ${name##*.} == git ]]; then download_git $name $i - elif [[ "https?" =~ ${i%%:*} ]]; then + elif [[ "https?" =~ ${i%%:*} || "file://" =~ ${i%%:*} ]]; then download_url $name $i else download_local $name $i fi done + } function copy_file() @@ -87,25 +95,39 @@ function copy_file() rm -rf $new/.rr_moved - cp $CACHE_DIR/`basename $UBUNTU_ISO` $new/repos/cobbler/ubuntu/iso/ -rf - cp $CACHE_DIR/`basename $TRUSTY_JUNO_PPA` $new/repos/cobbler/ubuntu/ppa/ -rf - cp $CACHE_DIR/`basename $CENTOS_ISO` $new/repos/cobbler/centos/iso/ -rf - cp $CACHE_DIR/`basename $CENTOS7_JUNO_PPA` $new/repos/cobbler/centos/ppa/ -rf + if [[ $UBUNTU_ISO ]]; then + cp $CACHE_DIR/`basename $UBUNTU_ISO` $new/repos/cobbler/ubuntu/iso/ -rf + fi + + if [[ $TRUSTY_JUNO_PPA ]]; then + cp $CACHE_DIR/`basename $TRUSTY_JUNO_PPA` $new/repos/cobbler/ubuntu/ppa/ -rf + fi + + if [[ $CENTOS_ISO ]]; then + cp $CACHE_DIR/`basename $CENTOS_ISO` $new/repos/cobbler/centos/iso/ -rf + fi + + if [[ $CENTOS7_JUNO_PPA ]]; then + cp $CACHE_DIR/`basename $CENTOS7_JUNO_PPA` $new/repos/cobbler/centos/ppa/ -rf + fi cp $CACHE_DIR/`basename $LOADERS` $new/ -rf || exit 1 - cp $CACHE_DIR/`basename $CIRROS` $new/guestimg/ -rf || exit 1 cp $CACHE_DIR/`basename $APP_PACKAGE` $new/app_packages/ -rf || exit 1 cp $CACHE_DIR/`basename $ANSIBLE_MODULE | sed 's/.git//g'` $new/ansible/ -rf || exit 1 + if [[ $CIRROS ]]; then + cp $CACHE_DIR/`basename $CIRROS` $new/guestimg/ -rf || exit 1 + fi + for i in $COMPASS_CORE $COMPASS_INSTALL $COMPASS_WEB; do cp $CACHE_DIR/`basename $i | sed 's/.git//g'` $new/compass/ -rf done cp $COMPASS_DIR/deploy/adapters $new/compass/compass-adapters -rf - tar -zxvf $CACHE_DIR/pip.tar.gz -C $new/ + tar -zxvf $CACHE_DIR/`basename $PIP_REPO` -C $new/ - find $new/compass -name ".git" |xargs rm -rf + find $new/compass -name ".git" | xargs rm -rf } function rebuild_ppa() diff --git a/build/build.conf b/build/build.conf index cf44905f..d57e5f37 100644 --- a/build/build.conf +++ b/build/build.conf @@ -1,25 +1,24 @@ TIMEOUT=10 -PACKAGE_URL=${PACKAGE_URL:-http://58.251.166.184:9999} +export PACKAGE_URL=${PACKAGE_URL:-http://58.251.166.184:9999} #begin: package download -PACKAGE_MD5=${PACKAGE_MD5:-$PACKAGE_URL/md5.txt} -CENTOS_BASE=${CENTOS_BASE:-$PACKAGE_URL/centos_base.iso} -COMPASS_CORE=${COMPASS_CORE:-http://github.com/baigk/compass-core.git} -COMPASS_WEB=${COMPASS_WEB:-http://github.com/baigk/compass-web.git} -COMPASS_INSTALL=${COMPASS_INSTALL:-http://github.com/baigk/compass-install.git} -TRUSTY_JUNO_PPA=${TRUSTY_JUNO_PPA:-$PACKAGE_URL/trusty-juno-ppa.tar.gz} -UBUNTU_ISO=${UBUNTU_ISO:-$PACKAGE_URL/ubuntu-14.04.3-server-amd64.iso} -CENTOS_ISO=${CENTOS_ISO:-$PACKAGE_URL/CentOS-7-x86_64-Minimal-1503-01.iso} -CENTOS7_JUNO_PPA=${CENTOS7_JUNO_PPA:-$PACKAGE_URL/centos7-juno-ppa.tar.gz} -COMPASS_PKG=${COMPASS_PKG:-$PACKAGE_URL/centos6-package.tar.gz} -LOADERS=${LOADERS:-$PACKAGE_URL/loaders.tar.gz} -CIRROS=${CIRROS:-$PACKAGE_URL/cirros-0.3.3-x86_64-disk.img} -APP_PACKAGE=${APP_PACKAGE:-$PACKAGE_URL/packages.tar.gz} -PIP_REPO=${PIP_REPO:-$PACKAGE_URL/pip.tar.gz} -ANSIBLE_MODULE=${ANSIBLE_MODULE:-https://github.com/openstack-ansible/openstack-ansible-modules.git} +export CENTOS_BASE=${CENTOS_BASE:-$PACKAGE_URL/centos_base.iso} +export COMPASS_CORE=${COMPASS_CORE:-http://github.com/baigk/compass-core.git} +export COMPASS_WEB=${COMPASS_WEB:-http://github.com/baigk/compass-web.git} +export COMPASS_INSTALL=${COMPASS_INSTALL:-http://github.com/baigk/compass-install.git} +export TRUSTY_JUNO_PPA=${TRUSTY_JUNO_PPA:-$PACKAGE_URL/trusty-juno-ppa.tar.gz} +export UBUNTU_ISO=${UBUNTU_ISO:-$PACKAGE_URL/ubuntu-14.04.3-server-amd64.iso} +export CENTOS_ISO=${CENTOS_ISO:-$PACKAGE_URL/CentOS-7-x86_64-Minimal-1503-01.iso} +export CENTOS7_JUNO_PPA=${CENTOS7_JUNO_PPA:-$PACKAGE_URL/centos7-juno-ppa.tar.gz} +export COMPASS_PKG=${COMPASS_PKG:-$PACKAGE_URL/centos6-package.tar.gz} +export LOADERS=${LOADERS:-$PACKAGE_URL/loaders.tar.gz} +export CIRROS=${CIRROS:-$PACKAGE_URL/cirros-0.3.3-x86_64-disk.img} +export APP_PACKAGE=${APP_PACKAGE:-$PACKAGE_URL/packages.tar.gz} +export PIP_REPO=${PIP_REPO:-$PACKAGE_URL/pip.tar.gz} +export ANSIBLE_MODULE=${ANSIBLE_MODULE:-https://github.com/openstack-ansible/openstack-ansible-modules.git} #end -PIP_CONF="https://bootstrap.pypa.io/ez_setup.py \ +export PIP_CONF="https://bootstrap.pypa.io/ez_setup.py \ https://pypi.python.org/packages/source/s/setuptools/setuptools-18.2.zip \ https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz \ https://pypi.python.org/packages/source/a/ansible/ansible-1.9.2.tar.gz \ -- cgit 1.2.3-korg