support optional isos and ppas in the compass iso file 51/2851/1
authorbaigk <baiguoku@huawei.com>
Tue, 27 Oct 2015 20:10:25 +0000 (13:10 -0700)
committerbaigk <baiguoku@huawei.com>
Tue, 27 Oct 2015 20:10:25 +0000 (13:10 -0700)
JIRA: COMPASS-120

Change-Id: Icd61b0b7f448e38b5bef8aa7d8166e5e968a4f16
Signed-off-by: baigk <baiguoku@huawei.com>
build.sh
build/build.conf

index 7151317..cffceec 100755 (executable)
--- 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()
index cf44905..d57e5f3 100644 (file)
@@ -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 \