aboutsummaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorYifei Xue <xueyifei@huawei.com>2016-05-12 15:19:21 +0800
committerYifei Xue <xueyifei@huawei.com>2016-05-16 22:11:09 +0800
commit31bc52f98aa708b03b9c4e2919fcb0b4d3c576a9 (patch)
tree0c15c5cab35b240ca98b14286c0a00790fa8cf0b /build
parentc6f911e50c666c2fc837a9192e721e6660660686 (diff)
Add Mitaka package for Ubuntu 14.04
JIRA: COMPASS-387 Change-Id: I62da78a6aa252259265640b3ff84ad77c28fdece Signed-off-by: Yifei Xue <xueyifei@huawei.com>
Diffstat (limited to 'build')
-rw-r--r--build/build.conf1
-rwxr-xr-xbuild/make_repo.sh41
-rw-r--r--build/os/centos/rhel7/mitaka/Dockerfile.tmpl27
-rw-r--r--build/os/ubuntu/trusty/mitaka/Dockerfile.tmpl26
-rw-r--r--build/templates/Debian_mitaka.tmpl57
-rw-r--r--build/templates/RedHat_mitaka.tmpl98
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