configure.sh 1.88 KB
Newer Older
Fabio Hernandez's avatar
Fabio Hernandez committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
#!/bin/bash

# Configure this machine as a CernVM FS client to access LSST
# software repository served by CC-IN2P3.
# This script can be run multiple times.
# More information: https://github.com/airnandez/lsst-cvmfs

# We must run as 'root'
if [ "$EUID" -ne 0 ]; then
    echo "Please run as root"
    exit 1
fi

# Exit on error
set -e

# Run CernVM FS configuration
if [ ! -x /usr/bin/cvmfs_config ]; then
    echo "Could not find CernVM FS configuration tool"
    exit 1
fi
/usr/bin/cvmfs_config setup

# Configure CernVM FS
# WARNING: make sure we don't overwrite any existing configuration, different
# than ours
if [ -e /etc/cvmfs/default.local ]; then
    existing=`md5sum /etc/cvmfs/default.local | cut -b1-32`
    ours=`md5sum default.local | cut -b1-32`
    if [ "$existing" != "$ours" ]; then
        echo "CernVM FS is already configured in this machine in a potentially incompatible way"
        echo "see file /etc/cvmfs/default.local"
        exit 1
    fi
fi
cp default.local /etc/cvmfs/default.local
chmod 0644 /etc/cvmfs/default.local

# Configure the LSST repository and store its public key
cp lsst.in2p3.fr.conf /etc/cvmfs/config.d/lsst.in2p3.fr.conf
chmod 0644 /etc/cvmfs/config.d/lsst.in2p3.fr.conf
cp lsst.in2p3.fr.pub /etc/cvmfs/keys/lsst.in2p3.fr.pub
chmod 0444 /etc/cvmfs/keys/lsst.in2p3.fr.pub

# Check this configuration
result=`/usr/bin/cvmfs_config chksetup`
if [ "$result" != "OK" ]; then
    echo "There was an error checking your CernVM FS configuration:"
    echo $result
    exit 1
fi

# Check that we can reach the CernVM FS server
source lsst.in2p3.fr.conf
curl -s --proxy $CVMFS_HTTP_PROXY --head $CVMFS_SERVER_URL > /dev/null 2>&1
if [ $? -ne 0 ]; then
    echo "Cannot reach repository proxy server: $CVMFS_HTTP_PROXY"
    exit 1
fi


# Restart autofs
service autofs restart > /dev/null 2>&1
if [ $? -ne 0 ]; then
    echo "Could not restart autofs service"
    exit 1
fi

# Done
exit 0