From 82d66c7d7569c1657e43cc3e970de0ec04c60759 Mon Sep 17 00:00:00 2001 From: Jan Safranek Date: Tue, 22 Nov 2016 16:11:30 +0100 Subject: [PATCH] Use tmpfs for gluster-server container volumes. Gluster server needs a filesystem that supports extended attributes for its data. Some distros (Debian, Ubuntu) ship Docker that runs containers on aufs, which does not support extended attributes and therefore Gluster server fails there. We can use tmpfs for Gluster server data volumes instead of a directory inside the container. --- test/images/volumes-tester/gluster/Dockerfile | 3 +- test/images/volumes-tester/gluster/Makefile | 2 +- .../volumes-tester/gluster/gluster.repo | 50 ------------------- .../volumes-tester/gluster/run_gluster.sh | 9 +++- 4 files changed, 10 insertions(+), 54 deletions(-) delete mode 100644 test/images/volumes-tester/gluster/gluster.repo diff --git a/test/images/volumes-tester/gluster/Dockerfile b/test/images/volumes-tester/gluster/Dockerfile index 22b6550b3d..0e2625e35e 100644 --- a/test/images/volumes-tester/gluster/Dockerfile +++ b/test/images/volumes-tester/gluster/Dockerfile @@ -14,8 +14,7 @@ FROM centos MAINTAINER Jan Safranek, jsafrane@redhat.com -ADD gluster.repo /etc/yum.repos.d/ -RUN yum -y install hostname glusterfs-server && yum clean all +RUN yum -y install hostname centos-release-gluster && yum -y install glusterfs-server && yum clean all ADD glusterd.vol /etc/glusterfs/ ADD run_gluster.sh /usr/local/bin/ ADD index.html /vol/ diff --git a/test/images/volumes-tester/gluster/Makefile b/test/images/volumes-tester/gluster/Makefile index 1d7ecebba0..3537350139 100644 --- a/test/images/volumes-tester/gluster/Makefile +++ b/test/images/volumes-tester/gluster/Makefile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -TAG = 0.3 +TAG = 0.4 PREFIX = gcr.io/google_containers all: push diff --git a/test/images/volumes-tester/gluster/gluster.repo b/test/images/volumes-tester/gluster/gluster.repo deleted file mode 100644 index 08e8590385..0000000000 --- a/test/images/volumes-tester/gluster/gluster.repo +++ /dev/null @@ -1,50 +0,0 @@ -[epel] -name=Extra Packages for Enterprise Linux 7 - $basearch -#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch -mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch -failovermethod=priority -enabled=1 -gpgcheck=1 -gpgkey=https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7 - -[epel-debuginfo] -name=Extra Packages for Enterprise Linux 7 - $basearch - Debug -#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug -mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch -failovermethod=priority -enabled=0 -gpgcheck=1 -gpgkey=https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7 - -[epel-source] -name=Extra Packages for Enterprise Linux 7 - $basearch - Source -#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS -mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch -failovermethod=priority -enabled=0 -gpgcheck=1 -gpgkey=https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7 - -[glusterfs-epel] -name=GlusterFS is a clustered file-system capable of scaling to several petabytes. -baseurl=http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/epel-$releasever/$basearch/ -enabled=1 -skip_if_unavailable=1 -gpgcheck=1 -gpgkey=http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/pub.key - -[glusterfs-noarch-epel] -name=GlusterFS is a clustered file-system capable of scaling to several petabytes. -baseurl=http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/epel-$releasever/noarch -enabled=1 -skip_if_unavailable=1 -gpgcheck=1 -gpgkey=http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/pub.key - -[glusterfs-source-epel] -name=GlusterFS is a clustered file-system capable of scaling to several petabytes. - Source -baseurl=http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/epel-$releasever/SRPMS -enabled=0 -skip_if_unavailable=1 -gpgcheck=1 -gpgkey=http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/pub.key diff --git a/test/images/volumes-tester/gluster/run_gluster.sh b/test/images/volumes-tester/gluster/run_gluster.sh index a813098ff2..5e564b45bc 100755 --- a/test/images/volumes-tester/gluster/run_gluster.sh +++ b/test/images/volumes-tester/gluster/run_gluster.sh @@ -14,10 +14,15 @@ # See the License for the specific language governing permissions and # limitations under the License. +DIR=`mktemp -d` + function start() { + mount -t tmpfs test $DIR + chmod 755 $DIR + cp /vol/* $DIR/ /usr/sbin/glusterd -p /run/glusterd.pid - gluster volume create test_vol `hostname -i`:/vol force + gluster volume create test_vol `hostname -i`:$DIR force gluster volume start test_vol } @@ -25,6 +30,8 @@ function stop() { gluster --mode=script volume stop test_vol force kill $(cat /run/glusterd.pid) + umount $DIR + rm -rf $DIR exit 0 }