title: Installing/emulating SLURM on an Ubuntu 16.04 desktop: slurmd fails to start
body: <h1>Edit</h1>
  
  <p>What I am really looking for is a way to emulate SLURM, something interactive and reasonably user-friendly that I can install.</p>
  
  <hr>
  
  <h1>Original post</h1>
  
  <p>I want to test drive some minimal examples with SLURM, and I am trying to install it all on a local machine with Ubuntu 16.04. I am following <a href="https://github.com/superphy/semantic/wiki/SLURM-install-guide" rel="noreferrer">the most recent slurm install guide I could find</a>, and I got as far as "start <code>slurmd</code> with <code>sudo /etc/init.d/slurmd start</code>".</p>
  
  <pre><code>[....] Starting slurmd (via systemctl): slurmd.serviceJob for slurmd.service failed because the control process exited with error code. See "systemctl status slurmd.service" and "journalctl -xe" for details.
   failed!
  </code></pre>
  
  <p>I do not know how to interpret the <code>systemctl</code> log:</p>
  
  <pre><code>● slurmd.service - Slurm node daemon
     Loaded: loaded (/lib/systemd/system/slurmd.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Thu 2017-10-26 22:49:27 EDT; 12s ago
    Process: 5951 ExecStart=/usr/sbin/slurmd $SLURMD_OPTIONS (code=exited, status=1/FAILURE)
  
  Oct 26 22:49:27 Haggunenon systemd[1]: Starting Slurm node daemon...
  Oct 26 22:49:27 Haggunenon systemd[1]: slurmd.service: Control process exited, code=exited status=1
  Oct 26 22:49:27 Haggunenon systemd[1]: Failed to start Slurm node daemon.
  Oct 26 22:49:27 Haggunenon systemd[1]: slurmd.service: Unit entered failed state.
  Oct 26 22:49:27 Haggunenon systemd[1]: slurmd.service: Failed with result 'exit-code'.
  </code></pre>
  
  <p><code>lsb_release -a</code> gives the following. (Yes, I know, KDE Neon is not exactly Ubuntu, strictly speaking.)</p>
  
  <pre><code>o LSB modules are available.
  Distributor ID: neon
  Description:    KDE neon User Edition 5.11
  Release:        16.04
  Codename:       xenial
  </code></pre>
  
  <p>Unlike the guide said, I used my own user name, <code>wlandau</code>, and I made sure to <code>chown</code> <code>/var/lib/slurm-llnl</code> and <code>/var/run/slurm-llnl</code> to me. Here is my <code>/etc/slurm-llnl/slurm.conf</code>.</p>
  
  <pre><code># slurm.conf file generated by configurator.html.
  # Put this file on all nodes of your cluster.
  # See the slurm.conf man page for more information.
  #
  ControlMachine=linux0
  #ControlAddr=
  #BackupController=
  #BackupAddr=
  #
  AuthType=auth/munge
  CacheGroups=0
  #CheckpointType=checkpoint/none
  CryptoType=crypto/munge
  #DisableRootJobs=NO
  #EnforcePartLimits=NO
  #Epilog=
  #EpilogSlurmctld=
  #FirstJobId=1
  #MaxJobId=999999
  #GresTypes=
  #GroupUpdateForce=0
  #GroupUpdateTime=600
  #JobCheckpointDir=/var/lib/slurm-llnl/checkpoint
  #JobCredentialPrivateKey=
  #JobCredentialPublicCertificate=
  #JobFileAppend=0
  #JobRequeue=1
  #JobSubmitPlugins=1
  #KillOnBadExit=0
  #LaunchType=launch/slurm
  #Licenses=foo*4,bar
  #MailProg=/usr/bin/mail
  #MaxJobCount=5000
  #MaxStepCount=40000
  #MaxTasksPerNode=128
  MpiDefault=none
  #MpiParams=ports=#-#
  #PluginDir=
  #PlugStackConfig=
  #PrivateData=jobs
  ProctrackType=proctrack/pgid
  #Prolog=
  #PrologFlags=
  #PrologSlurmctld=
  #PropagatePrioProcess=0
  #PropagateResourceLimits=
  #PropagateResourceLimitsExcept=
  #RebootProgram=
  ReturnToService=1
  #SallocDefaultCommand=
  SlurmctldPidFile=/var/run/slurm-llnl/slurmctld.pid
  SlurmctldPort=6817
  SlurmdPidFile=/var/run/slurm-llnl/slurmd.pid
  SlurmdPort=6818
  SlurmdSpoolDir=/var/lib/slurm-llnl/slurmd
  SlurmUser=wlandau
  #SlurmdUser=root
  #SrunEpilog=
  #SrunProlog=
  StateSaveLocation=/var/lib/slurm-llnl/slurmctld
  SwitchType=switch/none
  #TaskEpilog=
  TaskPlugin=task/none
  #TaskPluginParam=
  #TaskProlog=
  #TopologyPlugin=topology/tree
  #TmpFS=/tmp
  #TrackWCKey=no
  #TreeWidth=
  #UnkillableStepProgram=
  #UsePAM=0
  #
  #
  # TIMERS
  #BatchStartTimeout=10
  #CompleteWait=0
  #EpilogMsgTime=2000
  #GetEnvTimeout=2
  #HealthCheckInterval=0
  #HealthCheckProgram=
  InactiveLimit=0
  KillWait=30
  #MessageTimeout=10
  #ResvOverRun=0
  MinJobAge=300
  #OverTimeLimit=0
  SlurmctldTimeout=120
  SlurmdTimeout=300
  #UnkillableStepTimeout=60
  #VSizeFactor=0
  Waittime=0
  #
  #
  # SCHEDULING
  #DefMemPerCPU=0
  FastSchedule=1
  #MaxMemPerCPU=0
  #SchedulerRootFilter=1
  #SchedulerTimeSlice=30
  SchedulerType=sched/backfill
  SchedulerPort=7321
  SelectType=select/linear
  #SelectTypeParameters=
  #
  #
  # JOB PRIORITY
  #PriorityFlags=
  #PriorityType=priority/basic
  #PriorityDecayHalfLife=
  #PriorityCalcPeriod=
  #PriorityFavorSmall=
  #PriorityMaxAge=
  #PriorityUsageResetPeriod=
  #PriorityWeightAge=
  #PriorityWeightFairshare=
  #PriorityWeightJobSize=
  #PriorityWeightPartition=
  #PriorityWeightQOS=
  #
  #
  # LOGGING AND ACCOUNTING
  #AccountingStorageEnforce=0
  #AccountingStorageHost=
  #AccountingStorageLoc=
  #AccountingStoragePass=
  #AccountingStoragePort=
  AccountingStorageType=accounting_storage/none
  #AccountingStorageUser=
  AccountingStoreJobComment=YES
  ClusterName=cluster
  #DebugFlags=
  #JobCompHost=
  #JobCompLoc=
  #JobCompPass=
  #JobCompPort=
  JobCompType=jobcomp/none
  #JobCompUser=
  #JobContainerPlugin=job_container/none
  JobAcctGatherFrequency=30
  JobAcctGatherType=jobacct_gather/none
  SlurmctldDebug=3
  SlurmctldLogFile=/var/log/slurm-llnl/slurmctld.log
  SlurmdDebug=3
  SlurmdLogFile=/var/log/slurm-llnl/slurmd.log
  #SlurmSchedLogFile=
  #SlurmSchedLogLevel=
  #
  #
  # POWER SAVE SUPPORT FOR IDLE NODES (optional)
  #SuspendProgram=
  #ResumeProgram=
  #SuspendTimeout=
  #ResumeTimeout=
  #ResumeRate=
  #SuspendExcNodes=
  #SuspendExcParts=
  #SuspendRate=
  #SuspendTime=
  #
  #
  # COMPUTE NODES
  NodeName=linux[1-32] CPUs=1 State=UNKNOWN
  PartitionName=debug Nodes=linux[1-32] Default=YES MaxTime=INFINITE State=UP
  </code></pre>
  
  <h1>Follow-up</h1>
  
  <p>After rewriting my <code>slurm.conf</code> with the help of @damienfrancois, <code>slurmd</code> starts now. But unfortunately, <code>sinfo</code> hangs when I call it, and I get the same error message as before.</p>
  
  <pre><code>$ sudo /etc/init.d/slurmctld stop
  [ ok ] Stopping slurmctld (via systemctl): slurmctld.service.
  $ sudo /etc/init.d/slurmctld start
  [ ok ] Starting slurmctld (via systemctl): slurmctld.service.
  $ sinfo
  slurm_load_partitions: Unable to contact slurm controller (connect failure)
  $ slurmd -Dvvv
  slurmd: fatal: Frontend not configured correctly in slurm.conf.  See man slurm.conf look for frontendname.
  </code></pre>
  
  <p>Then I tried restarting the daemons, and <code>slurmd</code> failed to start all over again.</p>
  
  <pre><code>$ sudo /etc/init.d/slurmctld start
  [....] Starting slurmd (via systemctl): slurmd.serviceJob for slurmd.service failed because the control process exited with error code. See "systemctl status slurmd.service" and "journalctl -xe" for details.
   failed!
  </code></pre>