Skip to content

SciDAS/htcondor-python-docker

Repository files navigation

The beginnings of a Docker container image that can communicate with HTCondor using the Python API.

Make sure your HTCondor cluster (the submit node) has a condor_pool user useradd -m -s /bin/bash -U condor_pool

See Status section.

Dependencies

This doesn't necessarily seem like the best way to do this… In resources/:

  • HTCondor libs, extracted from a zip file in Anaconda: htcondor-python-8.6.0-py27_1.tar.bz2
  • HTCondor libs, copied from Centos container after yum install condor-python
  • boost-python/libboost_python.so built from source: boost_1_63_0.tar.bz2
  • libpcre/libpcre.so.1 symlinked from provided debian libpcre.so.3
  • libpcre and libcrypto copied from Centos container

See Also:

Example:

Using htcondor-docker-centos to run a small HTCondor cluster in the docker network htcondor:

$ docker run --rm -it --net=htcondor htcondor-python
Python 2.7.13 (default, May  1 2017, 22:44:36)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import htcondor
>>> import classad
>>> coll = htcondor.Collector("condor-master")
>>> results = coll.query(htcondor.AdTypes.Startd, "true", ["Name"])
>>> len(results)
4
>>> results
[[ MyType = "Machine"; Name = "slot3@condor-executor"; TargetType = "Job" ], [ MyType = "Machine"; Name = "slot4@condor-executor"; TargetType = "Job" ], [ MyType = "Machine"; Name = "slot1@condor-executor"; TargetType = "Job" ], [ MyType = "Machine"; Name = "slot2@condor-executor"; TargetType = "Job" ]]
>>> scheddAd = coll.locate(htcondor.DaemonTypes.Schedd, "condor-submitter")
>>> schedd = htcondor.Schedd(scheddAd)
>>> results = schedd.query()
>>> len(results)
0

Status:

The htcondor_test.py script demonstrates very simple job submission to remote condor-submitter node.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages