diff --git a/roles/slurm/tasks/main.yml b/roles/slurm/tasks/main.yml index 0d6513c6af6d957e2370d298be52c5c7d1af1648..a3a5ca1950ac30106ab54692280e2a7d7d37d82b 100644 --- a/roles/slurm/tasks/main.yml +++ b/roles/slurm/tasks/main.yml @@ -43,6 +43,13 @@ template: src=slurm.conf.j2 dest=/etc/slurm/slurm.conf sudo: true notify: restart slurm + when: slurm_use_vpn==False + +- name: install slurm.conf + template: src=slurm-vpn.conf.j2 dest=/etc/slurm/slurm.conf + sudo: true + notify: restart slurm + when: slurm_use_vpn==True - name: start slurm service: name=slurm state=started diff --git a/roles/slurm/templates/slurm-vpn.conf.j2 b/roles/slurm/templates/slurm-vpn.conf.j2 new file mode 100644 index 0000000000000000000000000000000000000000..9e4f5867638ae20ebc24a26e018f07c5c4710b59 --- /dev/null +++ b/roles/slurm/templates/slurm-vpn.conf.j2 @@ -0,0 +1,109 @@ +# +# Example slurm.conf file. Please run configurator.html +# (in doc/html) to build a configuration file customized +# for your environment. +# +# +# slurm.conf file generated by configurator.html. +# +# See the slurm.conf man page for more information. +# +ClusterName=CIAB +ControlMachine={{ slurmctrl }} +ControlAddr={{ slurmctrl }}-vpn +#BackupController= +#BackupAddr= +# +SlurmUser=slurm +#SlurmdUser=root +SlurmctldPort=6817 +SlurmdPort=6818 +AuthType=auth/munge +#JobCredentialPrivateKey= +#JobCredentialPublicCertificate= +StateSaveLocation=/tmp +SlurmdSpoolDir=/tmp/slurmd +SwitchType=switch/none +MpiDefault=none +SlurmctldPidFile=/var/run/slurmctld.pid +SlurmdPidFile=/var/run/slurmd.pid +ProctrackType=proctrack/pgid +#PluginDir= +CacheGroups=0 +#FirstJobId= +ReturnToService=0 +#MaxJobCount= +#PlugStackConfig= +#PropagatePrioProcess= +#PropagateResourceLimits= +#PropagateResourceLimitsExcept= +#Prolog= +#Epilog= +#SrunProlog= +#SrunEpilog= +#TaskProlog= +#TaskEpilog= +#TaskPlugin= +#TrackWCKey=no +#TreeWidth=50 +#TmpFS= +#UsePAM= +# +# TIMERS +SlurmctldTimeout=300 +SlurmdTimeout=300 +InactiveLimit=0 +MinJobAge=300 +KillWait=30 +Waittime=0 +# +# SCHEDULING +SchedulerType=sched/backfill +#SchedulerAuth= +#SchedulerPort= +#SchedulerRootFilter= +SelectType=select/linear +FastSchedule=1 +#PriorityType=priority/multifactor +#PriorityDecayHalfLife=14-0 +#PriorityUsageResetPeriod=14-0 +#PriorityWeightFairshare=100000 +#PriorityWeightAge=1000 +#PriorityWeightPartition=10000 +#PriorityWeightJobSize=1000 +#PriorityMaxAge=1-0 +# +# LOGGING +SlurmctldDebug=3 +#SlurmctldLogFile= +SlurmdDebug=3 +#SlurmdLogFile= +JobCompType=jobcomp/none +#JobCompLoc= +# +# ACCOUNTING +#JobAcctGatherType=jobacct_gather/linux +#JobAcctGatherFrequency=30 +# +#AccountingStorageType=accounting_storage/slurmdbd +#AccountingStorageHost= +#AccountingStorageLoc= +#AccountingStoragePass= +#AccountingStorageUser= +# +MpiParams=ports=12000-12999 +# COMPUTE NODES +{% set nodelist = [] %} +{% for queue in slurmqueues %} +{% for node in groups[queue.group] %} +{% if nodelist.append(node) %} +{% endif %} +{% endfor %} +{% endfor %} +{% for node in nodelist|unique %} +NodeName={{ node }} NodeAddr={{ node }}-vpn Procs={{ hostvars[node]['ansible_processor_cores'] }} State=UNKNOWN +{% endfor %} + +{% for queue in slurmqueues %} +PartitionName={{ queue.name }} Nodes={{ groups[queue.group]|join(',') }} +{% endfor %} diff --git a/scripts/makehosts.py b/scripts/makehosts.py index 52b138893f532f9dc3503b38ace10200780655e4..97e97afac86363a3107f3f066be10586460c05d9 100755 --- a/scripts/makehosts.py +++ b/scripts/makehosts.py @@ -20,3 +20,10 @@ for h in hosts.keys(): for name in hosts[h]: string=string+" %s"%(name) print string + +for h in hosts.keys(): + if d['hostvars'].has_key(h): + if d['hostvars'][h].has_key('ansible_tun0'): + string="%s"%(d['hostvars'][h]['ansible_tun0']['ipv4']['address']) + string=string+" %s-vpn"%h + print string diff --git a/topplay.yml b/topplay.yml index d4434f27aa39e2180a613fb7d3a95ce64df39d52..86513d08bf005c91e7e63e30886a42a269fe9784 100644 --- a/topplay.yml +++ b/topplay.yml @@ -53,10 +53,17 @@ roles: - { role: OpenVPN-Client } -- hosts: 'SubmitHost' +- hosts: ComputeNode + vars: + openmpi_version: 1.8.3 + build_node: aciab-comp-0 roles: - { role: slurm-build, slurm_version: 14.11.0, munge_version: 0.5.11 } +- hosts: '*' + roles: + - etcHosts + - hosts: '*' vars: slurm_version: 14.11.0