Create make_repo directory and optimize the current repo making related script 55/23855/14
authorYifei Xue <xueyifei@huawei.com>
Wed, 2 Nov 2016 10:09:35 +0000 (18:09 +0800)
committerYifei Xue <xueyifei@huawei.com>
Thu, 17 Nov 2016 07:24:46 +0000 (15:24 +0800)
JIRA: COMPASS-496

Change-Id: I662d996382d38a3e9d0de6598dabe403b9d51665
Signed-off-by: Yifei Xue <xueyifei@huawei.com>
60 files changed:
README.md
build.sh
build/build.conf
build/make_packages.sh [deleted file]
build/make_repo.sh [deleted file]
build/os/centos/rhel6/compass/Dockerfile.tmpl [deleted file]
build/os/centos/rhel7/compass/Dockerfile.tmpl [deleted file]
build/os/centos/rhel7/kilo/Dockerfile.tmpl [deleted file]
build/os/centos/rhel7/mitaka/Dockerfile.tmpl [deleted file]
build/os/redhat/redhat7/osp9/Dockerfile.tmpl [deleted file]
build/os/ubuntu/trusty/juno/Dockerfile.tmpl [deleted file]
build/os/ubuntu/trusty/kilo/Dockerfile.tmpl [deleted file]
build/os/ubuntu/trusty/liberty/Dockerfile.tmpl [deleted file]
build/os/ubuntu/xenial/mitaka/Dockerfile.tmpl [deleted file]
build/os/ubuntu/xenial/newton/Dockerfile.tmpl [deleted file]
build/packages/make_kvmfornfv.sh [deleted file]
repo/constants.py [new file with mode: 0644]
repo/features/Dockerfile [new file with mode: 0644]
repo/features/brahmaputra/make_odl.sh [new file with mode: 0644]
repo/features/brahmaputra/make_opencon-trail.sh [moved from build/packages/make_opencon-trail.sh with 68% similarity]
repo/features/colorado/make_kvmfornfv.sh [new file with mode: 0644]
repo/features/colorado/make_moon.sh [moved from build/packages/make_odl.sh with 64% similarity]
repo/features/colorado/make_odl.sh [new file with mode: 0644]
repo/features/colorado/make_onos.sh [new file with mode: 0644]
repo/features/colorado/make_opencon-trail.sh [moved from build/packages/make_onos.sh with 51% similarity]
repo/features/danube/make_moon.sh [new file with mode: 0644]
repo/features/danube/make_odl.sh [new file with mode: 0644]
repo/features/danube/make_onos.sh [new file with mode: 0644]
repo/features/danube/make_opencon-trail.sh [new file with mode: 0644]
repo/gen_ins_pkg_script.py [moved from build/gen_ins_pkg_script.py with 92% similarity]
repo/jhenv_template/centos/rhel7/Dockerfile [moved from build/jhenv_template/centos/rhel7/Dockerfile with 100% similarity]
repo/jhenv_template/ubuntu/trusty/Dockerfile [moved from build/jhenv_template/ubuntu/trusty/Dockerfile with 85% similarity]
repo/jhenv_template/ubuntu/xenial/Dockerfile [moved from build/jhenv_template/ubuntu/xenial/Dockerfile with 82% similarity]
repo/make_repo.sh [new file with mode: 0755]
repo/openstack/make_ppa/centos/Dockerfile.tmpl [moved from build/os/centos/rhel7/juno/Dockerfile.tmpl with 93% similarity]
repo/openstack/make_ppa/centos/ceph_key_release.asc [moved from build/os/centos/ceph_key_release.asc with 100% similarity]
repo/openstack/make_ppa/centos/comps.xml [moved from build/os/centos/comps.xml with 100% similarity]
repo/openstack/make_ppa/centos/rhel7/compass/download_pkg.tmpl [moved from build/templates/compass_core.tmpl with 100% similarity]
repo/openstack/make_ppa/centos/rhel7/juno/download_pkg.tmpl [moved from build/templates/RedHat_juno.tmpl with 99% similarity]
repo/openstack/make_ppa/centos/rhel7/kilo/download_pkg.tmpl [moved from build/templates/RedHat_kilo.tmpl with 99% similarity]
repo/openstack/make_ppa/centos/rhel7/liberty/download_pkg.tmpl [moved from build/templates/RedHat_liberty.tmpl with 100% similarity]
repo/openstack/make_ppa/centos/rhel7/mitaka/download_pkg.tmpl [moved from build/templates/RedHat_mitaka.tmpl with 100% similarity]
repo/openstack/make_ppa/redhat/Dockerfile.tmpl [moved from build/os/centos/rhel7/liberty/Dockerfile.tmpl with 91% similarity]
repo/openstack/make_ppa/redhat/ceph_key_release.asc [moved from build/os/redhat/ceph_key_release.asc with 100% similarity]
repo/openstack/make_ppa/redhat/comps.xml [moved from build/os/redhat/comps.xml with 100% similarity]
repo/openstack/make_ppa/redhat/redhat7/osp9/download_pkg.tmpl [moved from build/templates/RedHat_redhat7_osp9.tmpl with 100% similarity]
repo/openstack/make_ppa/ubuntu/Dockerfile.tmpl [moved from build/os/ubuntu/trusty/mitaka/Dockerfile.tmpl with 92% similarity]
repo/openstack/make_ppa/ubuntu/trusty/juno/download_pkg.tmpl [moved from build/templates/Debian_juno.tmpl with 100% similarity]
repo/openstack/make_ppa/ubuntu/trusty/kilo/download_pkg.tmpl [moved from build/templates/Debian_kilo.tmpl with 100% similarity]
repo/openstack/make_ppa/ubuntu/trusty/liberty/download_pkg.tmpl [moved from build/templates/Debian_liberty.tmpl with 100% similarity]
repo/openstack/make_ppa/ubuntu/trusty/mitaka/download_pkg.tmpl [moved from build/templates/Debian_mitaka.tmpl with 100% similarity]
repo/openstack/make_ppa/ubuntu/xenial/mitaka/download_pkg.tmpl [moved from build/templates/Debian_xenial_mitaka.tmpl with 100% similarity]
repo/openstack/make_ppa/ubuntu/xenial/newton/download_pkg.tmpl [moved from build/templates/Debian_xenial_newton.tmpl with 96% similarity]
repo/openstack/pip/Dockerfile [new file with mode: 0644]
repo/openstack/pip/code_url.conf [new file with mode: 0644]
repo/openstack/special_pkg/Debian/make_openvswitch-switch.sh [moved from build/arch/Debian/make_openvswitch-switch.sh with 100% similarity]
repo/openstack/special_pkg/RedHat/make_jdk.sh [moved from build/arch/RedHat/make_jdk.sh with 100% similarity]
repo/openstack/special_pkg/RedHat/make_kibana.sh [moved from build/arch/RedHat/make_kibana.sh with 100% similarity]
repo/repo.conf [new file with mode: 0644]
repo/repo_func.sh [new file with mode: 0755]

index f689b51..77a3005 100644 (file)
--- a/README.md
+++ b/README.md
 
 Compass4nfv is an installer project based on open source project COMPASS, which provides automated deployment and management of OpenStack and other distributed systems.
 
-This is a prject for run compass4nfv in OPNFV, including build OPNFV imaged-base installation ISO, deployment for OPNFV distributed system.
+This is a project for running compass4nfv in OPNFV, including build OPNFV imaged-base installation ISO, deployment for OPNFV distributed system.
 
 There are two files in this directory:
 
 * **build**: build imaged-base installation ISO for OPNFV.
 * **deploy**: deploy OPNFV distributed system base the above ISO.
 
-## How to make a reposity for installation ISO
+There are five directories in this directory:
 
-## How to build a ISO for OPNFV installation
+* **repo**: make repo for building the installation ISO
 
-## How to deploy Compass ISO in virtual machine/baremetal
+For the repo directory:
 
