[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

Hope the above helps,
Todd