+++ /dev/null
-#
-# Copyright (C) 2015 Red Hat <contact@redhat.com>
-#
-# Author: Loic Dachary <loic@dachary.org>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU Library Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Library Public License for more details.
-#
-# Environment variables are substituted via envsubst(1)
-#
-# user_id=$(id -u)
-# os_version= the desired REPOSITORY TAG
-#
-FROM centos:%%os_version%%
-COPY install-deps.sh /root/
-COPY ceph.spec.in /root/
-RUN yum install -y yum-utils && yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/6/x86_64/ && yum install --nogpgcheck -y epel-release && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 && rm /etc/yum.repos.d/dl.fedoraproject.org*
-# build dependencies
-RUN yum install -y which ; cd /root ; ./install-deps.sh
-# development tools
-# nc is required to run make check on firefly only (giant+ do not use nc)
-RUN yum install -y ccache valgrind gdb git python-virtualenv gdisk kpartx jq sudo xmlstarlet parted nc
-RUN if test %%USER%% != root ; then useradd -M --uid %%user_id%% %%USER%% && echo '%%USER%% ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers ; fi
+++ /dev/null
-../../../ceph.spec.in
\ No newline at end of file
+++ /dev/null
-../../../install-deps.sh
\ No newline at end of file
[--os-type type] docker image repository (centos, ubuntu, etc.)
(defaults to ubuntu)
- [--os-version version] docker image tag (7 for centos, 12.04 for ubuntu, etc.)
- (defaults to 14.04)
+ [--os-version version] docker image tag (7 for centos, 16.04 for ubuntu, etc.)
+ (defaults to 16.04)
[--ref gitref] git reset --hard gitref before running the command
(defaults to git rev-parse HEAD)
[--all types+versions] list of docker image repositories and tags
and running a unit test:
$ lsb_release -d
- Description: Ubuntu Trusty Tahr (development branch)
+ Description: Ubuntu Xenial Xerus (development branch)
$ test/docker-test.sh --os-type centos --os-version 7 --shell
HEAD is now at 1caee81 autotools: add --enable-docker
bash-4.2$ pwd
The --all argument is a bash associative array literal listing the
operating system version for each operating system type. For instance
- docker-test.sh --all '([ubuntu]="12.04 14.04" [centos]="6 7")'
+ docker-test.sh --all '([ubuntu]="16.04 17.04" [centos]="7")'
is strictly equivalent to
- docker-test.sh --os-type ubuntu --os-version 12.04
- docker-test.sh --os-type ubuntu --os-version 14.04
- docker-test.sh --os-type centos --os-version 6
+ docker-test.sh --os-type ubuntu --os-version 16.04
+ docker-test.sh --os-type ubuntu --os-version 17.04
docker-test.sh --os-type centos --os-version 7
The --os-type and --os-version must be exactly as displayed by docker images:
$ docker images
REPOSITORY TAG IMAGE ID ...
centos 7 87e5b6b3ccc1 ...
- ubuntu 14.04 6b4e8a7373fe ...
+ ubuntu 16.04 6b4e8a7373fe ...
The --os-type value can be any string in the REPOSITORY column, the --os-version
can be any string in the TAG column.
Run an interactive shell and set resolv.conf to use 172.17.42.1
docker-test.sh --opts --dns=172.17.42.1 --shell
-Run make check on centos 6, centos 7, ubuntu 12.04 and ubuntu 14.04
-docker-test.sh --all '([ubuntu]="12.04 14.04" [centos]="6 7")' -- make check
+Run make check on centos 7, ubuntu 16.04 and ubuntu 17.04
+docker-test.sh --all '([ubuntu]="16.04 17.04" [centos]="7")' -- make check
EOF
}
eval set -- "$temp"
local os_type=ubuntu
- local os_version=14.04
+ local os_version=16.04
local all
local remove=false
local shell=false
+++ /dev/null
-#
-# Copyright (C) 2014, 2015 Red Hat <contact@redhat.com>
-#
-# Author: Loic Dachary <loic@dachary.org>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU Library Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Library Public License for more details.
-#
-# Environment variables are substituted via envsubst(1)
-#
-# user_id=$(id -u)
-# os_version= the desired REPOSITORY TAG
-#
-FROM ubuntu:%%os_version%%
-
-COPY install-deps.sh /root/
-RUN mkdir /root/debian
-COPY debian /root/debian/
-RUN apt-get update
-# build dependencies
-RUN cd /root ; ./install-deps.sh
-# development tools
-RUN apt-get install -y sudo ccache valgrind gdb python-virtualenv gdisk kpartx xmlstarlet
-RUN if test %%USER%% != root ; then useradd -M --uid %%user_id%% %%USER%% && echo '%%USER%% ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers ; fi
+++ /dev/null
-../../../debian
\ No newline at end of file
+++ /dev/null
-../../../install-deps.sh
\ No newline at end of file
+++ /dev/null
-#
-# Copyright (C) 2014, 2015 Red Hat <contact@redhat.com>
-#
-# Author: Loic Dachary <loic@dachary.org>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU Library Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Library Public License for more details.
-#
-# Environment variables are substituted via envsubst(1)
-#
-# user_id=$(id -u)
-# os_version= the desired REPOSITORY TAG
-#
-FROM ubuntu:%%os_version%%
-
-COPY install-deps.sh /root/
-RUN mkdir /root/debian
-COPY debian /root/debian/
-RUN apt-get update
-# build dependencies
-RUN cd /root ; ./install-deps.sh
-# development tools
-RUN apt-get install -y ccache valgrind gdb python-virtualenv gdisk kpartx jq xmlstarlet
-RUN if test %%USER%% != root ; then useradd -M --uid %%user_id%% %%USER%% && echo '%%USER%% ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers ; fi
+++ /dev/null
-../../../debian
\ No newline at end of file
+++ /dev/null
-../../../install-deps.sh
\ No newline at end of file
--- /dev/null
+#
+# Copyright (C) 2016 Red Hat <contact@redhat.com>
+#
+# Author: Loic Dachary <loic@dachary.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Library Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Library Public License for more details.
+#
+# Environment variables are substituted via envsubst(1)
+#
+# user_id=$(id -u)
+# os_version= the desired REPOSITORY TAG
+#
+FROM ubuntu:%%os_version%%
+
+COPY install-deps.sh /root/
+RUN mkdir /root/debian
+COPY debian /root/debian/
+RUN apt-get update
+# build dependencies
+RUN cd /root ; ./install-deps.sh
+# development tools
+RUN apt-get install -y ccache valgrind gdb python-virtualenv gdisk kpartx jq xmlstarlet sudo
+RUN if test %%USER%% != root ; then useradd -M --uid %%user_id%% %%USER%% && echo '%%USER%% ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers ; fi
--- /dev/null
+../../../debian/
\ No newline at end of file
--- /dev/null
+../../../install-deps.sh
\ No newline at end of file