Commit 06441196 authored by Elvin Sindrilaru's avatar Elvin Sindrilaru
Browse files

Update for EOS Citrine and QuarkDB backend

parent c2726691
#
# Simple EOS Docker file
#
# Version 0.1
# Version 0.2
# Use the fedora base image
FROM fedora:20
MAINTAINER Elvin Sindrilaru, esindril@cern.ch, CERN 2014
FROM centos:7
MAINTAINER Elvin Sindrilaru, esindril@cern.ch, CERN 2017
# Add the EOS repository
ADD eos.repo /etc/yum.repos.d/eos.repo
RUN yum -y --nogpg update
# Create the /var/lock/subsys directory needed by the eos daemons
ADD eos.conf /etc/tmpfiles.d/eos.conf
RUN systemd-tmpfiles --create /etc/tmpfiles.d/eos.conf
# Add required repositories
ADD *.repo /etc/yum.repos.d/
# Configuration files for the EOS test instance
# Add configuration files for EOS instance
ADD eos.sysconfig /etc/sysconfig/eos
ADD xrd.cf.mgm /etc/xrd.cf.mgm
ADD xrd.cf.fst1 /etc/xrd.cf.fst1
ADD xrd.cf.fst2 /etc/xrd.cf.fst2
ADD xrd.cf.fst3 /etc/xrd.cf.fst3
ADD xrd.cf.fst4 /etc/xrd.cf.fst4
ADD xrd.cf.fst5 /etc/xrd.cf.fst5
ADD xrd.cf.fst6 /etc/xrd.cf.fst6
# Add EOS setup script
ADD eos_setup.sh /tmp/eos_setup.sh
# Instal XRootD 3.3.6 dependency
RUN yum -y --nogpg install perl
ENV XRD_VER 3.3.6
RUN yum --disablerepo="*" --enablerepo="eos-beryl" -y --nogpg install \
xrootd-$XRD_VER \
xrootd-client-$XRD_VER \
xrootd-client-libs-$XRD_VER \
xrootd-libs-$XRD_VER \
xrootd-server-devel-$XRD_VER \
xrootd-server-libs-$XRD_VER
ADD xrd.cf.* /etc/
# Instal XRootD
ENV XRD_VERSION 4.5.0
RUN yum -y --nogpg install \
xrootd-$XRD_VERSION \
xrootd-client-$XRD_VERSION \
xrootd-client-libs-$XRD_VERSION \
xrootd-libs-$XRD_VERSION \
xrootd-server-devel-$XRD_VERSION \
xrootd-server-libs-$XRD_VERSION
# Install EOS
RUN yum -y --nogpg install eos-server eos-testkeytab
# Start the eos instance in master mode
RUN service eos master mgm
RUN service eos master mq
# Finish configuration of EOS
RUN mkdir /home/data && \
mkdir /home/data/eos1 && \
mkdir /home/data/eos2 && \
mkdir /home/data/eos3 && \
mkdir /home/data/eos4 && \
mkdir /home/data/eos5 && \
mkdir /home/data/eos6
RUN chmod +x /tmp/eos_setup.sh
RUN chown -R daemon:daemon /home/data/*
CMD service eos restart && \
/tmp/eos_setup.sh && \
/bin/bash
RUN yum -y --nogpg install\
eos-server eos-testkeytab quarkdb\
initscripts less emasc && yum clean all
ADD eos_setup.sh /
ENTRYPOINT ["/bin/bash"]
# EOS tmpfile.d configuration which creates the necessary /var/lock/subsystem
# directory with the proper permissions and ownership
# This file should be saved in /etc/tmpfiles.d/ for Fedora releases
d /run/lock/subsys 0755 root root -
\ No newline at end of file
[eos-beryl]
name=EOS 0.3 Version
baseurl=http://eos.cern.ch/rpms/eos-beryl/slc-6-x86_64/
[eos]
name=EOS 4 Version
baseurl=https://dss-ci-repo.web.cern.ch/dss-ci-repo/eos/ns_quarkdb/commit/el-7/x86_64/
gpgcheck=0
enabled=1
\ No newline at end of file
enabled=1
[eos-depend]
name=EOS 4 Dependencies
baseurl=https://dss-ci-repo.web.cern.ch/dss-ci-repo/eos/ns_quarkdb-depend/el-7-x86_64/
gpgcheck=0
enabled=1
......@@ -40,25 +40,25 @@ XRD_ROLES="mq sync mgm fst1 fst2 fst3 fst4 fst5 fst6"
# ------------------------------------------------------------------
# The EOS instance name
export EOS_INSTANCE_NAME=eostest
export EOS_INSTANCE_NAME=DUMMY_INSTANCE_TO_REPLACE
# The EOS configuration to load after daemon start
export EOS_AUTOLOAD_CONFIG=default
# The EOS broker URL
export EOS_BROKER_URL=root://localhost:1097//eos/
export EOS_BROKER_URL=root://DUMMY_HOST_TO_REPLACE:1097//eos/
# The EOS host geo location tag used to sort hosts into geographical (rack) locations
export EOS_GEOTAG=""
export EOS_GEOTAG="DUMMY_HOST_TO_REPLACE"
# The fully qualified hostname of MGM master1
export EOS_MGM_MASTER1=eostest.cern.ch
export EOS_MGM_MASTER1=DUMMY_HOST_TO_REPLACE
# The fully qualified hostname of MGM master2
export EOS_MGM_MASTER2=eostest1.cern.ch
export EOS_MGM_MASTER2=DUMMY_HOST_TO_REPLACE
# The alias which selects master 1 or 2
export EOS_MGM_ALIAS=eostest.cern.ch
export EOS_MGM_ALIAS=DUMMY_HOST_TO_REPLACE
# The mail notification in case of fail-over
#export EOS_MAIL_CC="apeters@mail.cern.ch"
......@@ -137,4 +137,4 @@ export EOS_TEST_TESTSYS=/tmp/eos-instance-test/
export EOS_TEST_GSMLOCKTIME=3600
# max. time given to the test to finish
export EOS_TEST_TESTTIMESLICE=300;
\ No newline at end of file
export EOS_TEST_TESTTIMESLICE=300
......@@ -2,17 +2,48 @@
# Script used to register the filesystems in EOS and enable all the features
# necessary for a default setup
set -e
EOSHOST=`hostname -f`
EOSINSTANCENAME=`hostname -s`
HOSTNAME=`hostname -f`
echo "Running the configuration script for host: $HOSTNAME"
echo "Configure QuarkDB backend ..."
mkdir -p /var/quarkdb/node-0
chown -R daemon:daemon /var/quarkdb/node-0
/usr/bin/xrootd -n quarkdb -c /etc/xrd.cf.quarkdb -l /var/log/eos/xrdlog.quarkdb -b -Rdaemon
echo "Configure EOS instance ..."
sed -i -e "s/DUMMY_HOST_TO_REPLACE/${EOSHOST}/" /etc/sysconfig/eos
sed -i -e "s/DUMMY_INSTANCE_TO_REPLACE/${EOSINSTANCENAME}/" /etc/sysconfig/eos
source /etc/sysconfig/eos
export SYSTEMCTL_SKIP_REDIRECT=1
mkdir -p /run/lock/subsys
mkdir -p /var/eos/config/${EOSHOST}
chown daemon:root /var/eos/config/${EOSHOST}
touch /var/eos/config/${EOSHOST}/default.eoscf
chown daemon:daemon /var/eos/config/${EOSHOST}/default.eoscf
# MGM and MQ in master mode
touch /var/eos/eos.mq.master
touch /var/eos/eos.mgm.rw
# Start EOS daemons
/usr/bin/xrootd -n mq -c /etc/xrd.cf.mq -l /var/log/eos/xrdlog.mq -b -Rdaemon
/usr/bin/xrootd -n mgm -c /etc/xrd.cf.mgm -m -l /var/log/eos/xrdlog.mgm -b -Rdaemon
# Register FSTs with the EOS MGM
for i in {1..6}
do
echo "Starting fst${i} ..."
/usr/bin/xrootd -n fst${i} -c /etc/xrd.cf.fst${i} -l /var/log/eos/xrdlog.fst${i} -b -Rdaemon
echo "Add file system $i"
UUID=fst$i
DATADIR=/home/data/eos$i
echo "Create data directory for fst${i}"
mkdir -p $DATADIR
echo "$UUID" > $DATADIR/.eosfsuuid
echo "$i" > $DATADIR/.eosfsid
chown -R daemon:daemon $DATADIR
eos -b fs add -m $i $UUID $HOSTNAME:$((2000+$i)) $DATADIR default rw
eos -b node set $HOSTNAME:$((2000+$i)) on
done
......@@ -23,5 +54,5 @@ eos -b vid enable sss
eos -b vid enable unix
eos -b fs boot \*
eos -b config save -f default
exit 0
/bin/bash
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://linuxsoft.cern.ch/epel/7/$basearch
enabled=1
gpgcheck=0
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://linuxsoft.cern.ch/epel/7/$basearch/debug
enabled=1
gpgcheck=0
[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://linuxsoft.cern.ch/epel/7/SRPMS
enabled=0
gpgcheck=0
###########################################################
xrootd.fslib libXrdEosFst.so
xrootd.fslib -2 libXrdEosFst.so
xrootd.async off nosf
xrd.network keepalive
###########################################################
......@@ -14,8 +14,6 @@ all.manager localhost 2131
#ofs.trace open
###########################################################
xrd.port 2001
ofs.authlib libXrdEosAuth.so
ofs.authorize
ofs.persist off
ofs.osslib libEosFstOss.so
ofs.tpc pgm /usr/bin/xrdcp
......@@ -25,5 +23,4 @@ fstofs.broker root://localhost:1097//eos/
fstofs.autoboot true
fstofs.quotainterval 10
fstofs.metalog /var/eos/md/
#fstofs.trace client
###########################################################
###########################################################
xrootd.fslib libXrdEosFst.so
xrootd.fslib -2 libXrdEosFst.so
xrootd.async off nosf
xrd.network keepalive
###########################################################
......@@ -14,8 +14,6 @@ all.manager localhost 2131
#ofs.trace open
###########################################################
xrd.port 2002
ofs.authlib libXrdEosAuth.so
ofs.authorize
ofs.persist off
ofs.osslib libEosFstOss.so
ofs.tpc pgm /usr/bin/xrdcp
......@@ -25,5 +23,4 @@ fstofs.broker root://localhost:1097//eos/
fstofs.autoboot true
fstofs.quotainterval 10
fstofs.metalog /var/eos/md/
#fstofs.trace client
###########################################################
###########################################################
xrootd.fslib libXrdEosFst.so
xrootd.fslib -2 libXrdEosFst.so
xrootd.async off nosf
xrd.network keepalive
###########################################################
......@@ -14,8 +14,6 @@ all.manager localhost 2131
#ofs.trace open
###########################################################
xrd.port 2003
ofs.authlib libXrdEosAuth.so
ofs.authorize
ofs.persist off
ofs.osslib libEosFstOss.so
ofs.tpc pgm /usr/bin/xrdcp
......@@ -25,5 +23,4 @@ fstofs.broker root://localhost:1097//eos/
fstofs.autoboot true
fstofs.quotainterval 10
fstofs.metalog /var/eos/md/
#fstofs.trace client
###########################################################
###########################################################
xrootd.fslib libXrdEosFst.so
xrootd.fslib -2 libXrdEosFst.so
xrootd.async off nosf
xrd.network keepalive
###########################################################
......@@ -14,8 +14,6 @@ all.manager localhost 2131
#ofs.trace open
###########################################################
xrd.port 2004
ofs.authlib libXrdEosAuth.so
ofs.authorize
ofs.persist off
ofs.osslib libEosFstOss.so
ofs.tpc pgm /usr/bin/xrdcp
......@@ -25,5 +23,4 @@ fstofs.broker root://localhost:1097//eos/
fstofs.autoboot true
fstofs.quotainterval 10
fstofs.metalog /var/eos/md/
#fstofs.trace client
###########################################################
###########################################################
xrootd.fslib libXrdEosFst.so
xrootd.fslib -2 libXrdEosFst.so
xrootd.async off nosf
xrd.network keepalive
###########################################################
......@@ -14,8 +14,6 @@ all.manager localhost 2131
#ofs.trace open
###########################################################
xrd.port 2005
ofs.authlib libXrdEosAuth.so
ofs.authorize
ofs.persist off
ofs.osslib libEosFstOss.so
ofs.tpc pgm /usr/bin/xrdcp
......@@ -25,5 +23,4 @@ fstofs.broker root://localhost:1097//eos/
fstofs.autoboot true
fstofs.quotainterval 10
fstofs.metalog /var/eos/md/
#fstofs.trace client
###########################################################
###########################################################
xrootd.fslib libXrdEosFst.so
xrootd.fslib -2 libXrdEosFst.so
xrootd.async off nosf
xrd.network keepalive
###########################################################
......@@ -14,8 +14,6 @@ all.manager localhost 2131
#ofs.trace open
###########################################################
xrd.port 2006
ofs.authlib libXrdEosAuth.so
ofs.authorize
ofs.persist off
ofs.osslib libEosFstOss.so
ofs.tpc pgm /usr/bin/xrdcp
......@@ -25,5 +23,4 @@ fstofs.broker root://localhost:1097//eos/
fstofs.autoboot true
fstofs.quotainterval 10
fstofs.metalog /var/eos/md/
#fstofs.trace client
###########################################################
......@@ -70,5 +70,10 @@ mgmofs.auththreads 10
# Set the front end port number for incoming authentication requests
mgmofs.authport 15555
###########################################################
#-------------------------------------------------------------------------------
# Set the namespace plugin implementation
#-------------------------------------------------------------------------------
mgmofs.nslib /usr/lib64/libEosNsInMemory.so
#mgmofs.nslib /usr/lib64/libEosNsQuarkdb.so
if exec xrootd
xrd.port 7777
xrd.protocol redis:7777 /usr/lib64/libXrdRedis.so
redis.mode standalone
redis.database /var/quarkdb/node-0
fi
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment