diff options
Diffstat (limited to 'build')
-rw-r--r-- | build/build.conf | 1 | ||||
-rwxr-xr-x | build/make_repo.sh | 41 | ||||
-rw-r--r-- | build/os/centos/rhel7/mitaka/Dockerfile.tmpl | 27 | ||||
-rw-r--r-- | build/os/ubuntu/trusty/mitaka/Dockerfile.tmpl | 26 | ||||
-rw-r--r-- | build/templates/Debian_mitaka.tmpl | 57 | ||||
-rw-r--r-- | build/templates/RedHat_mitaka.tmpl | 98 |
6 files changed, 237 insertions, 13 deletions
diff --git a/build/build.conf b/build/build.conf index 50b31179..ad2a6b1b 100644 --- a/build/build.conf +++ b/build/build.conf @@ -23,6 +23,7 @@ export UBUNTU_ISO=${UBUNTU_ISO:-$PACKAGE_URL/ubuntu-14.04.3-server-amd64.iso} # OpenStack Packages for deployment #export TRUSTY_JUNO_PPA=${TRUSTY_JUNO_PPA:-$PACKAGE_URL/trusty-juno-ppa.tar.gz} 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 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} diff --git a/build/make_repo.sh b/build/make_repo.sh index ce24b971..bebb5060 100755 --- a/build/make_repo.sh +++ b/build/make_repo.sh @@ -60,6 +60,7 @@ function make_repo() special_package_script_dir="" special_package_dir="" ansible_dir="" + ansible_dir_tmp="" while :; do case "$1" in --os-ver) os_ver=$2; shift 2;; @@ -108,7 +109,21 @@ function make_repo() tmpl=${BUILD_PATH}/templates/${arch}_${package_tag}.tmpl fi - python ${BUILD_PATH}/gen_ins_pkg_script.py "${ansible_dir}" "${arch}" "${tmpl}" \ + 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 [[ -d ${ansible_dir}/openstack_${package_tag} && "`ls ${ansible_dir}/openstack_${package_tag}`" != "" ]]; then + cp -rf ${ansible_dir}/openstack_${package_tag}/* ${WORK_PATH}/work/tmp/roles/ + 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/" @@ -169,18 +184,18 @@ function make_pip_repo() function make_all_repo() { -# 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; do + 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" \ diff --git a/build/os/centos/rhel7/mitaka/Dockerfile.tmpl b/build/os/centos/rhel7/mitaka/Dockerfile.tmpl new file mode 100644 index 00000000..adb930ff --- /dev/null +++ b/build/os/centos/rhel7/mitaka/Dockerfile.tmpl @@ -0,0 +1,27 @@ +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/ubuntu/trusty/mitaka/Dockerfile.tmpl b/build/os/ubuntu/trusty/mitaka/Dockerfile.tmpl new file mode 100644 index 00000000..ad14fa59 --- /dev/null +++ b/build/os/ubuntu/trusty/mitaka/Dockerfile.tmpl @@ -0,0 +1,26 @@ +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/templates/Debian_mitaka.tmpl b/build/templates/Debian_mitaka.tmpl new file mode 100644 index 00000000..7df519de --- /dev/null +++ b/build/templates/Debian_mitaka.tmpl @@ -0,0 +1,57 @@ +#!/bin/bash +set -ex + +#set OPV="mitaka" + +# add openstack $OPV repo +sudo apt-get update && apt-get install -y software-properties-common +sudo add-apt-repository -y cloud-archive:$OPV + +# add galeracluster repo +#sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db +#sudo add-apt-repository 'deb http://ftp.osuosl.org/pub/mariadb/repo/5.5/ubuntu trusty main' +sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 D669017EBC19DDBA +sudo add-apt-repository 'deb http://releases.galeracluster.com/ubuntu trusty main' +# add oracle java8 ppa +sudo add-apt-repository ppa:webupd8team/java +# add open java7 repo +sudo add-apt-repository 'deb http://security.ubuntu.com/ubuntu trusty-security main' + +sudo apt-get update + +sudo apt-get install reprepro -y + +sudo apt-get -d install pciutils -y + +cd /var/cache/apt/ +sudo apt-get download libexpat1 +cd - + +#download packages +#set packages = $getVar('default_packages', []) +#for pkg in $packages +sudo apt-get -d install $pkg -y +#end for +#set packages = $getVar('packages', []) +#for pkg in $packages +sudo apt-get -d install $pkg -y +#end for + +#make repo +mkdir -p trusty-$OPV-ppa/conf +cat <<EOF > trusty-$OPV-ppa/conf/distributions +Codename: trusty +Components: main +Architectures: amd64 +EOF + +sudo apt-get install wget +wget -O /var/cache/apt/python-pyasn1_0.1.8-2_all.deb http://us.archive.ubuntu.com/ubuntu/pool/main/p/pyasn1/python-pyasn1_0.1.8-2_all.deb +rm -rf /var/cache/apt/python-pyasn1_0.1.7-1ubuntu2_all.deb + +mkdir deb +find /var/cache/apt/ -name *.deb | xargs -i cp {} deb + +reprepro -b trusty-$OPV-ppa includedeb trusty deb/*.deb + +tar -zcvf /trusty-$OPV-ppa.tar.gz ./trusty-$OPV-ppa diff --git a/build/templates/RedHat_mitaka.tmpl b/build/templates/RedHat_mitaka.tmpl new file mode 100644 index 00000000..07728289 --- /dev/null +++ b/build/templates/RedHat_mitaka.tmpl @@ -0,0 +1,98 @@ +#!/bin/bash +set -x + +#set OPV="mitaka" + +yum remove systemd -y +# add 163 repo +#rm -f /etc/yum.repos.d/CentOS-*.repo +yum repolist +yum clean all + +yum install yum-plugin-priorities -y +yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.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 + +# add mongodb repo +cat <<EOF >/etc/yum.repos.d/mongodb.repo +[mongodb] +name=MongoDB Repository +baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/ +gpgcheck=0 +enabled=1 +EOF + +# add galeracluster repo +cat <<EOF >/etc/yum.repos.d/MariaDB.repo +[mariadb] +name =MariaDB +baseurl = http://yum.mariadb.org/5.5/centos7-amd64 +gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB +gpgcheck=1 +EOF + +cat <<EOF >/etc/yum.repos.d/syslog.repo +[rsyslog_v7] +name=rsyslog +baseurl="http://rpms.adiscon.com/v7-stable/epel-7/x86_64" +enabled=1 +gpgcheck=0 +gpgkey=http://rpms.adiscon.com/RPM-GPG-KEY-Adiscon +protect=1 +EOF + +cat <<EOF >/etc/yum.repos.d/ceph.repo +[ceph] +name=Ceph packages for x86_64 +baseurl=http://ceph.com/rpm-hammer/rhel7/x86_64 +enabled=1 +priority=2 +gpgcheck=1 +type=rpm-md +gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc + +[ceph-noarch] +name=Ceph noarch packages +baseurl=http://ceph.com/rpm-hammer/rhel7/noarch +enabled=1 +priority=2 +gpgcheck=1 +type=rpm-md +gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc +EOF + +cat <<EOF >>/etc/yum.conf +exclude=mongodb-org,mongodb-org-server +EOF + +yum update -y +yum install createrepo tar -y + +yum -y install --downloadonly MariaDB-Galera-server +#download packages +#set packages = $getVar('default_packages', []) +yum -y install --skip-broken --downloadonly #echo ' '.join(packages) +#set packages = $getVar('packages', []) +#silent packages.pop(packages.index('MariaDB-Galera-server')) +yum -y install --skip-broken --downloadonly #echo ' '.join(packages) + +#make repo +mkdir -p /centos7-$OPV-ppa/{Packages,repodata} + +find /var/cache/yum/ -name "*.rpm" | xargs -i cp {} /centos7-$OPV-ppa/Packages/ + +rm /centos7-$OPV-ppa/Packages/selinux-policy* -f +rm /centos7-$OPV-ppa/Packages/systemd* -f + +mv /epel-release-7-5.noarch.rpm /centos7-$OPV-ppa/Packages/ +cp /comps.xml /centos7-$OPV-ppa/ +cp /ceph_key_release.asc /centos7-$OPV-ppa/ +createrepo -g comps.xml /centos7-$OPV-ppa +mkdir /centos7-$OPV-ppa/noarch +mkdir /centos7-$OPV-ppa/noarch/Packages +cp -r /centos7-$OPV-ppa/Packages/ceph* /centos7-$OPV-ppa/noarch/Packages/ +cp -r /centos7-$OPV-ppa/repodata/ /centos7-$OPV-ppa/noarch/ +tar -zcvf /centos7-$OPV-ppa.tar.gz /centos7-$OPV-ppa |