diff --git a/xrootd/Dockerfile b/xrootd/Dockerfile new file mode 100644 index 0000000..7984fcf --- /dev/null +++ b/xrootd/Dockerfile @@ -0,0 +1,30 @@ +FROM centos:7 + +# xrootd user - needs to be consistent with the host +RUN groupadd --gid 65432 xrootd && \ + useradd --gid xrootd --uid 65432 xrootd + +# Repositories +COPY *.repo /etc/yum.repos.d/ + +# Ceph +RUN yum -y install ceph-12.2.12-0.el7.x86_64 \ + ceph-common-12.2.12-0.el7.x86_64 + +# xrootd +RUN yum -y install xrootd-ceph \ + xrootd-client \ + xrootd-client-libs \ + xrootd-libs \ + xrootd-server \ + xrootd-server-libs \ + jemalloc + +# For N2N mapping +RUN yum -y install http://t2.unl.edu/store/osg/3.4/el7/contrib/x86_64/xrootd-cmstfc-1.5.2-3.osg34.el7.x86_64.rpm + +# Needed by the health-check scripts +RUN yum -y install openssl + +COPY docker-entrypoint.sh / +ENTRYPOINT ["/docker-entrypoint.sh"] diff --git a/xrootd/ceph-el7-x86_64.repo b/xrootd/ceph-el7-x86_64.repo new file mode 100644 index 0000000..6f0af76 --- /dev/null +++ b/xrootd/ceph-el7-x86_64.repo @@ -0,0 +1,8 @@ +[ceph-el7-x86_64] +name = ceph-el7-x86_64 +baseurl = http://mirrors.gridpp.rl.ac.uk/current/ceph-el7-x86_64/RPMS.luminous/ +metadata_expire = 7d +enabled = 1 +gpgcheck = 0 +priority = 40 +skip_if_unavailable = 0 diff --git a/xrootd/docker-entrypoint.sh b/xrootd/docker-entrypoint.sh new file mode 100755 index 0000000..ea00e6f --- /dev/null +++ b/xrootd/docker-entrypoint.sh @@ -0,0 +1,4 @@ +#!/bin/sh +export XrdSecSSSKT=/etc/gateway/sss.keytab.grp +export LD_PRELOAD=/usr/lib64/libjemalloc.so.1 +/usr/bin/xrootd -c /etc/xrootd/xrootd-ceph.cfg -k fifo -s /var/run/xrootd/xrootd-ceph.pid -n ceph diff --git a/xrootd/epel-7-x86_64.repo b/xrootd/epel-7-x86_64.repo new file mode 100644 index 0000000..85fcd72 --- /dev/null +++ b/xrootd/epel-7-x86_64.repo @@ -0,0 +1,9 @@ +[epel-7-x86_64] +name = epel-7-x86_64 +baseurl = http://mirrors.gridpp.rl.ac.uk/current/epel-7-x86_64/RPMS.base/ +metadata_expire = 7d +exclude = *ceph* librados* librbd* librgw* python-rados python-rbd rbd-fuse rbd-mirror rbd-nbd xrootd* +enabled = 1 +gpgcheck = 0 +priority = 50 +skip_if_unavailable = 0 diff --git a/xrootd/xrootd-scd-el7-x86_64.repo b/xrootd/xrootd-scd-el7-x86_64.repo new file mode 100644 index 0000000..7961a80 --- /dev/null +++ b/xrootd/xrootd-scd-el7-x86_64.repo @@ -0,0 +1,8 @@ +[xrootd-scd-el7-x86_64] +name = xrootd-scd-el7-x86_64 +baseurl = http://repos.gridpp.rl.ac.uk/yum/xrootd-scd/luminous/el7/x86_64/ +metadata_expire = 7d +enabled = 1 +gpgcheck = 0 +priority = 30 +skip_if_unavailable = 0