diff options
author | Stefan K. Berg <stefan.k.berg@ericsson.com> | 2015-02-12 12:12:34 +0100 |
---|---|---|
committer | Stefan K. Berg <stefan.k.berg@ericsson.com> | 2015-02-12 12:16:55 +0100 |
commit | 41048f09b545b34ff1ed398b1dd76aad48a98718 (patch) | |
tree | d7de97e4a93bd2f645f75ebda2a1cd51b959f66e /fuel-build/docker/ubuntu-builder | |
parent | d29df40fd66d6a90fde858e8a0bc0d0e98a01794 (diff) |
Simplification and cleanup of build process
Docker build image:
- Uplift of the base Ubuntu version to 14.04.
- Instead of building the Ubuntu image with debootstrap, we use the official
Docker repository version of Ubuntu.
- Cleanup of the way how runcontext operates
- Fix: Make sure that the build system can be run as root
Top Makefile:
- Building the Fuel ISO on Docker local /tmp directory not to pollute local
directory with files owned by root.
- Removed unused targets.
Change-Id: I684348b2a15546eadf98d810239a84ff9798b1e8
Signed-off-by: Stefan K. Berg <stefan.k.berg@ericsson.com>
Diffstat (limited to 'fuel-build/docker/ubuntu-builder')
-rw-r--r-- | fuel-build/docker/ubuntu-builder/Dockerfile | 15 | ||||
-rw-r--r-- | fuel-build/docker/ubuntu-builder/enable_dockerx2 | 11 | ||||
-rw-r--r--[-rwxr-xr-x] | fuel-build/docker/ubuntu-builder/setcontext (renamed from fuel-build/docker/ubuntu-builder/install.sh) | 20 |
3 files changed, 30 insertions, 16 deletions
diff --git a/fuel-build/docker/ubuntu-builder/Dockerfile b/fuel-build/docker/ubuntu-builder/Dockerfile index e91afbd..3ec934d 100644 --- a/fuel-build/docker/ubuntu-builder/Dockerfile +++ b/fuel-build/docker/ubuntu-builder/Dockerfile @@ -1,3 +1,4 @@ +#!/bin/bash ############################################################################## # Copyright (c) 2015 Ericsson AB and others. # stefan.k.berg@ericsson.com @@ -8,11 +9,17 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -FROM opnfv.org/ubuntu:12.04 -ADD install.sh /root/install.sh -RUN /root/install.sh +FROM ubuntu:14.04 +RUN apt-get update +RUN apt-get install -y make python-setuptools python-all dpkg-dev debhelper \ + fuseiso git genisoimage bind9-host wget curl lintian tmux lxc iptables \ + ca-certificates sudo apt-utils lsb-release +RUN echo "ALL ALL=NOPASSWD: ALL" > /etc/sudoers.d/open-sudo +RUN chmod 0440 /etc/sudoers.d/open-sudo + +ADD ./setcontext /root/setcontext +RUN chmod +x /root/setcontext ADD ./enable_dockerx2 /root/enable_dockerx2 RUN chmod +x /root/enable_dockerx2 VOLUME /var/lib/docker -CMD ["/root/enable_dockerx2"] diff --git a/fuel-build/docker/ubuntu-builder/enable_dockerx2 b/fuel-build/docker/ubuntu-builder/enable_dockerx2 index b6bccdf..e79c8b7 100644 --- a/fuel-build/docker/ubuntu-builder/enable_dockerx2 +++ b/fuel-build/docker/ubuntu-builder/enable_dockerx2 @@ -1,6 +1,15 @@ #!/bin/sh +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# stefan.k.berg@ericsson.com +# jonas.bjurel@ericsson.com +# 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 +############################################################################## +# # Needed to expose underlying cgroups to container - mount -n -t tmpfs -o uid=0,gid=0,mode=0755 cgroup /sys/fs/cgroup mount -t securityfs none /sys/kernel/security diff --git a/fuel-build/docker/ubuntu-builder/install.sh b/fuel-build/docker/ubuntu-builder/setcontext index 667ab27..bc28994 100755..100644 --- a/fuel-build/docker/ubuntu-builder/install.sh +++ b/fuel-build/docker/ubuntu-builder/setcontext @@ -8,15 +8,13 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +# +SETUSER=$1 +SETUID=$2 +SETGID=$3 +SETHOME=$4 -BASE_PACKAGES="make python-setuptools python-all dpkg-dev debhelper -fuseiso git genisoimage bind9-host wget curl lintian tmux lxc iptables -ca-certificates" - -apt-get update || exit 1 -apt-get upgrade -y || exit 1 - -apt-get install -y $BASE_PACKAGES || exit 1 - -echo "ALL ALL=NOPASSWD: ALL" > /etc/sudoers.d/open-sudo -chmod 0440 /etc/sudoers.d/open-sudo +getent group $SETUSER || /usr/sbin/groupadd --gid $SETGID $SETUSER +getent passwd $SETUSER || /usr/sbin/adduser --system --uid=$SETUID --gid=$SETGID --home $SETHOME --shell /bin/bash $SETUSER +/usr/sbin/usermod -a -G fuse $SETUSER +exit 0 |