Subject: Re: [HTCondor-users] Submit job from host to htcondor/mini container using python bindings
On 9/12/2025 1:51 PM, Gavin Price
wrote:
Hi all,
I started using HTCondor literally Tuesday so I'm an
ultranoob. I'm trying to do something that I
naively think should be pretty simple, e.g. run the
htcondor/mini container and submit a job from the host
using the python client.
Hi Gavin,
The htcondor/mini container is an all-in-one container that running
a full HTCondor System, including both the HTCondor Access Point
service (which holds and manages submitted jobs and runs the schedd)
and the Execution Point service (which runs jobs). All
configuration defaults should be reasonable, and no config
customization should be required.
Running this container is a great way to "kick the tires", learn how
to submit jobs and workflows, and play with the HTCondor Python API
bindings.
I think where you took a wrong turn was changing around the default
configuration by volume mounting config files (i.e.
"99-NO_AUTH.config"). I suggest you try again just without
customizing the configuration, the defaults should be fine. Note
that you cannot submit or run jobs as user "root"; the htcondor/mini
container has user "submituser" created for this purpose. Here is
what I did to run your submit a sleep job test:
C:\> docker run -d htcondor/mini
C:\> docker exec -it -u submituser quirky_shtern bash
[submituser@b7c643c8d107 /]$ python3
Python 3.9.21 (main, Jun 27 2025, 00:00:00)
[GCC 11.5.0 20240719 (Red Hat 11.5.0-5)] on linux
Type "help", "copyright", "credits" or "license" for more
information.
>>> import htcondor
>>> schedd = htcondor.Schedd()
>>> sub = htcondor.Submit({
... "executable": "/bin/sleep",
... "arguments": "30",
... "output" : "/tmp/sleep.out",
... "error" : "/tmp/sleep.err",
... "log" : "/tmp/sleep.log",
... })
>>> cluster_id = schedd.submit(sub)
OR... are you trying to use the htcondor/mini container to submit
jobs to an pre-existing Access Point (schedd) running someplace
else, e.g. on a remote server? That is NOT what the htcondor/mini
container is about or is configured to do; you probably want the
htcondor/submit container. Also, if you wish to simply get an
HTCondor Pool going across multiple servers or contains, you could
use the "get_htcondor" tool as described in the Admin
Quick Start Guide at
https://htcondor.readthedocs.io/en/latest/getting-htcondor/admin-quick-start.html