Merge pull request #40 from jcvenegas/fixes

CI: Fix tests
This commit is contained in:
Peng Tao 2018-01-27 11:10:04 +08:00 committed by GitHub
commit 1295bd50f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 74 additions and 15 deletions

View File

@ -16,4 +16,4 @@ before_script:
- ".ci/setup.sh"
script:
- ".ci/run.sh"
- "travis_wait .ci/run.sh"

1
rootfs-builder/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
Dockerfile

View File

@ -1 +0,0 @@
FROM centos:7

View File

@ -0,0 +1,6 @@
From centos:@OS_VERSION@
RUN yum -y update && yum install -y git make gcc
# This will install the proper golang to build Kata components
@INSTALL_GO@

View File

@ -1,3 +0,0 @@
From fedora:27
RUN dnf -y update && dnf install -y git golang systemd pkgconfig

View File

@ -0,0 +1,6 @@
From fedora:27
RUN dnf -y update && dnf install -y git systemd pkgconfig gcc
# This will install the proper golang to build Kata components
@INSTALL_GO@

View File

@ -1 +0,0 @@
FROM euleros:2.2

View File

@ -0,0 +1,5 @@
FROM euleros:@OS_VERSION@
RUN yum -y update && yum install -y yum git make gcc
# This will install the proper golang to build Kata components
@INSTALL_GO@

View File

@ -6,7 +6,7 @@
# Remove them or add more
# EulerOS Version
OS_VERSION=${OS_VERSION:-2}
OS_VERSION=${OS_VERSION:-2.2}
#Mandatory Packages that must be installed
# systemd: An init system that will start kata-agent

View File

@ -27,8 +27,8 @@ logfile=/var/log/yum-euleros.log
exactarch=1
[Base]
name=EulerOS-2.2 Base
baseurl=http://developer.huawei.com/ict/site-euleros/euleros/repo/yum/2.2/os/x86_64/
name=EulerOS-${OS_VERSION} Base
baseurl=http://developer.huawei.com/ict/site-euleros/euleros/repo/yum/${OS_VERSION}/os/x86_64/
enabled=1
gpgcheck=1
gpgkey=file://${CONFIG_DIR}/RPM-GPG-KEY-EulerOS

View File

@ -1,3 +0,0 @@
From fedora:27
RUN dnf -y update && dnf install -y git golang redhat-release systemd pkgconfig

View File

@ -0,0 +1,6 @@
From fedora:@OS_VERSION@
RUN dnf -y update && dnf install -y git redhat-release systemd pkgconfig gcc
# This will install the proper golang to build Kata components
@INSTALL_GO@

View File

@ -26,11 +26,12 @@ installonly_limit=3
#Dont use the default dnf reposdir
#this will prevent to use host repositories
reposdir=/root/mash
retries=5
[kata]
name=Fedora \$releasever - \$basearch
name=Fedora ${OS_VERSION} - \$basearch
failovermethod=priority
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-\$releasever&arch=\$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-${OS_VERSION}&arch=\$basearch
enabled=1
gpgcheck=0
EOF

View File

@ -12,6 +12,9 @@ ROOTFS_DIR=${ROOTFS_DIR:-${PWD}/rootfs}
AGENT_VERSION=${AGENT_VERSION:-master}
GO_AGENT_PKG=${GO_AGENT_PKG:-github.com/kata-containers/agent}
AGENT_BIN=${AGENT_BIN:-kata-agent}
#Load default vesions for golang and other componets
source "${script_dir}/versions.txt"
# Name of file that will implement build_rootfs
typeset -r LIB_SH="rootfs_lib.sh"
@ -79,6 +82,27 @@ check_function_exist() {
[ "$(type -t ${function_name})" == "function" ] || die "${function_name} function was not defined"
}
generate_dockerfile() {
dir="$1"
readonly install_go="
ADD https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz /tmp
RUN tar -C /usr/ -xzf /tmp/go${GO_VERSION}.linux-amd64.tar.gz
ENV GOROOT=/usr/go
ENV PATH=\$PATH:\$GOROOT/bin:\$GOPATH/bin
"
readonly dockerfile_template="Dockerfile.in"
[ -d "${dir}" ] || die "${dir}: not a directory"
pushd ${dir}
[ -f "${dockerfile_template}" ] || die "${dockerfile_template}: file not found"
sed \
-e "s|@OS_VERSION@|${OS_VERSION}|g" \
-e "s|@INSTALL_GO@|${install_go//$'\n'/\\n}|g" \
${dockerfile_template} > Dockerfile
popd
}
while getopts c:hr: opt
do
@ -110,6 +134,7 @@ check_function_exist "build_rootfs"
if [ -n "${USE_DOCKER}" ] ; then
image_name="${distro}-rootfs-osbuilder"
generate_dockerfile "${distro_config_dir}"
docker build \
--build-arg http_proxy="${http_proxy}" \
--build-arg https_proxy="${https_proxy}" \

View File

@ -0,0 +1,11 @@
#@distro@: docker image to be used to create a rootfs
#@OS_VERSION@: Docker image version to build this dockerfile
from @distro@:@OS_VERSION@
# This dockerfile needs to provide all the componets need to build a rootfs
# Install any package need to create a rootfs (package manager, extra tools)
# RUN commands
# This will install the proper golang to build Kata components
@INSTALL_GO@

View File

@ -13,3 +13,8 @@ endif
mkdir -p $(DESTDIR)
cp "$(MK_DIR)/rootfs_lib_template.sh" "$(DESTDIR)/rootfs_lib.sh"
cp "$(MK_DIR)/config_template.sh" "$(DESTDIR)/config.sh"
sed \
-e "s|@distro@|$(ROOTFS_BASE_NAME)|g" \
Dockerfile.template > $(DESTDIR)/Dockerfile.in

View File

@ -0,0 +1 @@
GO_VERSION=1.9.2

View File

@ -28,7 +28,7 @@ function build_image()
distro="$1"
[ -n "$distro" ]
local rootfs="${tmp_dir}/rootfs-osbuilder"
sudo -E ${rootfs_sh} -r "${rootfs}" fedora
sudo -E ${rootfs_sh} -r "${rootfs}" "${distro}"
sudo ${image_builder_sh} -s ${image_size} -o "${tmp_dir}/image.img" "${rootfs}"
}