Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

I have an idea how to make one OS image that can be used for Torque, HTCondor, and Slurm such that we can have HTCondor jobs glidein to the Slurm cluster.  First we employ /etc/sysconfig/condor to cause HTCondor to fail to start if CONDOR_CONFIG points to a non-existing file, or succeed to start if CONDOR_CONFIG points to an existing file or isn't set at all.  Then we change the LOCAL_CONFIG_FILE in /etc/condor/condor_config to point to something in /var which can be modified locally on the diskless host.  This allows the Slurm pilot job to create a config file in /var with the DAEMON_SHUTDOWN rules.  This gives us an OS that can run glidein jobs or glide jobs in or whatever the terminology is.

Now a special pilot job can be submitted to the Slurm cluster that causes an HTCondor startd, by running /usr/sbin/condor_master -f, to run and therefore make the node into an HTCondor execution host.  This works because the OS is configured as an execution host for HTCondor as well as Slurm (and Torque probably) even though it doesn't start HTCondor on boot.  This way when the pilot job starts condor_master, the node announces itself as an execution host to the central manager.  HTCondor jobs can now run on this "glidein" node or whatever and when there are no more HTCondor jobs to run, the startd will exit then the master will exit then the Slurm pilot job will exit, doing some cleanup first, and the node goes back to being a Slurm node.


CONDOR_CONFIG

The condor_startd reads the CONDOR_CONFIG environment variable if it exists, to find its config file instead of the default /etc/condor/condor_config and exits with an error if there is a problem reading that file.

...