+```
+|-- constants.py ## set OS of Docker to make repo
+|-- features ## feature components of OPNFV
+|   |-- brahmaputra ## release name of OPNFV
+|   |   |-- make_odl.sh ## script to make ODL package
+|   |   `-- make_opencon-trail.sh ## script to make Open-contrail package
+|   |-- colorado ## release name of OPNFV
+|   |   |-- make_kvmfornfv.sh ## script to make Kvm4nfv package
+|   |   |-- make_moon.sh ## script to make Moon package
+|   |   |-- make_odl.sh ## script to make ODL package
+|   |   |-- make_onos.sh ## script to make ONOS package
+|   |   `-- make_opencon-trail.sh ## script to make Open-contrail package
+|   |-- danube ## release name of OPNFV
+|   |   |-- make_moon.sh ## script to make Moon package
+|   |   |-- make_odl.sh ## script to make ODL package
+|   |   |-- make_onos.sh ## script to make ONOS package
+|   |   `-- make_opencon-trail.sh ## script to make Open-contrail package
+|   `-- Dockerfile ## Dockerfile to make feature repo
+|-- gen_ins_pkg_script.py ## generate the script of downloading package
+|-- jhenv_template ## Dockerfile used for making jumphost related package
+|   |-- centos ## arch name
+|   |   `-- rhel7 ## OS name
+|   |       `-- Dockerfile
+|   `-- ubuntu ## arch name
+|       |-- trusty ## OS name
+|       |   `-- Dockerfile
+|       `-- xenial ## OS name
+|           `-- Dockerfile
+|-- make_repo.sh ## entrance to make repo
+|-- openstack ## make openstack package
+|   |-- make_ppa ## scripts used to make openstack deb or rpm repo
+|   |   |-- centos ## arch
+|   |   |   |-- ceph_key_release.asc ## Release repositories use the release.asc key to verify packages.
+|   |   |   |-- comps.xml ## used in rpm repo
+|   |   |   |-- Dockerfile.tmpl ## Dockerfile running to make repo
+|   |   |   `-- rhel7 ## arch
+|   |   |       |-- compass ## Make the package used by compass vm
+|   |   |       |   `-- download_pkg.tmpl
+|   |   |       |-- juno ## package for openstack juno
+|   |   |       |   `-- download_pkg.tmpl
+|   |   |       |-- kilo ## package for openstack kilo
+|   |   |       |   `-- download_pkg.tmpl
+|   |   |       |-- liberty ## package for openstack liberty
+|   |   |       |   `-- download_pkg.tmpl
+|   |   |       `-- mitaka ## package for openstack mitaka
+|   |   |           `-- download_pkg.tmpl
+|   |   |-- redhat ## Red Hat Enterprise Linux Release
+|   |   |   |-- ceph_key_release.asc ## Release repositories use the release.asc key to verify packages
+|   |   |   |-- comps.xml ## used in rpm repo
+|   |   |   |-- Dockerfile.tmpl ## Dockerfile running to make repo
+|   |   |   `-- redhat7 ## OS name
+|   |   |       `-- osp9 ## Red Hat OpenStack Platform
+|   |   |           `-- download_pkg.tmpl
+|   |   `-- ubuntu ## arch
+|   |       |-- Dockerfile.tmpl ## Dockerfile running to make repo
+|   |       |-- trusty ## OS name
+|   |       |   |-- juno ## package for openstack juno
+|   |       |   |   `-- download_pkg.tmpl
+|   |       |   |-- kilo ## package for openstack kilo
+|   |       |   |   `-- download_pkg.tmpl
+|   |       |   |-- liberty ## package for openstack liberty
+|   |       |   |   `-- download_pkg.tmpl
+|   |       |   `-- mitaka ## package for openstack mitaka
+|   |       |       `-- download_pkg.tmpl
+|   |       `-- xenial ## OS name
+|   |           |-- mitaka ## package for openstack mitaka
+|   |           |   `-- download_pkg.tmpl
+|   |           `-- newton ## package for openstack newton
+|   |               `-- download_pkg.tmpl
+|   |-- pip ## make pip package according to the requirement.txt openstack source code repo
+|   |   |-- code_url.conf ##code url
+|   |   `-- Dockerfile
+|   `-- special_pkg ## some special packages
+|       |-- Debian
+|       |   `-- make_openvswitch-switch.sh
+|       `-- RedHat
+|           |-- make_jdk.sh
+|           `-- make_kibana.sh
+|-- repo.conf ## configuration file used in making repo
+`-- repo_func.sh ## function lib
+```
+
+* **build**: configuration file of building is put in this directory.
+
+For the build directory:
+
+```
+`-- build.conf ## configuration file used in building ISO
+```
index 3de7dd9..fa3e01e 100755 (executable)
--- a/build.sh
+++ b/build.sh
@@ -9,12 +9,20 @@
 ##############################################################################
 set -ex
 
-SCRIPT_DIR=`cd ${BASH_SOURCE[0]%/*};pwd`
-COMPASS_DIR=${SCRIPT_DIR}
-WORK_DIR=$SCRIPT_DIR/work/building
+#COMPASS_PATH=$(cd "$(dirname "$0")"/..; pwd)
+COMPASS_PATH=`cd ${BASH_SOURCE[0]%/*};pwd`
+WORK_DIR=$COMPASS_PATH/work/building
+
+echo $COMPASS_PATH
+
+# REPO related setting
+REPO_PATH=$COMPASS_PATH/repo
+WORK_PATH=$COMPASS_PATH
+
 PACKAGES="fuse fuseiso createrepo genisoimage curl"
 
-source $SCRIPT_DIR/build/build.conf
+# PACKAGE_URL will be reset in Jenkins for different branch
+export PACKAGE_URL=${PACKAGE_URL:-http://205.177.226.237:9999}
 
 mkdir -p $WORK_DIR
 
@@ -178,7 +186,7 @@ function copy_file()
         cp $CACHE_DIR/`basename $i | sed 's/.git//g'` $new/compass/ -rf
     done
 
-    cp $COMPASS_DIR/deploy/adapters $new/compass/compass-adapters -rf
+    cp $COMPASS_PATH/deploy/adapters $new/compass/compass-adapters -rf
 
     tar -zxvf $CACHE_DIR/`basename $PIP_REPO` -C $new/
     tar -zxvf $CACHE_DIR/`basename $PIP_OPENSTACK_REPO` -C $new/
@@ -191,7 +199,7 @@ function rebuild_ppa()
     name=`basename $COMPASS_PKG`
     rm -rf ${name%%.*} $name
     cp $CACHE_DIR/$name $WORK_DIR
-    cp $SCRIPT_DIR/build/os/centos/comps.xml $WORK_DIR
+    cp $COMPASS_PATH/repo/openstack/make_ppa/centos/comps.xml $WORK_DIR
     tar -zxvf $name
     cp ${name%%.*}/*.rpm $1/Packages -f
     rm -rf $1/repodata/*
@@ -227,7 +235,7 @@ function make_iso()
 
 function process_param()
 {
-    TEMP=`getopt -o c:d:f: --long iso-dir:,iso-name:,cache-dir: -n 'build.sh' -- "$@"`
+    TEMP=`getopt -o c:d:f:s:t: --long iso-dir:,iso-name:,cache-dir:,openstack_build:,feature_build:,feature_version: -n 'build.sh' -- "$@"`
 
     if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
 
@@ -238,6 +246,9 @@ function process_param()
             -d|--iso-dir) export ISO_DIR=$2; shift 2;;
             -f|--iso-name) export ISO_NAME=$2; shift 2;;
             -c|--cache-dir) export CACHE_DIR=$2; shift 2;;
+            -s|--openstack_build) export OPENSTACK_BUILD=$2; shift 2;;
+            -t|--feature_build) export FEATURE_BUILD=$2; shift 2;;
+            -v|--feature_version) export FEATURE_VERSION=$2; shift 2;;
             --) shift; break;;
             *) echo "Internal error!" ; exit 1 ;;
         esac
@@ -246,6 +257,9 @@ function process_param()
     export CACHE_DIR=${CACHE_DIR:-$WORK_DIR/cache}
     export ISO_DIR=${ISO_DIR:-$WORK_DIR}
     export ISO_NAME=${ISO_NAME:-"compass.iso"}
+    export OPENSTACK_BUILD=${OPENSTACK_BUILD:-"stable"}
+    export FEATURE_BUILD=${FEATURE_BUILD:-"stable"}
+#    export FEATURE_VERSION=${FEATURE_VERSION:-"colorado"}
 }
 
 function copy_iso()
@@ -257,7 +271,42 @@ function copy_iso()
    cp $WORK_DIR/compass.iso $ISO_DIR/$ISO_NAME -f
 }
 
+# get daily repo or stable repo
+function get_repo_pkg()
+{
+   source $COMPASS_PATH/repo/repo_func.sh
+
+   # switch to compass4nfv directory
+   cd $COMPASS_PATH
+
+   # set openstack ppa url
+   if [[ $OPENSTACK_BUILD == daily ]]; then
+       process_env
+       make_osppa
+       export PPA_URL=${PPA_URL:-$COMPASS_PATH/work/repo}
+   else
+       export PPA_URL=${PPA_URL:-$PACKAGE_URL}
+   fi
+
+   # set feature pkg url
+   if [[ $FEATURE_BUILD == daily ]]; then
+       process_env
+       make_repo --package-tag feature
+
+###TODO should the packages.tar.gz include all the packages from different OPNFV versions?
+
+       export FEATURE_URL=${FEATURE_URL:-$COMPASS_PATH/work/repo}
+   else
+       export FEATURE_URL=${FEATURE_URL:-$PACKAGE_URL}
+   fi
+
+   source $COMPASS_PATH/build/build.conf
+
+   # switch to building directory
+   cd $WORK_DIR
+}
 process_param $*
 prepare_env
+get_repo_pkg
 make_iso
 copy_iso
index f9e4056..0cd1255 100644 (file)
@@ -1,7 +1,7 @@
 TIMEOUT=10
 
 # PACKAGE_URL will be reset in Jenkins for different branch
-export PACKAGE_URL=${PACKAGE_URL:-http://205.177.226.237:9999}
+#export PACKAGE_URL=${PACKAGE_URL:-http://205.177.226.237:9999}
 
 # Jumphost OS version
 export CENTOS_BASE=${CENTOS_BASE:-$PACKAGE_URL/CentOS-7-x86_64-Minimal-1511.iso}
@@ -28,7 +28,7 @@ export UBUNTU_ISO1=${UBUNTU_ISO1:-$PACKAGE_URL/ubuntu-14.04.3-server-amd64.iso}
 export TRUSTY_LIBERTY_PPA=${TRUSTY_LIBERTY_PPA:-$PACKAGE_URL/trusty-liberty-ppa.tar.gz}
 export TRUSTY_MITAKA_PPA=${TRUSTY_MITAKA_PPA:-$PACKAGE_URL/trusty-mitaka-ppa.tar.gz}
 export XENIAL_MITAKA_PPA=${XENIAL_MITAKA_PPA:-$PACKAGE_URL/xenial-mitaka-ppa.tar.gz}
-export XENIAL_NEWTON_PPA=${XENIAL_NEWTON_PPA:-$PACKAGE_URL/xenial-newton-ppa.tar.gz}
+export XENIAL_NEWTON_PPA=${XENIAL_NEWTON_PPA:-$PPA_URL/xenial-newton-ppa.tar.gz}
 #export CENTOS7_JUNO_PPA=${CENTOS7_JUNO_PPA:-$PACKAGE_URL/centos7-juno-ppa.tar.gz}
 #export CENTOS7_KILO_PPA=${CENTOS7_KILO_PPA:-$PACKAGE_URL/centos7-kilo-ppa.tar.gz}
 export CENTOS7_LIBERTY_PPA=${CENTOS7_LIBERTY_PPA:-$PACKAGE_URL/centos7-liberty-ppa.tar.gz}
@@ -36,86 +36,8 @@ export CENTOS7_MITAKA_PPA=${CENTOS7_MITAKA_PPA:-$PACKAGE_URL/centos7-mitaka-ppa.
 # export REDHAT7_OSP9_PPA=${REDHAT7_OSP9_PPA:-$PACKAGE_URL/redhat7-osp9-ppa.tar.gz}
 
 # SDN Packages for integration
-export APP_PACKAGE=${APP_PACKAGE:-$PACKAGE_URL/packages.tar.gz}
+export APP_PACKAGE=${APP_PACKAGE:-$FEATURE_URL/packages.tar.gz}
 
 # Other Packages
 export LOADERS=${LOADERS:-$PACKAGE_URL/loaders.tar.gz}
 export CIRROS=${CIRROS:-$PACKAGE_URL/cirros-0.3.3-x86_64-disk.img}
-export SPECIAL_DEBIAN_PACKAGE=${SPECIAL_DEBIAN_PACKAGE-$PACKAGE_URL/debian-packages.tar.gz}
-export KVMFORNFV=${kvmfornfv:-https://gerrit.opnfv.org/gerrit/p/kvmfornfv.git}
-
-
-export SPECIAL_PIP_PACKAGE="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 \
-    https://pypi.python.org/packages/source/v/virtualenv/virtualenv-13.1.2.tar.gz \
-    https://pypi.python.org/packages/source/p/pexpect/pexpect-3.3.tar.gz \
-    https://pypi.python.org/packages/source/a/amqplib/amqplib-1.0.2.tgz \
-    https://pypi.python.org/packages/source/M/Markdown/Markdown-2.4.tar.gz \
-    https://pypi.python.org/packages/source/C/Cheetah/Cheetah-2.4.1.tar.gz \
-    https://pypi.python.org/packages/source/d/daemon/daemon-1.1.tar.gz \
-    https://pypi.python.org/packages/source/F/Flask/Flask-0.10.1.tar.gz \
-    https://pypi.python.org/packages/source/F/Flask-Login/Flask-Login-0.2.11.tar.gz \
-    https://pypi.python.org/packages/2.7/F/Flask-RESTful/Flask_RESTful-0.3.4-py2.py3-none-any.whl \
-    https://pypi.python.org/packages/2.7/F/Flask-WTF/Flask_WTF-0.12-py2-none-any.whl \
-    https://pypi.python.org/packages/source/i/importlib/importlib-1.0.3.tar.bz2 \
-    https://pypi.python.org/packages/py2/l/lockfile/lockfile-0.10.2-py2-none-any.whl \
-    https://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.5.zip \
-    https://pypi.python.org/packages/any/n/netaddr/netaddr-0.7.18-py2.py3-none-any.whl \
-    https://pypi.python.org/packages/source/P/PyChef/PyChef-0.2.3.tar.gz \
-    https://pypi.python.org/packages/source/S/SQLAlchemy/SQLAlchemy-1.0.8.tar.gz \
-    https://pypi.python.org/packages/source/s/simplejson/simplejson-3.8.0.tar.gz \
-    https://pypi.python.org/packages/2.7/r/requests/requests-2.7.0-py2.py3-none-any.whl \
-    https://pypi.python.org/packages/2.7/c/celery/celery-3.1.18-py2.py3-none-any.whl \
-    https://pypi.python.org/packages/2.7/W/Werkzeug/Werkzeug-0.10.4-py2.py3-none-any.whl \
-    https://pypi.python.org/packages/source/c/ciso8601/ciso8601-1.0.1.tar.gz \
-    https://pypi.python.org/packages/3.3/s/six/six-1.9.0-py2.py3-none-any.whl \
-    https://pypi.python.org/packages/2.7/W/WTForms/WTForms-2.0.2-py2.py3-none-any.whl \
-    https://pypi.python.org/packages/source/d/docutils/docutils-0.12.tar.gz \
-    https://pypi.python.org/packages/2.7/a/amqp/amqp-1.4.6-py2-none-any.whl \
-    https://pypi.python.org/packages/any/M/Markdown/Markdown-2.6.2-py2.py3-none-any.whl \
-    https://pypi.python.org/packages/2.7/a/argparse/argparse-1.3.0-py2.py3-none-any.whl \
-    https://pypi.python.org/packages/source/F/Flask-Script/Flask-Script-2.0.5.tar.gz \
-    https://pypi.python.org/packages/source/F/Flask-SQLAlchemy/Flask-SQLAlchemy-0.10.tar.gz \
-    https://pypi.python.org/packages/source/l/lazypy/lazypy-0.2.tar.gz \
-    https://pypi.python.org/packages/source/p/pytz/pytz-2014.3.zip \
-    https://pypi.python.org/packages/source/b/billiard/billiard-3.3.0.3.tar.gz \
-    https://pypi.python.org/packages/source/a/anyjson/anyjson-0.1.tar.gz \
-    https://pypi.python.org/packages/2.7/k/kombu/kombu-3.0.17-py2.py3-none-any.whl \
-    https://pypi.python.org/packages/source/a/aniso8601/aniso8601-0.48.tar.gz \
-    https://pypi.python.org/packages/2.7/e/ecdsa/ecdsa-0.12-py2.py3-none-any.whl \
-    https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz \
-    https://pypi.python.org/packages/source/i/itsdangerous/itsdangerous-0.24.tar.gz \
-    https://pypi.python.org/packages/source/p/paramiko/paramiko-1.12.3.tar.gz \
-    https://pypi.python.org/packages/3.4/p/python-daemon/python_daemon-2.0.4-py2.py3-none-any.whl \
-    https://pypi.python.org/packages/source/r/redis/redis-2.7.1.tar.gz \
-    https://pypi.python.org/packages/source/b/billiard/billiard-3.3.0.20.tar.gz \
-    https://pypi.python.org/packages/2.7/k/kombu/kombu-3.0.26-py2.py3-none-any.whl \
-    https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.8.tar.gz \
-    https://pypi.python.org/packages/source/a/aniso8601/aniso8601-0.85.tar.gz \
-    https://pypi.python.org/packages/source/a/anyjson/anyjson-0.3.3.tar.gz \
-    https://pypi.python.org/packages/source/o/ordereddict/ordereddict-1.0.tar.gz \
-    https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.23.tar.gz \
-    https://pypi.python.org/packages/source/l/lazypy/lazypy-0.5.tar.gz \
-    https://pypi.python.org/packages/source/p/pycrypto-on-pypi/pycrypto-on-pypi-2.3.tar.gz \
-    https://pypi.python.org/packages/source/p/pymongo/pymongo-3.0.3.tar.gz \
-    https://pypi.python.org/packages/source/c/crudini/crudini-0.7.tar.gz \
-    https://pypi.python.org/packages/source/n/networking-odl/networking-odl-1.0.1.tar.gz \
-    https://pypi.python.org/packages/source/p/python-keyczar/python-keyczar-0.715.tar.gz \
-    https://pypi.python.org/packages/source/p/pyasn1/pyasn1-0.1.9.tar.gz \
-    https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz \
-    https://pypi.python.org/packages/source/c/cliff/cliff-1.15.0.tar.gz \
-    https://pypi.python.org/packages/6e/96/ba2a2462ed25ca0e651fb7b66e7080f5315f91425a07ea5b34d7c870c114/Babel-2.3.4.tar.gz \
-    https://pypi.python.org/packages/93/ba/7be92c44a984ff23bc13fa4dfffe01422cfd343b09ada7356bb16bae4ef7/tosca-parser-0.5.0.tar.gz \
-    https://pypi.python.org/packages/c3/52/85a606f541d627164b8159fd68da9e945ecec375d185069c05b84d5e4aa1/heat-translator-0.5.0.tar.gz \
-    https://pypi.python.org/packages/98/92/9c91d88316ecab35e0b1f23a2d757bd9a4ce73de6caba309ac29e66f2cfd/yang2tosca-0.13.tar.gz \
-    https://pypi.python.org/packages/41/40/0c951f9c78a9be150b432ff50700c3b8d1cd3ef1ec53f00d08b2a7ecc64e/oslo.concurrency-3.11.0.tar.gz \
-    https://pypi.python.org/packages/61/b9/74514d774df110799ff2b100979de6180ead1d5eec6fa15c52e6299361ea/oslo.service-1.12.0.tar.gz \
-    https://pypi.python.org/packages/9f/ec/d8bf0623d7d940c09052368ee859f726410e54b16b13f477ac0e70416de6/neutron-lib-0.2.0.tar.gz \
-    https://pypi.python.org/packages/source/p/python-dateutil/python-dateutil-2.4.2.tar.gz "
-
-export PIP_PACKAGE="https://pypi.python.org/packages/0d/af/8ccfb73834a6ddf9d57ecac61466557b7ca0722620bbb16d2d069ce312db/networking-odl-2.0.0.tar.gz \
-    https://pypi.python.org/packages/90/4f/74b730294de1db393e3e82211b5d2115f9a763849abca7d014348a550d2a/oslosphinx-4.5.0.tar.gz \
-    https://pypi.python.org/packages/74/f0/386f7f73aa6628c1bef53874c5d453b556356d77732add69000aa53b353b/policy2tosca-1.0.tar.gz "
-
diff --git a/build/make_packages.sh b/build/make_packages.sh
deleted file mode 100755 (executable)
index 14513be..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/bash
-##############################################################################
-# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-set -ex
-
-BUILD_PATH=$(cd "$(dirname "$0")"; pwd)
-WORK_PATH=$(cd "$(dirname "$0")"/..; pwd)
-
-if [[ -d $WORK_PATH/work/repo/packages ]]; then
-    rm -rf $WORK_PATH/work/repo/packages
-fi
-
-if [[  -d $WORK_PATH/work/repo/temp ]]; then
-    rm -rf $WORK_PATH/work/repo/temp
-fi
-
-mkdir -p $WORK_PATH/work/repo/packages
-mkdir -p $WORK_PATH/work/repo/temp
-
-for i in `ls $WORK_PATH/build/packages`; do
-    . $WORK_PATH/build/packages/$i $WORK_PATH/repo/packages
-done
-
-tar -zcvf $WORK_PATH/repo/packages.tar.gz $WORK_PATH/work/repo/packages
diff --git a/build/make_repo.sh b/build/make_repo.sh
deleted file mode 100755 (executable)
index 2752cf1..0000000
+++ /dev/null
@@ -1,388 +0,0 @@
-#!/bin/bash
-##############################################################################
-# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-set -ex
-
-BUILD_PATH=$(cd "$(dirname "$0")"; pwd)
-WORK_PATH=$(cd "$(dirname "$0")"/..; pwd)
-
-source $BUILD_PATH/build.conf
-
-function process_env()
-{
-    mkdir -p ${WORK_PATH}/work/repo/ ${WORK_PATH}/work/repo/pip
-
-    set +e
-    sudo docker info
-    if [[ $? != 0 ]]; then
-        wget -qO- https://get.docker.com/ | sh
-    else
-        echo "docker is already installed!"
-    fi
-    set -e
-
-cat <<EOF >${WORK_PATH}/work/repo/cp_repo.sh
-#!/bin/bash
-set -ex
-cp /*.tar.gz /result -f
-EOF
-
-    sudo apt-get -f install
-    sudo apt-get install python-yaml -y
-    sudo apt-get install python-cheetah -y
-}
-
-function make_repo()
-{
-    rm -f ${WORK_PATH}/work/repo/install_packages.sh
-    rm -f ${WORK_PATH}/work/repo/Dockerfile
-
-    option=`echo "os-ver:,jh-os:,package-tag:,tmpl:,default-package:, \
-            special-package:,special-package-script-dir:, \
-            special-package-dir:,ansible-dir:,special-package-dir" | sed 's/ //g'`
-
-    TEMP=`getopt -o h -l $option -n 'make_repo.sh' -- "$@"`
-
-    if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
-
-    eval set -- "$TEMP"
-
-    os_ver=""
-    jh_os=""
-    package_tag=""
-    tmpl=""
-    default_package=""
-    special_package=""
-    special_package_script_dir=""
-    special_package_dir=""
-    ansible_dir=""
-    ansible_dir_tmp=""
-    while :; do
-        case "$1" in
-            --os-ver) os_ver=$2; shift 2;;
-            --jh-os) jh_os=$2; shift 2;;
-            --package-tag) package_tag=$2; shift 2;;
-            --tmpl) tmpl=$2; shift 2;;
-            --default-package) default_package=$2; shift 2;;
-            --special-package) special_package=$2; shift 2;;
-            --special-package-script-dir) special_package_script_dir=$2; shift 2;;
-            --special-package-dir) special_package_dir=$2; shift 2;;
-            --ansible-dir) ansible_dir=$2; shift 2;;
-            --) shift; break;;
-            *) echo "Internal error! $1" ; exit 1 ;;
-        esac
-    done
-
-    if [[ -n ${package_tag} && ${package_tag} == "pip" ]]; then
-        make_pip_repo
-        return
-    fi
-
-    if [[ -n ${package_tag} && ${package_tag} == "jhenv" && -n ${jh_os} ]]; then
-        make_jhenv_repo
-        return
-    fi
-
-    if [[ -z ${os_ver} || -z ${package_tag} ]]; then
-        echo "parameter is wrong"
-        exit 1
-    fi
-
-    if [[ ${os_ver} == trusty || ${os_ver} == xenial ]]; then
-        arch=Debian
-        os_name=ubuntu
-    fi
-
-    if [[ ${os_ver} =~ rhel[0-9]*$ ]]; then
-        arch=RedHat
-        os_name=centos
-    fi
-
-    if [[ ${os_ver} =~ redhat[0-9]*$ ]]; then
-        arch=RedHat
-        os_name=redhat
-        tmpl=${BUILD_PATH}/templates/${arch}_${os_ver}_${package_tag}.tmpl
-    fi
-
-    if [[ -z $arch ]]; then
-        echo "unsupported ${os_ver} os"
-        exit 1
-    fi
-
-    dockerfile=Dockerfile
-    docker_tmpl=${BUILD_PATH}/os/${os_name}/${os_ver}/${package_tag}/${dockerfile}".tmpl"
-    docker_tag="${os_ver}/${package_tag}"
-
-    if [[ -z ${tmpl} ]]; then
-        if [[ ${os_ver} == xenial ]]; then
-            tmpl=${BUILD_PATH}/templates/${arch}_${os_ver}_${package_tag}.tmpl
-        else
-            tmpl=${BUILD_PATH}/templates/${arch}_${package_tag}.tmpl
-        fi
-    fi
-
-    if [[ "${ansible_dir}" != "" ]]; then
-        # generate ansible_dir_tmp
-        if [[ -d ${WORK_PATH}/work/tmp ]]; then
-            rm -rf ${WORK_PATH}/work/tmp
-        fi
-        mkdir -p ${WORK_PATH}/work/tmp
-        echo "${ansible_dir}"
-        cp -rf ${ansible_dir}/roles/ ${WORK_PATH}/work/tmp/
-        if [[ ${os_ver} == xenial ]]; then
-            if [[ -d ${ansible_dir}/openstack_${package_tag}_${os_ver}/roles && "`ls ${ansible_dir}/openstack_${package_tag}_${os_ver}`" != "" ]]; then
-                cp -rf ${ansible_dir}/openstack_${package_tag}_${os_ver}/roles/* ${WORK_PATH}/work/tmp/roles/
-            fi
-        else
-            if [[ -d ${ansible_dir}/openstack_${package_tag}/roles && "`ls ${ansible_dir}/openstack_${package_tag}`" != "" ]]; then
-                cp -rf ${ansible_dir}/openstack_${package_tag}/roles/* ${WORK_PATH}/work/tmp/roles/
-            fi
-        fi
-        ansible_dir_tmp=${WORK_PATH}/work/tmp/
-    fi
-
-    python ${BUILD_PATH}/gen_ins_pkg_script.py "${ansible_dir_tmp}" "${arch}" "${tmpl}" \
-          "${docker_tmpl}" "${default_package}" "${special_package}" \
-          "${WORK_PATH}/work/repo/$arch/script/" \
-          "${WORK_PATH}/work/repo/$arch/packages/"
-
-    rm -rf ${WORK_PATH}/work/repo/$arch
-    mkdir -p ${WORK_PATH}/work/repo/$arch/{script,packages}
-
-    # copy default package script to wokr dir
-    if [[ -d ${WORK_PATH}/build/arch/$arch ]]; then
-        cp -rf ${WORK_PATH}/build/arch/$arch/* ${WORK_PATH}/work/repo/$arch/script/
-    fi
-
-    # copy make package script to work dir
-    if [[ -n $special_package_script_dir && -d $special_package_script_dir ]]; then
-        cp -rf $special_package_script_dir/*  ${WORK_PATH}/work/repo/$arch/script/
-    fi
-
-    # copy special package to work dir
-    if [[ -n $special_package_dir ]]; then
-        curl --connect-timeout 10 -o $WORK_PATH/work/repo/$arch/`basename $special_package_dir` $special_package_dir
-        tar -zxvf $WORK_PATH/work/repo/$arch/`basename $special_package_dir` -C ${WORK_PATH}/work/repo/$arch/packages
-    fi
-
-    # copy docker file to work dir
-    if [[ -n $os_ver && -d ${WORK_PATH}/build/os/$os_name/$os_ver ]]; then
-        rm -rf ${WORK_PATH}/work/repo/$os_ver
-        cp -rf ${WORK_PATH}/build/os/$os_name/$os_ver ${WORK_PATH}/work/repo
-    fi
-
-    # copy centos comps.xml to work dir
-    if [[ $arch == RedHat && -f ${WORK_PATH}/build/os/$os_name/comps.xml ]]; then
-        cp -rf ${WORK_PATH}/build/os/$os_name/comps.xml ${WORK_PATH}/work/repo
-        cp -rf ${WORK_PATH}/build/os/$os_name/ceph_key_release.asc ${WORK_PATH}/work/repo
-    fi
-
-    sudo docker build --no-cache=true -t ${docker_tag} -f ${WORK_PATH}/work/repo/${dockerfile} ${WORK_PATH}/work/repo/
-    sudo docker run -t -v ${WORK_PATH}/work/repo:/result ${docker_tag}
-
-    image_id=$(sudo docker images|grep ${docker_tag}|awk '{print $3}')
-
-    sudo docker rmi -f ${image_id}
-}
-
-function _try_fetch_dependency()
-{
-    local dir_name=''
-    if [ -f $1 ];then
-        case $1 in
-            *.tar.bz2)
-                tar xjf $1
-                dir_name="$(basename $1 .tar.bz2)"
-                ;;
-            *.tar.gz)
-                tar xzf $1
-                dir_name="$(basename $1 .tar.gz)"
-                ;;
-            *.bz2)
-                bunzip2 $1
-                dir_name="$(basename $1 .bz2)"
-                ;;
-            *.rar)
-                unrar e $1
-                dir_name="$(basename $1 .rar)"
-                ;;
-            *.gz)
-                gunzip $1
-                dir_name="$(basename $1 .gz)"
-                ;;
-            *.tar)
-                tar xf $1
-                dir_name="$(basename $1 .tar)"
-                ;;
-            *.tbz2)
-                tar xjf $1
-                dir_name="$(basename $1 .tbz2)"
-                ;;
-            *.tgz)
-                tar xzf $1
-                dir_name="$(basename $1 .tgz)"
-                ;;
-            *.zip)
-                gunzip $1
-                dir_name="$(basename $1 .zip)"
-                ;;
-            *)
-                echo "'$1' cannot be extract()"
-                return
-                ;;
-        esac
-    else
-        echo "'$1' is not a valid file"
-        return
-    fi
-
-    if [ ! -f ${dir_name}/requirements.txt ]; then
-        echo "${dir_name}/requirements.txt does not exist"
-        return
-    fi
-
-    pip install --download=$2 -r ${dir_name}/requirements.txt
-
-    rm -rf $dir_name
-}
-
-function try_fetch_dependency()
-{
-    cd $3
-    _try_fetch_dependency $1/$2 $1
-    cd -
-}
-
-function make_pip_repo()
-{
-    source $WORK_PATH/build/build.conf
-    local pip_path=$WORK_PATH/work/repo/pip
-    local pip_tmp_path=$WORK_PATH/work/repo/pip_tmp
-
-    for i in $SPECIAL_PIP_PACKAGE; do
-        curl --connect-timeout 10 -o $pip_path/`basename $i` $i
-    done
-
-    mkdir -p $pip_tmp_path
-
-    for i in $PIP_PACKAGE; do
-        curl --connect-timeout 10 -o $pip_path/$(basename $i) $i
-        try_fetch_dependency $pip_path $(basename $i) $pip_tmp_path
-    done
-
-    rm -rf $pip_tmp_path
-
-    cd $WORK_PATH/work/repo; tar -zcvf pip.tar.gz ./pip; cd -
-}
-
-function make_jhenv_repo()
-{
-    if [[ ${jh_os} == trusty ]]; then
-        env_os_name=ubuntu
-    fi
-
-    if [[ ${jh_os} == xenial ]]; then
-        env_os_name=ubuntu
-    fi
-
-    if [[ ${jh_os} =~ rhel[0-9]*$ ]]; then
-        env_os_name=centos
-    fi
-
-    if [[ -d ${WORK_PATH}/build/jhenv_template/$env_os_name ]]; then
-
-        jh_env_dockerfile=Dockerfile
-        jh_env_docker_tmpl=${BUILD_PATH}/jhenv_template/$env_os_name/$jh_os/${jh_env_dockerfile}".tmpl"
-        jh_env_docker_tag="$jh_os/env"
-
-        rm -rf ${WORK_PATH}/work/repo/jhenv_template
-        mkdir ${WORK_PATH}/work/repo/jhenv_template
-        cp -rf ${WORK_PATH}/build/jhenv_template/$env_os_name/$jh_os/${jh_env_dockerfile} ${WORK_PATH}/work/repo/jhenv_template
-
-cat <<EOF >${WORK_PATH}/work/repo/jhenv_template/cp_env.sh
-#!/bin/bash
-set -ex
-cp /*.tar.gz /env -f
-EOF
-
-        sudo docker build --no-cache=true -t ${jh_env_docker_tag} -f ${WORK_PATH}/work/repo/jhenv_template/${jh_env_dockerfile} ${WORK_PATH}/work/repo/jhenv_template
-        sudo docker run -t -v ${WORK_PATH}/work/repo:/env ${jh_env_docker_tag}
-
-        image_id=$(sudo docker images|grep ${jh_env_docker_tag}|awk '{print $3}')
-
-        sudo docker rmi -f ${image_id}
-
-#    cd $WORK_PATH/work/repo; tar -zcvf pip.tar.gz ./pip; cd -
-    fi
-}
-
-# FIXME: rhel7 -> centos7, redhat7 -> rhel7
-function make_all_repo()
-{
-#    for env_os in trusty xanial rhel7; do
-#    make_repo --package-tag jhenv --jh-os $env_os
-#    done
-# jhenv only support trusty
-    make_repo --package-tag jhenv --jh-os trusty
-
-    make_repo --package-tag pip
-
-    make_repo --os-ver rhel7 --package-tag compass \
-              --tmpl "${WORK_PATH}/build/templates/compass_core.tmpl" \
-              --default-package "kernel-devel epel-release wget libxml2 glibc gcc perl openssl-libs mkisofs createrepo lsof \
-                                 python-yaml python-jinja2 python-paramiko elasticsearch logstash bind-license vim nmap-ncat \
-                                 yum cobbler cobbler-web createrepo mkisofs syslinux pykickstart bind rsync fence-agents \
-                                 dhcp xinetd tftp-server httpd libselinux-python python-setuptools python-devel mysql-devel \
-                                 mysql-server mysql MySQL-python redis mod_wsgi net-tools rabbitmq-server nfs-utils" \
-              --special-package "kibana jdk"
-
-    for opv in juno kilo liberty mitaka; do
-    make_repo --os-ver trusty --package-tag $opv \
-              --ansible-dir $WORK_PATH/deploy/adapters/ansible \
-              --default-package "openssh-server" \
-              --special-package "openvswitch-switch"
-    done
-
-    for opv in mitaka newton; do
-    make_repo --os-ver xenial --package-tag $opv \
-              --ansible-dir $WORK_PATH/deploy/adapters/ansible \
-              --default-package "openssh-server"
-    done
-
-    make_repo --os-ver rhel7 --package-tag juno \
-              --ansible-dir $WORK_PATH/deploy/adapters/ansible \
-              --default-package "rsyslog-7.6.7-1.el7 strace net-tools wget vim openssh-server \
-                                 dracut-config-rescue-033-241.el7_1.3 dracut-network-033-241.el7_1.3"
-
-    for opv in kilo liberty mitaka; do
-    make_repo --os-ver rhel7 --package-tag $opv \
-              --ansible-dir $WORK_PATH/deploy/adapters/ansible \
-              --default-package "rsyslog-7.6.7-1.el7 strace net-tools wget vim openssh-server \
-                                 dracut-config-rescue-033-241.el7_1.5 dracut-network-033-241.el7_1.5"
-    done
-
-    for opv in osp9; do
-    make_repo --os-ver redhat7 --package-tag $opv \
-              --ansible-dir $WORK_PATH/deploy/adapters/ansible \
-              --default-package "strace net-tools wget vim openssh-server"
-    done
-}
-
-function main()
-{
-    process_env
-
-    if [[ $# -eq 0 ]]; then
-        make_all_repo
-    else
-        make_repo "$@"
-    fi
-}
-
-main "$@"
diff --git a/build/os/centos/rhel6/compass/Dockerfile.tmpl b/build/os/centos/rhel6/compass/Dockerfile.tmpl
deleted file mode 100644 (file)
index df2bcb7..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-FROM centos:6.6
-MAINTAINER Chigang(Justin) <chigang@huawei.com>
-
-# add repo files first, then update
-ADD ./elasticsearch.repo /etc/yum.repos.d/elasticsearch.repo
-ADD ./logstash.repo /etc/yum.repos.d/logstash.repo
-
-# TODO: Is there some easy way to get the fastest/closest mirror?
-RUN yum update -y
-
-# set cache enable
-RUN sed -i 's/keepcache=0/keepcache=1/g' /etc/yum.conf
-#set packages = $getVar('spcial_packages', [])
-#for package in $packages
-ADD ./RedHat/packages/$package /var/cache/yum/x86_64/6/base/packages/
-#end for
-#set scripts = $getVar('scripts', [])
-#for script in $scripts
-ADD ./RedHat/script/$script /tmp/chigang/$script
-RUN chmod +x /tmp/chigang/$script
-RUN /tmp/chigang/$script
-#end for
-ADD ./install_packages.sh /tmp/chigang/install_packages.sh
-RUN chmod +x /tmp/chigang/install_packages.sh
-RUN /tmp/chigang/install_packages.sh
-
-ADD ./cp_repo.sh /tmp/chigang/cp_repo.sh
-RUN chmod +x /tmp/chigang/cp_repo.sh
-RUN mkdir /result
-
-CMD ["/tmp/chigang/cp_repo.sh"]
-#VOLUME /tmp/chigang
diff --git a/build/os/centos/rhel7/compass/Dockerfile.tmpl b/build/os/centos/rhel7/compass/Dockerfile.tmpl
deleted file mode 100644 (file)
index 0d0fbe1..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-FROM centos:7.2.1511
-MAINTAINER Chigang(Justin) <chigang@huawei.com>
-
-# set cache enable
-RUN sed -i 's/keepcache=0/keepcache=1/g' /etc/yum.conf
-#set packages = $getVar('spcial_packages', [])
-#for package in $packages
-ADD ./RedHat/packages/$package /var/cache/yum/x86_64/7/base/packages/
-#end for
-#set scripts = $getVar('scripts', [])
-#for script in $scripts
-ADD ./RedHat/script/$script /tmp/chigang/$script
-RUN chmod +x /tmp/chigang/$script
-RUN /tmp/chigang/$script
-#end for
-ADD ./install_packages.sh /tmp/chigang/install_packages.sh
-RUN chmod +x /tmp/chigang/install_packages.sh
-RUN /tmp/chigang/install_packages.sh
-
-ADD ./cp_repo.sh /tmp/chigang/cp_repo.sh
-RUN chmod +x /tmp/chigang/cp_repo.sh
-RUN mkdir /result
-
-CMD ["/tmp/chigang/cp_repo.sh"]
-#VOLUME /tmp/chigang
diff --git a/build/os/centos/rhel7/kilo/Dockerfile.tmpl b/build/os/centos/rhel7/kilo/Dockerfile.tmpl
deleted file mode 100644 (file)
index adb930f..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-FROM centos:7.1.1503
-MAINTAINER Chigang(Justin) <chigang@huawei.com>
-
-# set cache enable
-RUN sed -i 's/keepcache=0/keepcache=1/g' /etc/yum.conf
-#set packages = $getVar('spcial_packages', [])
-#for package in $packages
-ADD ./RedHat/packages/redhat_packages/$package /var/cache/yum/x86_64/7/base/packages/
-#end for
-#set scripts = $getVar('scripts', [])
-#for script in $scripts
-ADD ./RedHat/script/$script /tmp/chigang/$script
-RUN chmod +x /tmp/chigang/$script
-RUN /tmp/chigang/$script
-#end for
-ADD ./comps.xml /
-ADD ./ceph_key_release.asc /
-ADD ./install_packages.sh /tmp/chigang/install_packages.sh
-RUN chmod +x /tmp/chigang/install_packages.sh
-RUN /tmp/chigang/install_packages.sh
-
-ADD ./cp_repo.sh /tmp/chigang/cp_repo.sh
-RUN chmod +x /tmp/chigang/cp_repo.sh
-RUN mkdir /result
-
-CMD ["/tmp/chigang/cp_repo.sh"]
-#VOLUME /tmp/chigang
diff --git a/build/os/centos/rhel7/mitaka/Dockerfile.tmpl b/build/os/centos/rhel7/mitaka/Dockerfile.tmpl
deleted file mode 100644 (file)
index 2ea2b82..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-FROM centos:7.2.1511
-MAINTAINER Chigang(Justin) <chigang@huawei.com>
-
-# set cache enable
-RUN sed -i 's/keepcache=0/keepcache=1/g' /etc/yum.conf
-#set packages = $getVar('spcial_packages', [])
-#for package in $packages
-ADD ./RedHat/packages/redhat_packages/$package /var/cache/yum/x86_64/7/base/packages/
-#end for
-#set scripts = $getVar('scripts', [])
-#for script in $scripts
-ADD ./RedHat/script/$script /tmp/chigang/$script
-RUN chmod +x /tmp/chigang/$script
-RUN /tmp/chigang/$script
-#end for
-ADD ./comps.xml /
-ADD ./ceph_key_release.asc /
-ADD ./install_packages.sh /tmp/chigang/install_packages.sh
-RUN chmod +x /tmp/chigang/install_packages.sh
-RUN /tmp/chigang/install_packages.sh
-
-ADD ./cp_repo.sh /tmp/chigang/cp_repo.sh
-RUN chmod +x /tmp/chigang/cp_repo.sh
-RUN mkdir /result
-
-CMD ["/tmp/chigang/cp_repo.sh"]
-#VOLUME /tmp/chigang
diff --git a/build/os/redhat/redhat7/osp9/Dockerfile.tmpl b/build/os/redhat/redhat7/osp9/Dockerfile.tmpl
deleted file mode 100644 (file)
index 81cc283..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-FROM registry.access.redhat.com/rhel7.2
-MAINTAINER Chigang(Justin) <chigang@huawei.com>
-
-# set cache enable
-RUN sed -i 's/keepcache=0/keepcache=1/g' /etc/yum.conf
-#set packages = $getVar('spcial_packages', [])
-#for package in $packages
-ADD ./RedHat/packages/redhat_packages/$package /var/cache/yum/x86_64/7/base/packages/
-#end for
-#set scripts = $getVar('scripts', [])
-#for script in $scripts
-ADD ./RedHat/script/$script /tmp/chigang/$script
-RUN chmod +x /tmp/chigang/$script
-RUN /tmp/chigang/$script
-#end for
-ADD ./comps.xml /
-ADD ./ceph_key_release.asc /
-ADD ./install_packages.sh /tmp/chigang/install_packages.sh
-RUN chmod +x /tmp/chigang/install_packages.sh
-RUN /tmp/chigang/install_packages.sh
-
-ADD ./cp_repo.sh /tmp/chigang/cp_repo.sh
-RUN chmod +x /tmp/chigang/cp_repo.sh
-RUN mkdir /result
-
-CMD ["/tmp/chigang/cp_repo.sh"]
-#VOLUME /tmp/chigang
diff --git a/build/os/ubuntu/trusty/juno/Dockerfile.tmpl b/build/os/ubuntu/trusty/juno/Dockerfile.tmpl
deleted file mode 100644 (file)
index ad14fa5..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-FROM ubuntu:14.04.3
-MAINTAINER Chigang(Justin) <chigang@huawei.com>
-
-#RUN apt-get update
-
-RUN rm -f /etc/apt/apt.conf.d/docker-clean
-#set packages = $getVar('spcial_packages', [])
-#for package in $packages
-ADD ./Debian/packages/debian-packages/$package /var/cache/apt/archives/
-#end for
-#set scripts = $getVar('scripts', [])
-#for script in $scripts
-ADD ./Debian/script/$script /tmp/chigang/$script
-RUN chmod +x /tmp/chigang/$script
-RUN /tmp/chigang/$script
-#end for
-ADD ./install_packages.sh /tmp/chigang/install_packages.sh
-RUN chmod +x /tmp/chigang/install_packages.sh
-RUN /tmp/chigang/install_packages.sh
-
-ADD ./cp_repo.sh /tmp/chigang/cp_repo.sh
-RUN chmod +x /tmp/chigang/cp_repo.sh
-RUN mkdir /result
-
-CMD ["/tmp/chigang/cp_repo.sh"]
-#VOLUME /tmp/chigang
diff --git a/build/os/ubuntu/trusty/kilo/Dockerfile.tmpl b/build/os/ubuntu/trusty/kilo/Dockerfile.tmpl
deleted file mode 100644 (file)
index ad14fa5..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-FROM ubuntu:14.04.3
-MAINTAINER Chigang(Justin) <chigang@huawei.com>
-
-#RUN apt-get update
-
-RUN rm -f /etc/apt/apt.conf.d/docker-clean
-#set packages = $getVar('spcial_packages', [])
-#for package in $packages
-ADD ./Debian/packages/debian-packages/$package /var/cache/apt/archives/
-#end for
-#set scripts = $getVar('scripts', [])
-#for script in $scripts
-ADD ./Debian/script/$script /tmp/chigang/$script
-RUN chmod +x /tmp/chigang/$script
-RUN /tmp/chigang/$script
-#end for
-ADD ./install_packages.sh /tmp/chigang/install_packages.sh
-RUN chmod +x /tmp/chigang/install_packages.sh
-RUN /tmp/chigang/install_packages.sh
-
-ADD ./cp_repo.sh /tmp/chigang/cp_repo.sh
-RUN chmod +x /tmp/chigang/cp_repo.sh
-RUN mkdir /result
-
-CMD ["/tmp/chigang/cp_repo.sh"]
-#VOLUME /tmp/chigang
diff --git a/build/os/ubuntu/trusty/liberty/Dockerfile.tmpl b/build/os/ubuntu/trusty/liberty/Dockerfile.tmpl
deleted file mode 100644 (file)
index ad14fa5..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-FROM ubuntu:14.04.3
-MAINTAINER Chigang(Justin) <chigang@huawei.com>
-
-#RUN apt-get update
-
-RUN rm -f /etc/apt/apt.conf.d/docker-clean
-#set packages = $getVar('spcial_packages', [])
-#for package in $packages
-ADD ./Debian/packages/debian-packages/$package /var/cache/apt/archives/
-#end for
-#set scripts = $getVar('scripts', [])
-#for script in $scripts
-ADD ./Debian/script/$script /tmp/chigang/$script
-RUN chmod +x /tmp/chigang/$script
-RUN /tmp/chigang/$script
-#end for
-ADD ./install_packages.sh /tmp/chigang/install_packages.sh
-RUN chmod +x /tmp/chigang/install_packages.sh
-RUN /tmp/chigang/install_packages.sh
-
-ADD ./cp_repo.sh /tmp/chigang/cp_repo.sh
-RUN chmod +x /tmp/chigang/cp_repo.sh
-RUN mkdir /result
-
-CMD ["/tmp/chigang/cp_repo.sh"]
-#VOLUME /tmp/chigang
diff --git a/build/os/ubuntu/xenial/mitaka/Dockerfile.tmpl b/build/os/ubuntu/xenial/mitaka/Dockerfile.tmpl
deleted file mode 100644 (file)
index 4b24c0a..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-FROM ubuntu:16.04
-MAINTAINER Chigang(Justin) <chigang@huawei.com>
-
-#RUN apt-get update
-
-RUN rm -f /etc/apt/apt.conf.d/docker-clean
-#set packages = $getVar('spcial_packages', [])
-#for package in $packages
-ADD ./Debian/packages/debian-packages/$package /var/cache/apt/archives/
-#end for
-#set scripts = $getVar('scripts', [])
-#for script in $scripts
-ADD ./Debian/script/$script /tmp/chigang/$script
-RUN chmod +x /tmp/chigang/$script
-RUN /tmp/chigang/$script
-#end for
-ADD ./install_packages.sh /tmp/chigang/install_packages.sh
-RUN chmod +x /tmp/chigang/install_packages.sh
-RUN /tmp/chigang/install_packages.sh
-
-ADD ./cp_repo.sh /tmp/chigang/cp_repo.sh
-RUN chmod +x /tmp/chigang/cp_repo.sh
-RUN mkdir /result
-
-CMD ["/tmp/chigang/cp_repo.sh"]
-#VOLUME /tmp/chigang
diff --git a/build/os/ubuntu/xenial/newton/Dockerfile.tmpl b/build/os/ubuntu/xenial/newton/Dockerfile.tmpl
deleted file mode 100644 (file)
index 4b24c0a..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-FROM ubuntu:16.04
-MAINTAINER Chigang(Justin) <chigang@huawei.com>
-
-#RUN apt-get update
-
-RUN rm -f /etc/apt/apt.conf.d/docker-clean
-#set packages = $getVar('spcial_packages', [])
-#for package in $packages
-ADD ./Debian/packages/debian-packages/$package /var/cache/apt/archives/
-#end for
-#set scripts = $getVar('scripts', [])
-#for script in $scripts
-ADD ./Debian/script/$script /tmp/chigang/$script
-RUN chmod +x /tmp/chigang/$script
-RUN /tmp/chigang/$script
-#end for
-ADD ./install_packages.sh /tmp/chigang/install_packages.sh
-RUN chmod +x /tmp/chigang/install_packages.sh
-RUN /tmp/chigang/install_packages.sh
-
-ADD ./cp_repo.sh /tmp/chigang/cp_repo.sh
-RUN chmod +x /tmp/chigang/cp_repo.sh
-RUN mkdir /result
-
-CMD ["/tmp/chigang/cp_repo.sh"]
-#VOLUME /tmp/chigang
diff --git a/build/packages/make_kvmfornfv.sh b/build/packages/make_kvmfornfv.sh
deleted file mode 100644 (file)
index 3fa6efe..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-##############################################################################
-# Copyright (c) 2016 Nokia and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-
-# TODO compile kernel and qemu in docker container
-
-WORK_PATH=$(cd "$(dirname "$0")"/..; pwd)
-CACHE_DIR=$WORK_PATH/work/repo/temp
-DST_DIR=$WORK_PATH/work/repo/packages/kvmfornfv/
-source $WORK_PATH/build/build.conf
-
-function prepare()
-{
-    sudo apt-get install -y libtool libglib2.0-dev autoconf automake
-    mkdir -p $CACHE_DIR
-    mkdir -p $DST_DIR
-
-    if [ git ls-remote $KVMFORNFV ];
-    then
-           git clone $KVMFORNFV $CACHE_DIR/kvmfornfv
-           mkdir -p $CACHE_DIR/kvmfornfv/build/{boot,usr}
-    fi
-}
-
-function make_kernel()
-{
-    cd $CACHE_DIR/kvmfornfv/kernel
-    cp arch/x86/configs/opnfv.config .config
-    make -j8
-    make -j8 modules
-    make INSTALL_PATH=$CACHE_DIR/kvmfornfv/build/boot install
-    make INSTALL_MOD_PATH=$CACHE_DIR/kvmfornfv/build modules_install
-}
-
-function make_qemu()
-{
-    mkdir -p $CACHE_DIR/kvmfornfv/qemu/build
-    cd $CACHE_DIR/kvmfornfv/qemu/build
-    ../configure --prefix=$CACHE_DIR/kvmfornfv/build/usr --enable-system --enable-kvm
-    make -j8
-    make install
-}
-
-function make_kvmfornfv()
-{
-    pushd .
-
-    prepare
-    make_kernel
-    make_qemu
-
-    tar -czf $DST_DIR/kvmfornfv.tar.gz \
-        -C $CACHE_DIR/kvmfornfv/build .
-    cd -
-
-    popd
-}
-
-make_kvmfornfv
-
diff --git a/repo/constants.py b/repo/constants.py
new file mode 100644 (file)
index 0000000..28cef73
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+"""OS version of the Docker container used for downloading PPA packages."""
+
+# OS mapping
+os_map = {
+    'trusty': '14.04.3',
+    'xenial': '16.04',
+    'rhel7': '7.2.1511',
+    'redhat7': 'rhel7.2'}
diff --git a/repo/features/Dockerfile b/repo/features/Dockerfile
new file mode 100644 (file)
index 0000000..5978895
--- /dev/null
@@ -0,0 +1,22 @@
+FROM ubuntu:14.04.3
+MAINTAINER Yifei Xue <xueyifei@huawei.com>
+
+ADD ./cp_pkg.sh /cp_pkg.sh
+
+ADD ./feature_run.sh /feature_run.sh
+
+RUN mkdir run_script
+
+ADD ./make_pkg/* /run_script/
+
+RUN apt-get update
+
+RUN apt-get install -y curl vim git
+
+RUN chmod +x /feature_run.sh
+
+RUN /feature_run.sh
+
+RUN chmod +x /cp_pkg.sh
+
+CMD ["/cp_pkg.sh"]
diff --git a/repo/features/brahmaputra/make_odl.sh b/repo/features/brahmaputra/make_odl.sh
new file mode 100644 (file)
index 0000000..32d5f6e
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+set -ex
+
+TIMEOUT=10
+
+PACKAGE_URL=http://205.177.226.237:9999
+
+curl --connect-timeout $TIMEOUT -o /odl.tar.gz $PACKAGE_URL/odl.tar.gz
+
+
similarity index 68%
rename from build/packages/make_opencon-trail.sh
rename to repo/features/brahmaputra/make_opencon-trail.sh
index 818a4a4..b68fa3c 100644 (file)
@@ -1,3 +1,4 @@
+#!/bin/bash
 ##############################################################################
 # Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
 #
@@ -6,14 +7,14 @@
 # which accompanies this distribution, and is available at
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
+set -ex
 
-WORK_PATH=$(cd "$(dirname "$0")"/..; pwd)
+TIMEOUT=10
 
-source $WORK_PATH/build/build.conf
+PACKAGE_URL=http://205.177.226.237:9999
 
 for i in open-contrail.tar.gz; do
-    curl --connect-timeout $TIMEOUT -o $WORK_PATH/work/repo/temp/$i $PACKAGE_URL/$i
-    tar -zxvf $WORK_PATH/work/repo/temp/$i -C $WORK_PATH/work/repo/packages
+    curl --connect-timeout $TIMEOUT -o /$i $PACKAGE_URL/$i
 done
 
 
diff --git a/repo/features/colorado/make_kvmfornfv.sh b/repo/features/colorado/make_kvmfornfv.sh
new file mode 100644 (file)
index 0000000..734083a
--- /dev/null
@@ -0,0 +1,65 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+set -ex
+
+TEMP_DIR=/work/repo/temp
+DST_DIR=/work/repo/packages/kvmfornfv/
+export KVMFORNFV=${kvmfornfv:-https://gerrit.opnfv.org/gerrit/p/kvmfornfv.git}
+
+
+function prepare()
+{
+    sudo apt-get install -y bc libtool libglib2.0-dev autoconf automake make flex bison
+    mkdir -p $TEMP_DIR
+    mkdir -p $DST_DIR
+
+    if [ "git ls-remote $KVMFORNFV" ];
+    then
+           git clone $KVMFORNFV $TEMP_DIR/kvmfornfv
+           mkdir -p $TEMP_DIR/kvmfornfv/build/{boot,usr}
+    fi
+}
+
+function make_kernel()
+{
+    cd $TEMP_DIR/kvmfornfv/kernel
+    cp arch/x86/configs/opnfv.config .config
+    make -j8
+    make -j8 modules
+    make INSTALL_PATH=$TEMP_DIR/kvmfornfv/build/boot install
+    make INSTALL_MOD_PATH=$TEMP_DIR/kvmfornfv/build modules_install
+}
+
+function make_qemu()
+{
+    mkdir -p $TEMP_DIR/kvmfornfv/qemu/build
+    cd $TEMP_DIR/kvmfornfv/qemu/build
+    ../configure --prefix=$TEMP_DIR/kvmfornfv/build/usr --enable-system --enable-kvm
+    make -j8
+    make install
+}
+
+function make_kvmfornfv()
+{
+    pushd .
+
+    prepare
+    make_kernel
+    make_qemu
+
+    tar -czf /kvmfornfv.tar.gz \
+        -C $TEMP_DIR/kvmfornfv/build .
+    cd -
+
+    popd
+}
+
+make_kvmfornfv
+
similarity index 64%
rename from build/packages/make_odl.sh
rename to repo/features/colorado/make_moon.sh
index 6e28702..f484d8e 100644 (file)
@@ -1,3 +1,4 @@
+#!/bin/bash
 ##############################################################################
 # Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
 #
@@ -6,14 +7,14 @@
 # which accompanies this distribution, and is available at
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
+set -ex
 
-WORK_PATH=$(cd "$(dirname "$0")"/..; pwd)
+TIMEOUT=10
 
-source $WORK_PATH/build/build.conf
+PACKAGE_URL=http://205.177.226.237:9999
 
-for i in odl.tar.gz; do
-    curl --connect-timeout $TIMEOUT -o $WORK_PATH/work/repo/temp/$i $PACKAGE_URL/$i
-    tar -zxvf $WORK_PATH/work/repo/temp/$i -C $WORK_PATH/work/repo/packages
+for i in moon.tar.gz; do
+    curl --connect-timeout $TIMEOUT -o /$i $PACKAGE_URL/$i
 done
 
 
diff --git a/repo/features/colorado/make_odl.sh b/repo/features/colorado/make_odl.sh
new file mode 100644 (file)
index 0000000..32d5f6e
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+set -ex
+
+TIMEOUT=10
+
+PACKAGE_URL=http://205.177.226.237:9999
+
+curl --connect-timeout $TIMEOUT -o /odl.tar.gz $PACKAGE_URL/odl.tar.gz
+
+
diff --git a/repo/features/colorado/make_onos.sh b/repo/features/colorado/make_onos.sh
new file mode 100644 (file)
index 0000000..ede941e
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+set -ex
+
+TIMEOUT=10
+
+PACKAGE_URL=http://205.177.226.237:9999
+
+curl --connect-timeout $TIMEOUT -o /onos.tar.gz $PACKAGE_URL/onos.tar.gz
+
+
similarity index 51%
rename from build/packages/make_onos.sh
rename to repo/features/colorado/make_opencon-trail.sh
index 74c8969..b68fa3c 100644 (file)
@@ -1,3 +1,4 @@
+#!/bin/bash
 ##############################################################################
 # Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
 #
@@ -6,19 +7,14 @@
 # which accompanies this distribution, and is available at
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
+set -ex
 
-WORK_PATH=$(cd "$(dirname "$0")"/..; pwd)
+TIMEOUT=10
 
-source $WORK_PATH/build/build.conf
+PACKAGE_URL=http://205.177.226.237:9999
 
-mkdir -p $WORK_PATH/work/repo/packages/onos
-for i in repository.tar jdk-8u51-linux-x64.tar.gz; do
-    curl --connect-timeout $TIMEOUT -o $WORK_PATH/work/repo/packages/onos/$i $PACKAGE_URL/$i
+for i in open-contrail.tar.gz; do
+    curl --connect-timeout $TIMEOUT -o /$i $PACKAGE_URL/$i
 done
 
-git  clone https://gerrit.opnfv.org/gerrit/onosfw  $WORK_PATH/work/repo/temp/onosfw
 
-pushd .
-cd $WORK_PATH/work/repo/temp/onosfw/
-. autobuild.sh $WORK_PATH/work/repo/packages/onos
-popd
diff --git a/repo/features/danube/make_moon.sh b/repo/features/danube/make_moon.sh
new file mode 100644 (file)
index 0000000..f484d8e
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+set -ex
+
+TIMEOUT=10
+
+PACKAGE_URL=http://205.177.226.237:9999
+
+for i in moon.tar.gz; do
+    curl --connect-timeout $TIMEOUT -o /$i $PACKAGE_URL/$i
+done
+
+
diff --git a/repo/features/danube/make_odl.sh b/repo/features/danube/make_odl.sh
new file mode 100644 (file)
index 0000000..6a9afb9
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+set -ex
+
+TIMEOUT=10
+
+PACKAGE_URL=http://205.177.226.237:9999
+
+mkdir -p odl
+
+curl --connect-timeout $TIMEOUT -o /odl/distribution-karaf-0.5.0-Boron.tar.gz $PACKAGE_URL/distribution-karaf-0.5.0-Boron.tar.gz
+
+tar -zcvf odl.tar.gz /odl
+
+
diff --git a/repo/features/danube/make_onos.sh b/repo/features/danube/make_onos.sh
new file mode 100644 (file)
index 0000000..ede941e
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+set -ex
+
+TIMEOUT=10
+
+PACKAGE_URL=http://205.177.226.237:9999
+
+curl --connect-timeout $TIMEOUT -o /onos.tar.gz $PACKAGE_URL/onos.tar.gz
+
+
diff --git a/repo/features/danube/make_opencon-trail.sh b/repo/features/danube/make_opencon-trail.sh
new file mode 100644 (file)
index 0000000..b68fa3c
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+set -ex
+
+TIMEOUT=10
+
+PACKAGE_URL=http://205.177.226.237:9999
+
+for i in open-contrail.tar.gz; do
+    curl --connect-timeout $TIMEOUT -o /$i $PACKAGE_URL/$i
+done
+
+
similarity index 92%
rename from build/gen_ins_pkg_script.py
rename to repo/gen_ins_pkg_script.py
index ae6fa1c..7f96d35 100644 (file)
@@ -2,6 +2,7 @@ import yaml
 import os
 import sys
 from Cheetah.Template import Template
+import constants as const
 
 
 def get_file_list(root, arch):
@@ -50,7 +51,7 @@ def get_packages_name_list(file_list, special_packages):
 
 
 def generate_download_script(root="", arch="", tmpl="", docker_tmpl="", default_packages="",  # noqa
-                             special_packages="", special_packages_script_dir="", special_packages_dir=""):   # noqa
+                             special_packages="", special_packages_script_dir="", special_packages_dir="", os_ver=""):   # noqa
     package_name_list = get_packages_name_list(
         get_file_list(root, arch), special_packages) if root else []
 
@@ -68,7 +69,7 @@ def generate_download_script(root="", arch="", tmpl="", docker_tmpl="", default_
         if os.path.exists(os.path.join(special_packages_script_dir, name)):
             make_script.append(name)
 
-    searchList = {'scripts': make_script}
+    searchList = {'scripts': make_script, 'version': const.os_map[os_ver]}
     if os.path.exists(special_packages_dir):
         special_packages_names = []
 
@@ -86,4 +87,4 @@ def generate_download_script(root="", arch="", tmpl="", docker_tmpl="", default_
 if __name__ == '__main__':
     # generate_download_script('ansible', 'Debian', 'Debian.tmpl')
     generate_download_script(sys.argv[1], sys.argv[2], sys.argv[3],
-                             sys.argv[4], sys.argv[5].split(' '), sys.argv[6].split(' '), sys.argv[7], sys.argv[8])   # noqa
+                             sys.argv[4], sys.argv[5].split(' '), sys.argv[6].split(' '), sys.argv[7], sys.argv[8], sys.argv[9])   # noqa
similarity index 85%
rename from build/jhenv_template/ubuntu/trusty/Dockerfile
rename to repo/jhenv_template/ubuntu/trusty/Dockerfile
index 83f488d..4eeccb6 100644 (file)
@@ -31,7 +31,7 @@ Architectures: amd64\n'\
 
 RUN reprepro -b trusty-jh-ppa includedeb trusty jh_deb/*.deb
 
-RUN tar -zcvf /trusty-jh-ppa.tar.gz ./trusty-jh-ppa
+RUN tar -zcvf /jh-ppa-trusty.tar.gz ./trusty-jh-ppa
 
 RUN apt-get install -y python-pip
 
@@ -41,11 +41,13 @@ RUN pip install --upgrade paramiko jinja2 PyYAML setuptools pycrypto pyasn1 \
 cryptography MarkupSafe idna six enum34 ipaddress cffi pycparser \
 virtualenv cheetah requests netaddr pbr oslo.config ansible -d jh_pip/
 
-RUN tar -zcvf env_trusty_pip.tar.gz jh_pip/
+RUN tar -zcvf jh_pip.tar.gz jh_pip/
 
-RUN mkdir -p /home/tmp
+RUN mkdir jh_env_package
 
-RUN cp *.tar.gz /home/tmp
+RUN mv *.tar.gz jh_env_package/
+
+RUN tar -zcvf jh_env_trusty.tar.gz jh_env_package/
 
 RUN chmod +x /cp_env.sh
 
similarity index 82%
rename from build/jhenv_template/ubuntu/xenial/Dockerfile
rename to repo/jhenv_template/ubuntu/xenial/Dockerfile
index 01462ee..6b9b517 100644 (file)
@@ -1,4 +1,4 @@
-FROM ubuntu:16.04.3
+FROM ubuntu:16.04
 MAINTAINER Yifei Xue <xueyifei@huawei.com>
 
 ADD ./cp_env.sh /cp_env.sh
@@ -31,7 +31,7 @@ Architectures: amd64\n'\
 
 RUN reprepro -b xenial-jh-ppa includedeb xenial jh_deb/*.deb
 
-RUN tar -zcvf /xenial-jh-ppa.tar.gz ./xenial-jh-ppa
+RUN tar -zcvf /jh-ppa-xenial.tar.gz ./xenial-jh-ppa
 
 RUN apt-get install -y python-pip
 
@@ -41,12 +41,14 @@ RUN pip install --upgrade paramiko jinja2 PyYAML setuptools pycrypto pyasn1 \
 cryptography MarkupSafe idna six enum34 ipaddress cffi pycparser \
 virtualenv cheetah requests netaddr pbr oslo.config ansible -d jh_pip/
 
-RUN tar -zcvf env_xenial_pip.tar.gz jh_pip/
+RUN tar -zcvf jh_pip.tar.gz jh_pip/
 
-RUN mkdir -p /home/tmp
+RUN mkdir jh_env_package
 
-RUN cp *.tar.gz /home/tmp
+RUN mv *.tar.gz jh_env_package/
+
+RUN tar -zcvf jh_env_xenial.tar.gz jh_env_package/
 
 RUN chmod +x /cp_env.sh
 
-CMD ["/cp_exenial]
+CMD ["/cp_env.sh"]
diff --git a/repo/make_repo.sh b/repo/make_repo.sh
new file mode 100755 (executable)
index 0000000..b857a9f
--- /dev/null
@@ -0,0 +1,109 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+#set -ex
+
+REPO_PATH=$(cd "$(dirname "$0")"; pwd)
+COMPASS_PATH=$(cd "$(dirname "$0")"/..; pwd)
+
+#source $REPO_PATH/repo.conf
+source $REPO_PATH/repo_func.sh
+
+function param_process()
+{
+    if [ ! -z "$1" ]; then
+        case $1 in
+            openstack)
+                export MAKE_OPENSTACK="true"
+                ;;
+            pip)
+                export MAKE_PIP="true"
+                ;;
+            feature)
+                export MAKE_FEATURE="true"
+                ;;
+            jumphost)
+                export MAKE_JH="true"
+                ;;
+            compass)
+                export MAKE_COMPASS="true"
+                ;;
+            all)
+                export MAKE_ALL="true"
+                ;;
+            help)
+                usage
+                exit
+                ;;
+            *)
+                echo "'$1' is not a valid parameter."
+                usage
+                exit
+                ;;
+        esac
+
+    else
+        echo "Please add a valid parameter!"
+        usage
+        exit
+    fi
+}
+
+function usage()
+{
+    echo 'Usage: ./repo/make_repo.sh [option]'
+    echo 'All the valid options are:
+    openstack     Make OpenStack PPA.
+    pip           Make pip package.
+    feature       Make feature project package, such as SDN, Moon, KVM, etc.
+    jumphost      Make jumphost preparasion package.
+    compass       Make compass VM package.
+    all           Make all packages.
+    help          Show usage.'
+}
+
+function main()
+{
+    process_env
+
+    if [[ $MAKE_OPENSTACK == "true" ]]; then
+        make_osppa
+    fi
+
+    if [[ $MAKE_PIP == "true" ]]; then
+#        make_repo --package-tag pip
+        make_pip_repo
+    fi
+
+    if [[ $MAKE_FEATURE == "true" ]]; then
+#        make_repo --package-tag feature
+        make_feature_repo
+    fi
+
+    if [[ $MAKE_JH == "true" ]]; then
+        make_jhenv_repo
+    fi
+
+    if [[ $MAKE_COMPASS == "true" ]]; then
+        make_compass_repo
+    fi
+
+    if [[ $MAKE_ALL == "true" ]]; then
+        make_osppa
+        make_pip_repo
+        make_feature_repo
+        make_jhenv_repo
+        make_compass_repo
+    fi
+
+}
+
+param_process "$@"
+
+main
similarity index 93%
rename from build/os/centos/rhel7/juno/Dockerfile.tmpl
rename to repo/openstack/make_ppa/centos/Dockerfile.tmpl
index adb930f..1095ee1 100644 (file)
@@ -1,4 +1,5 @@
-FROM centos:7.1.1503
+#set version = $getVar('version', [])
+FROM centos:$version
 MAINTAINER Chigang(Justin) <chigang@huawei.com>
 
 # set cache enable
@@ -15,7 +15,7 @@ yum clean all
 
 yum install yum-plugin-priorities -y
 yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm -y
-yum install http://rdo.fedorapeople.org/openstack-$OPV/rdo-release-$OPV.rpm -y
+yum install http://rdo.fedorapeople.org/openstack-$OPV/rdo-release-${OPV}.rpm -y
 
 # modify centos7 repo for workaround
 sed -i 's/epel-Derived from Red Hat Enterprise Linux 7.1 (Source)/epel-7/g' /etc/yum.repos.d/rdo-release.repo
@@ -15,7 +15,7 @@ yum clean all
 
 yum install yum-plugin-priorities -y
 yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm -y
-yum install http://rdo.fedorapeople.org/openstack-$OPV/rdo-release-$OPV.rpm -y
+yum install http://rdo.fedorapeople.org/openstack-$OPV/rdo-release-${OPV}.rpm -y
 
 # modify centos7 repo for workaround
 sed -i 's/epel-Derived from Red Hat Enterprise Linux 7.1 (Source)/epel-7/g' /etc/yum.repos.d/rdo-release.repo
@@ -1,4 +1,5 @@
-FROM centos:7.1.1503
+#set version = $getVar('version', [])
+FROM registry.access.redhat.com/$version
 MAINTAINER Chigang(Justin) <chigang@huawei.com>
 
 # set cache enable
@@ -1,4 +1,5 @@
-FROM ubuntu:14.04.3
+#set version = $getVar('version', [])
+FROM ubuntu:$version
 MAINTAINER Chigang(Justin) <chigang@huawei.com>
 
 #RUN apt-get update
@@ -5,8 +5,7 @@ set -ex
 
 # add openstack $OPV repo
 apt-get update && apt-get install -y software-properties-common
-add-apt-repository -y cloud-archive:$OPV
-apt-get update && apt-get -y dist-upgrade
+# sudo add-apt-repository -y cloud-archive:$OPV
 apt-get install -d nova-compute-kvm -y
 
 #make pernoca database
diff --git a/repo/openstack/pip/Dockerfile b/repo/openstack/pip/Dockerfile
new file mode 100644 (file)
index 0000000..195b6a0
--- /dev/null
@@ -0,0 +1,30 @@
+FROM ubuntu:14.04.3
+MAINTAINER Yifei Xue <xueyifei@huawei.com>
+
+ADD ./code_url.conf /code_url.conf
+
+RUN chmod +x code_url.conf
+
+ADD ./make_pip.sh /make_pip.sh
+
+RUN chmod +x make_pip.sh
+
+ADD ./cp_pip.sh /cp_pip.sh
+
+RUN chmod +x cp_pip.sh
+
+RUN apt-get update
+
+RUN apt-get install -y git python-setuptools
+
+RUN easy_install -U pip
+
+RUN mkdir -p /home/tmp
+
+RUN mkdir -p openstack_pip
+
+RUN /make_pip.sh
+
+RUN tar -zcvf openstack_pip.tar.gz openstack_pip/
+
+CMD ["/cp_pip.sh"]
diff --git a/repo/openstack/pip/code_url.conf b/repo/openstack/pip/code_url.conf
new file mode 100644 (file)
index 0000000..fa7b02e
--- /dev/null
@@ -0,0 +1,21 @@
+#export BRANCH=${BRANCH:-master}
+export BRANCH=${BRANCH:-stable/newton}
+
+export GIT_URL="https://github.com/openstack/keystone.git \
+    https://github.com/openstack/python-keystoneclient.git \
+    https://github.com/openstack/nova.git \
+    https://github.com/openstack/python-novaclient.git \
+    https://github.com/openstack/neutron.git \
+    https://github.com/openstack/python-neutronclient.git \
+    https://github.com/openstack/cinder.git \
+    https://github.com/openstack/python-cinderclient.git \
+    https://github.com/openstack/glance.git \
+    https://github.com/openstack/python-glanceclient.git \
+    https://github.com/openstack/ceilometer.git \
+    https://github.com/openstack/python-ceilometerclient.git \
+    https://github.com/openstack/heat.git \
+    https://github.com/openstack/python-heatclient.git \
+    https://github.com/openstack/aodh.git \
+    https://github.com/openstack/python-aodhclient.git \
+    https://github.com/openstack/tacker.git \
+    https://github.com/openstack/python-tackerclient.git "
diff --git a/repo/repo.conf b/repo/repo.conf
new file mode 100644 (file)
index 0000000..11a4456
--- /dev/null
@@ -0,0 +1,95 @@
+TIMEOUT=100
+
+#REPO_PATH=$(cd "$(dirname "$0")"; pwd)
+#WORK_PATH=$(cd "$(dirname "$0")"/..; pwd)
+
+# switch for each repo
+#export MAKE_OPENSTACK=${MAKE_OPENSTACK:-"false"}
+#export MAKE_PIP=${MAKE_PIP:-"false"}
+#export MAKE_FEATURE=${MAKE_FEATURE:-"false"}
+#export MAKE_JH=${MAKE_JH:-"false"}
+#export MAKE_COMPASS=${MAKE_COMPASS:-"false"}
+#export MAKE_ALL=${MAKE_ALL:-"false"}
+export JUMP_HOST="trusty"
+# PACKAGE_URL will be reset in Jenkins for different branch
+export PACKAGE_URL=${PACKAGE_URL:-http://205.177.226.237:9999}
+
+# feature packages
+export KVMFORNFV=${kvmfornfv:-https://gerrit.opnfv.org/gerrit/p/kvmfornfv.git}
+
+export OPNFV_VERSION="brahmaputra colorado danube"
+
+export SPECIAL_PIP_PACKAGE="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 \
+    https://pypi.python.org/packages/source/v/virtualenv/virtualenv-13.1.2.tar.gz \
+    https://pypi.python.org/packages/source/p/pexpect/pexpect-3.3.tar.gz \
+    https://pypi.python.org/packages/source/a/amqplib/amqplib-1.0.2.tgz \
+    https://pypi.python.org/packages/source/M/Markdown/Markdown-2.4.tar.gz \
+    https://pypi.python.org/packages/source/C/Cheetah/Cheetah-2.4.1.tar.gz \
+    https://pypi.python.org/packages/source/d/daemon/daemon-1.1.tar.gz \
+    https://pypi.python.org/packages/source/F/Flask/Flask-0.10.1.tar.gz \
+    https://pypi.python.org/packages/source/F/Flask-Login/Flask-Login-0.2.11.tar.gz \
+    https://pypi.python.org/packages/2.7/F/Flask-RESTful/Flask_RESTful-0.3.4-py2.py3-none-any.whl \
+    https://pypi.python.org/packages/2.7/F/Flask-WTF/Flask_WTF-0.12-py2-none-any.whl \
+    https://pypi.python.org/packages/source/i/importlib/importlib-1.0.3.tar.bz2 \
+    https://pypi.python.org/packages/py2/l/lockfile/lockfile-0.10.2-py2-none-any.whl \
+    https://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.5.zip \
+    https://pypi.python.org/packages/any/n/netaddr/netaddr-0.7.18-py2.py3-none-any.whl \
+    https://pypi.python.org/packages/source/P/PyChef/PyChef-0.2.3.tar.gz \
+    https://pypi.python.org/packages/source/S/SQLAlchemy/SQLAlchemy-1.0.8.tar.gz \
+    https://pypi.python.org/packages/source/s/simplejson/simplejson-3.8.0.tar.gz \
+    https://pypi.python.org/packages/2.7/r/requests/requests-2.7.0-py2.py3-none-any.whl \
+    https://pypi.python.org/packages/2.7/c/celery/celery-3.1.18-py2.py3-none-any.whl \
+    https://pypi.python.org/packages/2.7/W/Werkzeug/Werkzeug-0.10.4-py2.py3-none-any.whl \
+    https://pypi.python.org/packages/source/c/ciso8601/ciso8601-1.0.1.tar.gz \
+    https://pypi.python.org/packages/3.3/s/six/six-1.9.0-py2.py3-none-any.whl \
+    https://pypi.python.org/packages/2.7/W/WTForms/WTForms-2.0.2-py2.py3-none-any.whl \
+    https://pypi.python.org/packages/source/d/docutils/docutils-0.12.tar.gz \
+    https://pypi.python.org/packages/2.7/a/amqp/amqp-1.4.6-py2-none-any.whl \
+    https://pypi.python.org/packages/any/M/Markdown/Markdown-2.6.2-py2.py3-none-any.whl \
+    https://pypi.python.org/packages/2.7/a/argparse/argparse-1.3.0-py2.py3-none-any.whl \
+    https://pypi.python.org/packages/source/F/Flask-Script/Flask-Script-2.0.5.tar.gz \
+    https://pypi.python.org/packages/source/F/Flask-SQLAlchemy/Flask-SQLAlchemy-0.10.tar.gz \
+    https://pypi.python.org/packages/source/l/lazypy/lazypy-0.2.tar.gz \
+    https://pypi.python.org/packages/source/p/pytz/pytz-2014.3.zip \
+    https://pypi.python.org/packages/source/b/billiard/billiard-3.3.0.3.tar.gz \
+    https://pypi.python.org/packages/source/a/anyjson/anyjson-0.1.tar.gz \
+    https://pypi.python.org/packages/2.7/k/kombu/kombu-3.0.17-py2.py3-none-any.whl \
+    https://pypi.python.org/packages/source/a/aniso8601/aniso8601-0.48.tar.gz \
+    https://pypi.python.org/packages/2.7/e/ecdsa/ecdsa-0.12-py2.py3-none-any.whl \
+    https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz \
+    https://pypi.python.org/packages/source/i/itsdangerous/itsdangerous-0.24.tar.gz \
+    https://pypi.python.org/packages/source/p/paramiko/paramiko-1.12.3.tar.gz \
+    https://pypi.python.org/packages/3.4/p/python-daemon/python_daemon-2.0.4-py2.py3-none-any.whl \
+    https://pypi.python.org/packages/source/r/redis/redis-2.7.1.tar.gz \
+    https://pypi.python.org/packages/source/b/billiard/billiard-3.3.0.20.tar.gz \
+    https://pypi.python.org/packages/2.7/k/kombu/kombu-3.0.26-py2.py3-none-any.whl \
+    https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.8.tar.gz \
+    https://pypi.python.org/packages/source/a/aniso8601/aniso8601-0.85.tar.gz \
+    https://pypi.python.org/packages/source/a/anyjson/anyjson-0.3.3.tar.gz \
+    https://pypi.python.org/packages/source/o/ordereddict/ordereddict-1.0.tar.gz \
+    https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.23.tar.gz \
+    https://pypi.python.org/packages/source/l/lazypy/lazypy-0.5.tar.gz \
+    https://pypi.python.org/packages/source/p/pycrypto-on-pypi/pycrypto-on-pypi-2.3.tar.gz \
+    https://pypi.python.org/packages/source/p/pymongo/pymongo-3.0.3.tar.gz \
+    https://pypi.python.org/packages/source/c/crudini/crudini-0.7.tar.gz \
+    https://pypi.python.org/packages/source/n/networking-odl/networking-odl-1.0.1.tar.gz \
+    https://pypi.python.org/packages/source/p/python-keyczar/python-keyczar-0.715.tar.gz \
+    https://pypi.python.org/packages/source/p/pyasn1/pyasn1-0.1.9.tar.gz \
+    https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz \
+    https://pypi.python.org/packages/source/c/cliff/cliff-1.15.0.tar.gz \
+    https://pypi.python.org/packages/6e/96/ba2a2462ed25ca0e651fb7b66e7080f5315f91425a07ea5b34d7c870c114/Babel-2.3.4.tar.gz \
+    https://pypi.python.org/packages/93/ba/7be92c44a984ff23bc13fa4dfffe01422cfd343b09ada7356bb16bae4ef7/tosca-parser-0.5.0.tar.gz \
+    https://pypi.python.org/packages/c3/52/85a606f541d627164b8159fd68da9e945ecec375d185069c05b84d5e4aa1/heat-translator-0.5.0.tar.gz \
+    https://pypi.python.org/packages/98/92/9c91d88316ecab35e0b1f23a2d757bd9a4ce73de6caba309ac29e66f2cfd/yang2tosca-0.13.tar.gz \
+    https://pypi.python.org/packages/41/40/0c951f9c78a9be150b432ff50700c3b8d1cd3ef1ec53f00d08b2a7ecc64e/oslo.concurrency-3.11.0.tar.gz \
+    https://pypi.python.org/packages/61/b9/74514d774df110799ff2b100979de6180ead1d5eec6fa15c52e6299361ea/oslo.service-1.12.0.tar.gz \
+    https://pypi.python.org/packages/9f/ec/d8bf0623d7d940c09052368ee859f726410e54b16b13f477ac0e70416de6/neutron-lib-0.2.0.tar.gz \
+    https://pypi.python.org/packages/source/p/python-dateutil/python-dateutil-2.4.2.tar.gz "
+
+export PIP_PACKAGE="https://pypi.python.org/packages/0d/af/8ccfb73834a6ddf9d57ecac61466557b7ca0722620bbb16d2d069ce312db/networking-odl-2.0.0.tar.gz \
+    https://pypi.python.org/packages/90/4f/74b730294de1db393e3e82211b5d2115f9a763849abca7d014348a550d2a/oslosphinx-4.5.0.tar.gz \
+    https://pypi.python.org/packages/74/f0/386f7f73aa6628c1bef53874c5d453b556356d77732add69000aa53b353b/policy2tosca-1.0.tar.gz "
+
diff --git a/repo/repo_func.sh b/repo/repo_func.sh
new file mode 100755 (executable)
index 0000000..e5d2a24
--- /dev/null
@@ -0,0 +1,502 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+function process_env()
+{
+    mkdir -p ${COMPASS_PATH}/work/repo/ ${COMPASS_PATH}/work/repo/pip
+
+    set +e
+    sudo docker info
+    if [[ $? != 0 ]]; then
+        wget -qO- https://get.docker.com/ | sh
+    else
+        echo "docker is already installed!"
+    fi
+    set -e
+
+cat <<EOF >${COMPASS_PATH}/work/repo/cp_repo.sh
+#!/bin/bash
+set -ex
+cp /*.tar.gz /result -f
+EOF
+
+    sudo apt-get -f install
+    sudo apt-get install python-yaml -y
+    sudo apt-get install python-cheetah -y
+
+    source ${COMPASS_PATH}/repo/repo.conf
+}
+
+function make_repo()
+{
+    rm -f ${COMPASS_PATH}/work/repo/install_packages.sh
+    rm -f ${COMPASS_PATH}/work/repo/Dockerfile
+
+    option=`echo "os-ver:,package-tag:,tmpl:,default-package:, \
+            special-package:,special-package-script-dir:, \
+            special-package-dir:,ansible-dir:" | sed 's/ //g'`
+
+    TEMP=`getopt -o h -l $option -n 'repo_func.sh' -- "$@"`
+
+    if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
+
+    eval set -- "$TEMP"
+
+    os_ver=""
+    package_tag=""
+    tmpl=""
+    default_package=""
+    special_package=""
+    special_package_script_dir=""
+    special_package_dir=""
+    ansible_dir=""
+    ansible_dir_tmp=""
+    while :; do
+        case "$1" in
+            --os-ver) os_ver=$2; shift 2;;
+            --package-tag) package_tag=$2; shift 2;;
+            --tmpl) tmpl=$2; shift 2;;
+            --default-package) default_package=$2; shift 2;;
+            --special-package) special_package=$2; shift 2;;
+            --special-package-script-dir) special_package_script_dir=$2; shift 2;;
+            --special-package-dir) special_package_dir=$2; shift 2;;
+            --ansible-dir) ansible_dir=$2; shift 2;;
+            --) shift; break;;
+            *) echo "Internal error! $1" ; exit 1 ;;
+        esac
+    done
+
+#    if [[ -n ${package_tag} && ${package_tag} == "pip" ]]; then
+#        make_pip_repo
+#        return
+#    fi
+
+#    if [[ -n ${package_tag} && ${package_tag} == "jhenv" && -n ${jh_os} ]]; then
+#        make_jhenv_repo
+#        return
+#    fi
+
+#    if [[ -n ${package_tag} && ${package_tag} == "feature" ]]; then
+#        make_feature_repo
+#        return
+#    fi
+
+    if [[ -z ${os_ver} || -z ${package_tag} ]]; then
+        echo "parameter is wrong"
+        exit 1
+    fi
+
+    if [[ ${os_ver} == trusty || ${os_ver} == xenial ]]; then
+        arch=Debian
+        os_name=ubuntu
+    fi
+
+    if [[ ${os_ver} =~ rhel[0-9]*$ ]]; then
+        arch=RedHat
+        os_name=centos
+    fi
+
+    if [[ ${os_ver} =~ redhat[0-9]*$ ]]; then
+        arch=RedHat
+        os_name=redhat
+#        tmpl=${BUILD_PATH}/templates/${arch}_${os_ver}_${package_tag}.tmpl
+    fi
+
+    if [[ -z $arch ]]; then
+        echo "unsupported ${os_ver} os"
+        exit 1
+    fi
+
+    dockerfile=Dockerfile
+    docker_tmpl=${REPO_PATH}/openstack/make_ppa/${os_name}/${dockerfile}".tmpl"
+    docker_tag="${os_ver}/${package_tag}"
+
+#    if [[ -z ${tmpl} ]]; then
+#        if [[ ${os_ver} == xenial ]]; then
+    tmpl=${REPO_PATH}/openstack/make_ppa/${os_name}/${os_ver}/${package_tag}/download_pkg.tmpl
+#        else
+#            tmpl=${REPO_PATH}/openstack/templates/${arch}_${package_tag}.tmpl
+#        fi
+#    fi
+
+    if [[ "${ansible_dir}" != "" ]]; then
+        # generate ansible_dir_tmp
+        if [[ -d ${COMPASS_PATH}/work/tmp ]]; then
+            rm -rf ${COMPASS_PATH}/work/tmp
+        fi
+        mkdir -p ${COMPASS_PATH}/work/tmp
+        echo "${ansible_dir}"
+        cp -rf ${ansible_dir}/roles/ ${COMPASS_PATH}/work/tmp/
+        if [[ ${os_ver} == xenial ]]; then
+            if [[ -d ${ansible_dir}/openstack_${package_tag}_${os_ver}/roles && "`ls ${ansible_dir}/openstack_${package_tag}_${os_ver}`" != "" ]]; then
+                cp -rf ${ansible_dir}/openstack_${package_tag}_${os_ver}/roles/* ${COMPASS_PATH}/work/tmp/roles/
+            fi
+        else
+            if [[ -d ${ansible_dir}/openstack_${package_tag}/roles && "`ls ${ansible_dir}/openstack_${package_tag}`" != "" ]]; then
+                cp -rf ${ansible_dir}/openstack_${package_tag}/roles/* ${COMPASS_PATH}/work/tmp/roles/
+            fi
+        fi
+        ansible_dir_tmp=${COMPASS_PATH}/work/tmp/
+    fi
+
+    rm -rf ${COMPASS_PATH}/work/repo/$arch
+    mkdir -p ${COMPASS_PATH}/work/repo/$arch/{script,packages}
+
+    if [[ -n $special_package ]]; then
+        special_package_script_dir=${REPO_PATH}/openstack/special_pkg/${arch}/
+    fi
+
+    # copy make package script to work dir
+    if [[ -n $special_package_script_dir && -d $special_package_script_dir ]]; then
+        cp -rf $special_package_script_dir/*  ${COMPASS_PATH}/work/repo/$arch/script/
+    fi
+
+    # copy special++ packages to work dir
+    if [[ -n $special_package_dir ]]; then
+        curl --connect-timeout 10 -o $COMPASS_PATH/work/repo/$arch/`basename $special_package_dir` $special_package_dir
+        tar -zxvf $COMPASS_PATH/work/repo/$arch/`basename $special_package_dir` -C ${COMPASS_PATH}/work/repo/$arch/packages
+    fi
+
+    python ${REPO_PATH}/gen_ins_pkg_script.py "${ansible_dir_tmp}" "${arch}" "${tmpl}" \
+          "${docker_tmpl}" "${default_package}" "${special_package}" \
+          "${COMPASS_PATH}/work/repo/$arch/script/" \
+          "${COMPASS_PATH}/work/repo/$arch/packages/" "${os_ver}"
+
+    # copy centos comps.xml to work dir
+    if [[ $arch == RedHat && -f ${COMPASS_PATH}/repo/openstack/make_ppa/centos/comps.xml ]]; then
+        cp -rf ${COMPASS_PATH}/repo/openstack/make_ppa/centos/comps.xml ${COMPASS_PATH}/work/repo
+        cp -rf ${COMPASS_PATH}/repo/openstack/make_ppa/centos/ceph_key_release.asc ${COMPASS_PATH}/work/repo
+    fi
+
+    sudo docker build --no-cache=true -t ${docker_tag} -f ${COMPASS_PATH}/work/repo/${dockerfile} ${COMPASS_PATH}/work/repo/
+    sudo docker run -t -v ${COMPASS_PATH}/work/repo:/result ${docker_tag}
+
+    image_id=$(sudo docker images|grep ${docker_tag}|awk '{print $3}')
+
+    sudo docker rmi -f ${image_id}
+}
+
+function _try_fetch_dependency()
+{
+    local dir_name=''
+    if [ -f $1 ];then
+        case $1 in
+            *.tar.bz2)
+                tar xjf $1
+                dir_name="$(basename $1 .tar.bz2)"
+                ;;
+            *.tar.gz)
+                tar xzf $1
+                dir_name="$(basename $1 .tar.gz)"
+                ;;
+            *.bz2)
+                bunzip2 $1
+                dir_name="$(basename $1 .bz2)"
+                ;;
+            *.rar)
+                unrar e $1
+                dir_name="$(basename $1 .rar)"
+                ;;
+            *.gz)
+                gunzip $1
+                dir_name="$(basename $1 .gz)"
+                ;;
+            *.tar)
+                tar xf $1
+                dir_name="$(basename $1 .tar)"
+                ;;
+            *.tbz2)
+                tar xjf $1
+                dir_name="$(basename $1 .tbz2)"
+                ;;
+            *.tgz)
+                tar xzf $1
+                dir_name="$(basename $1 .tgz)"
+                ;;
+            *.zip)
+                gunzip $1
+                dir_name="$(basename $1 .zip)"
+                ;;
+            *)
+                echo "'$1' cannot be extract()"
+                return
+                ;;
+        esac
+    else
+        echo "'$1' is not a valid file"
+        return
+    fi
+
+    if [ ! -f ${dir_name}/requirements.txt ]; then
+        echo "${dir_name}/requirements.txt does not exist"
+        return
+    fi
+
+    pip install --download=$2 -r ${dir_name}/requirements.txt
+
+    rm -rf $dir_name
+}
+
+function try_fetch_dependency()
+{
+    cd $3
+    _try_fetch_dependency $1/$2 $1
+    cd -
+}
+
+function make_pip_repo()
+{
+    source $COMPASS_PATH/repo/repo.conf
+    local pip_path=$COMPASS_PATH/work/repo/pip
+    local pip_tmp_path=$COMPASS_PATH/work/repo/pip_tmp
+
+    for i in $SPECIAL_PIP_PACKAGE; do
+        curl --connect-timeout 10 -o $pip_path/`basename $i` $i
+    done
+
+    mkdir -p $pip_tmp_path
+
+    for i in $PIP_PACKAGE; do
+        curl --connect-timeout 10 -o $pip_path/$(basename $i) $i
+        try_fetch_dependency $pip_path $(basename $i) $pip_tmp_path
+    done
+
+    rm -rf $pip_tmp_path
+
+    _make_pip
+
+    cd $COMPASS_PATH/work/repo
+
+    rm -rf openstack_pip
+
+    rm -rf pip-openstack; mkdir -p pip-openstack
+
+    tar -zxvf openstack_pip.tar.gz; cp -f openstack_pip/* pip-openstack/
+
+    cp -f pip/* pip-openstack/
+
+    tar -zcvf pip-openstack.tar.gz ./pip-openstack; cd -
+
+}
+
+function make_jhenv_repo()
+{
+    for x in $JUMP_HOST; do
+        _make_jhenv_repo $x
+    done
+}
+
+function _make_jhenv_repo()
+{
+    if [[ $1 == trusty ]]; then
+        env_os_name=ubuntu
+    fi
+
+    if [[ $1 == xenial ]]; then
+        env_os_name=ubuntu
+    fi
+
+    if [[ $1 =~ rhel[0-9]*$ ]]; then
+        env_os_name=centos
+    fi
+
+    if [[ -d ${COMPASS_PATH}/repo/jhenv_template/$env_os_name ]]; then
+
+        jh_env_dockerfile=Dockerfile
+        jh_env_docker_tmpl=${REPO_PATH}/jhenv_template/$env_os_name/$1/${jh_env_dockerfile}".tmpl"
+        jh_env_docker_tag="$1/env"
+
+        rm -rf ${COMPASS_PATH}/work/repo/jhenv_template
+        mkdir ${COMPASS_PATH}/work/repo/jhenv_template
+        cp -rf ${COMPASS_PATH}/repo/jhenv_template/$env_os_name/$1/${jh_env_dockerfile} ${COMPASS_PATH}/work/repo/jhenv_template
+
+cat <<EOF >${COMPASS_PATH}/work/repo/jhenv_template/cp_env.sh
+#!/bin/bash
+set -ex
+cp /*.tar.gz /env -f
+EOF
+
+        sudo docker build --no-cache=true -t ${jh_env_docker_tag} -f ${COMPASS_PATH}/work/repo/jhenv_template/${jh_env_dockerfile} ${COMPASS_PATH}/work/repo/jhenv_template
+        sudo docker run -t -v ${COMPASS_PATH}/work/repo:/env ${jh_env_docker_tag}
+
+        image_id=$(sudo docker images|grep ${jh_env_docker_tag}|awk '{print $3}')
+
+        sudo docker rmi -f ${image_id}
+
+#    cd $COMPASS_PATH/work/repo; tar -zcvf pip.tar.gz ./pip; cd -
+    fi
+}
+
+function _make_pip()
+{
+    if [[ ! -f ${COMPASS_PATH}/repo/openstack/pip/Dockerfile ]]; then
+        echo "No Dockerfile for making pip repo!"
+        return
+    fi
+
+    if [[ -d ${COMPASS_PATH}/repo/openstack_pip ]]; then
+        rm -rf ${COMPASS_PATH}/work/repo/openstack_pip
+    fi
+
+    mkdir -p ${COMPASS_PATH}/work/repo/openstack_pip
+
+    cp -f ${COMPASS_PATH}/repo/openstack/pip/Dockerfile ${COMPASS_PATH}/work/repo/openstack_pip/
+    cp -f ${COMPASS_PATH}/repo/openstack/pip/code_url.conf ${COMPASS_PATH}/work/repo/openstack_pip/
+
+cat <<EOF >${COMPASS_PATH}/work/repo/openstack_pip/cp_pip.sh
+#!/bin/bash
+set -ex
+cp /*.tar.gz /env -f
+EOF
+
+cat <<EOF >${COMPASS_PATH}/work/repo/openstack_pip/make_pip.sh
+#!/bin/bash
+set -ex
+source code_url.conf
+for i in \$GIT_URL; do
+    mkdir -p /home/tmp
+    git clone \$i -b \$BRANCH /home/tmp
+    pip install -r /home/tmp/requirements.txt -d openstack_pip/
+    rm -rf /home/tmp
+done
+EOF
+
+    pip_docker_tag="pip/env"
+
+    sudo docker build --no-cache=true -t ${pip_docker_tag} -f ${COMPASS_PATH}/work/repo/openstack_pip/Dockerfile ${COMPASS_PATH}/work/repo/openstack_pip
+    sudo docker run -t -v ${COMPASS_PATH}/work/repo:/env ${pip_docker_tag}
+
+    image_id=$(sudo docker images|grep ${pip_docker_tag}|awk '{print $3}')
+
+    sudo docker rmi -f ${image_id}
+
+}
+
+# FIXME: rhel7 -> centos7, redhat7 -> rhel7
+# Make all the openstack ppas
+function make_osppa()
+{
+
+    for opv in juno kilo liberty mitaka; do
+    make_repo --os-ver trusty --package-tag $opv \
+              --ansible-dir $COMPASS_PATH/deploy/adapters/ansible \
+              --default-package "openssh-server" \
+              --special-package "openvswitch-switch"
+    done
+
+    for opv in mitaka newton; do
+    make_repo --os-ver xenial --package-tag $opv \
+              --ansible-dir $COMPASS_PATH/deploy/adapters/ansible \
+              --default-package "openssh-server"
+    done
+
+    make_repo --os-ver rhel7 --package-tag juno \
+              --ansible-dir $COMPASS_PATH/deploy/adapters/ansible \
+              --default-package "rsyslog-7.6.7-1.el7 strace net-tools wget vim openssh-server \
+                                 dracut-config-rescue-033-241.el7_1.3 dracut-network-033-241.el7_1.3"
+
+    for opv in kilo liberty mitaka; do
+    make_repo --os-ver rhel7 --package-tag $opv \
+              --ansible-dir $COMPASS_PATH/deploy/adapters/ansible \
+              --default-package "rsyslog-7.6.7-1.el7 strace net-tools wget vim openssh-server \
+                                 dracut-config-rescue-033-241.el7_1.5 dracut-network-033-241.el7_1.5"
+    done
+
+#    for opv in osp9; do
+#    make_repo --os-ver redhat7 --package-tag $opv \
+#              --ansible-dir $COMPASS_PATH/deploy/adapters/ansible \
+#              --default-package "strace net-tools wget vim openssh-server"
+#    done
+
+}
+
+function make_compass_repo()
+{
+    make_repo --os-ver rhel7 --package-tag compass \
+              --tmpl "${COMPASS_PATH}/repo/openstack/make_ppa/centos/rhel7/compass/compass_core.tmpl" \
+              --default-package "kernel-devel epel-release wget libxml2 glibc gcc perl openssl-libs mkisofs createrepo lsof \
+                                 python-yaml python-jinja2 python-paramiko elasticsearch logstash bind-license vim nmap-ncat \
+                                 yum cobbler cobbler-web createrepo mkisofs syslinux pykickstart bind rsync fence-agents \
+                                 dhcp xinetd tftp-server httpd libselinux-python python-setuptools python-devel mysql-devel \
+                                 mysql-server mysql MySQL-python redis mod_wsgi net-tools rabbitmq-server nfs-utils" \
+              --special-package "kibana jdk"
+}
+
+function make_feature_repo()
+{
+    if [[ -d $COMPASS_PATH/work/repo/packages ]]; then
+        rm -rf $COMPASS_PATH/work/repo/packages
+    fi
+
+    if [[ -d $COMPASS_PATH/work/repo/temp ]]; then
+        rm -rf $COMPASS_PATH/work/repo/temp
+    fi
+
+    mkdir -p $COMPASS_PATH/work/repo/packages
+    mkdir -p $COMPASS_PATH/work/repo/temp
+
+    echo "$OPNFV_VERSION"
+
+    for i in $OPNFV_VERSION; do
+        mkdir -p $COMPASS_PATH/work/repo/packages/$i
+        mkdir -p $COMPASS_PATH/work/repo/temp/$i
+        if [[ -d $COMPASS_PATH/work/repo/temp/make_pkg ]]; then
+            rm -rf $COMPASS_PATH/work/repo/temp/make_pkg
+        fi
+        mkdir -p $COMPASS_PATH/work/repo/temp/make_pkg
+
+        if [[ ! -d $COMPASS_PATH/repo/features/$i ]]; then
+            echo "No $i in compass feature directory."
+            return
+        fi
+
+        cp -rf $COMPASS_PATH/repo/features/$i/* $COMPASS_PATH/work/repo/temp/make_pkg
+
+        feature_dockerfile=Dockerfile
+        feature_docker_tag=trusty/feature
+
+        if [[ ! -f $COMPASS_PATH/repo/features/$feature_dockerfile ]]; then
+            echo "No Dockerfile in compass feature directory."
+            return
+        fi
+
+        cp -f $COMPASS_PATH/repo/features/$feature_dockerfile $COMPASS_PATH/work/repo/temp/
+
+cat <<EOF >${COMPASS_PATH}/work/repo/temp/cp_pkg.sh
+#!/bin/bash
+set -ex
+cp /*.tar.gz /feature -f
+EOF
+
+cat <<EOF >${COMPASS_PATH}/work/repo/temp/feature_run.sh
+#!/bin/bash
+set -ex
+_script=\`ls /run_script\`
+for z in \$_script; do
+    . /run_script/\$z
+done
+EOF
+        sudo docker build --no-cache=true -t ${feature_docker_tag} -f ${COMPASS_PATH}/work/repo/temp/${feature_dockerfile} ${COMPASS_PATH}/work/repo/temp
+        sudo docker run -t -v ${COMPASS_PATH}/work/repo/packages:/feature ${feature_docker_tag}
+
+        image_id=$(sudo docker images|grep ${feature_docker_tag}|awk '{print $3}')
+
+        sudo docker rmi -f ${image_id}
+
+        mv ${COMPASS_PATH}/work/repo/packages/*.tar.gz $COMPASS_PATH/work/repo/packages/$i
+
+    done
+
+    cd ${COMPASS_PATH}/work/repo/
+    tar -zcvf ${COMPASS_PATH}/work/repo/packages.tar.gz packages/
+    cd -
+}
+
+