Skip to content
Snippets Groups Projects
Commit 5523bd9c authored by Matthias Schnepf's avatar Matthias Schnepf Committed by Matthias Schnepf
Browse files

Add singularity test site

parent d926c25b
Branches
No related tags found
No related merge requests found
# bwForCluster OpenStack Worker Setup
# -----------------------------------
# Cloud attributes
STARTD.CloudSite = "singularity"
# Matchmaking advertisement
STARTD.ProvidesIO = TRUE
STARTD.ProvidesCpu = TRUE
# localhost's condor is admin
ALLOW_ADMINISTRATOR = $(ALLOW_ADMINISTRATOR), \
condor@$(UID_DOMAIN)/$(IP_ADDRESS)
# Firewall may kill connections, which are inactive for too long
TCP_KEEPALIVE_INTERVAL = 4 * $(MINUTE)
# Wall-time
WalltimeDefault = 54000
# Read/set MachineMaxWalltime & MachineStarttime (set by cloud-init)
include command into $(ETC)/walltime.cfg : python $(ETC)/meta_walltime.py
MachineWalltime = $(MachineMaxWalltime:$(WalltimeDefault))
MaxShutdownTime = $(MachineStarttime) + $(MachineWalltime)
STARTD.MaxJobRetirementTime = $(MaxShutdownTime) - $(JobStart:0) - 3 * $(MINUTE)
# Auto Shutdown
# Shutting down MASTER will trigger shutdown to all other daemons
# Early "nice" shutdown 10 Minutes before limit is reached
MASTER.DAEMON_SHUTDOWN = ( TimeToLive <= 10 * $(MINUTE) )
# Fast shutdown, 3 minutes before wall-time limit is reached
MASTER.DAEMON_SHUTDOWN_FAST = ( TimeToLive <= 3 * $(MINUTE) )
# Machine/Job environment
# Use TardisDroneUuid to identify drones in OBS
TardisDroneUuid = "$ENV(TardisDroneUuid)"
STARTD_NAME = $ENV(TardisDroneUuid)
SINGULARITY_JOB = TRUE
# Forces all jobs to use the CernVM-based image.
SINGULARITY_IMAGE_EXPR = "/cvmfs/unpacked.cern.ch/registry.hub.docker.com/mschnepf/slc7-condocker:latest"
# Maps $_CONDOR_SCRATCH_DIR on the host to /srv inside the image.
SINGULARITY_TARGET_DIR = /srv
# Set Scratch to default
MOUNT_UNDER_SCRATCH =
# /scratch/.dist/etc/cvmfs:/etc/cvmfs fakes CVMFS configuration for CMS SAM tests
SINGULARITY_BIND_EXPR = "/cvmfs:/cvmfs /scratch/.cvmfsexec/dist/etc/cvmfs:/etc/cvmfs $ENV(HOME)/software/T1_DE_KIT/KIT-HOREKA:/etc/cvmfs/SITECONF /etc/hosts /etc/localtime"
SINGULARITY_EXTRA_ARGUMENTS = "--userns --env SINGULARITY_BIND= --env APPTAINER_BIND= --env APPTAINER_BINDPATH= --env SITECONFIG_PATH=/cvmfs/cms.cern.ch/SITECONF/T1_DE_KIT/KIT-T3"
# Inverse wall-time job ranking
# - prefer long running jobs (shorter jobs can back-fill)
###
# -> Scale by ( wall-time / remaining machine lifetime )
# Cut off by (START = FALSE) if RequestWalltime > TimeToLive.
# Thus we can safely set it to maximum in this case to prevent preemption
###
RankJobWtime = \
ifThenElse( isUndefined(TARGET.RequestWalltime), \
0, \
ifThenElse( TARGET.RequestWalltime > $(TimeToLive), \
$(RankJobWtimeMax), \
$(RankJobWtimeMax) * ( TARGET.RequestWalltime / $(TimeToLive) ) \
) \
)
# Average CPU utilization
STARTD_PARTITIONABLE_SLOT_ATTRS = $(STARTD_PARTITIONABLE_SLOT_ATTRS), CPUsUsage
AverageCPUsUsage = Sum(My.ChildCPUsUsage)/Sum(My.ChildCPUs)
STARTD_ATTRS = $(STARTD_ATTRS), AverageCPUsUsage
##Check if filesystems are mounted
#STARTD_CRON_JOBLIST = NODEHEALTH
#STARTD_CRON_NODEHEALTH_EXECUTABLE = $(ETC)/git/scripts/healthcheck_cvmfs.sh
#STARTD_CRON_NODEHEALTH_MODE = Periodic
#STARTD_CRON_NODEHEALTH_PERIOD = 600s
# Only accept RemoteJobs which will finish in time
START = $(START) && \
( TARGET.Owner=?= "mschnepf" ) && \
( TARGET.RemoteJob =?= TRUE ) && \
( $(TimeToLive) > TARGET.RequestWalltime )
......@@ -225,6 +225,31 @@
"name": "config_sites.json"
}
]
},
"Singularity": {
"config": [
"0001.constants.cfg",
"0002.linux.cfg",
"0010.node_base.cfg",
"0012.node_slave.cfg",
"0015.logging.cfg",
"0021.security.cfg",
"0060.node_worker.cfg",
"0065.node_worker_remote.cfg",
"0083.partitionable_slots.cfg",
"0085.auto_shutdown.cfg",
"0088.ssh_to_job.cfg",
"0220.singularity_test.cfg"
],
"scripts": [
{
"destination": "/etc/condor/",
"name": "config_pull.py"
},
{
"destination": "/etc/condor/",
"name": "shutdown.sh"
}
]
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment