Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bind all files/paths needed for host condor config #36

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

kpedro88
Copy link
Contributor

@kpedro88 kpedro88 commented Oct 8, 2024

This will improve resiliency to minor changes in the LPC condor configuration. (Major changes, e.g. new/different files or paths, would still require a manual update.)

src/lpcjobqueue/schedd.py Outdated Show resolved Hide resolved
@kpedro88
Copy link
Contributor Author

kpedro88 commented Oct 8, 2024

The issue mentioned in #21 (comment) (/usr/local/bin/cmslpc-local-conf.py requiring /usr/bin/python3) should theoretically still be present here, but both the Dask and Coffea tests worked for me when running with the modifications in this PR.

@kpedro88
Copy link
Contributor Author

kpedro88 commented Oct 8, 2024

One approach to solve the /usr/bin/python3 issue (if it is in fact still an issue): create a fake python3 and bind it into the right place: kpedro88@7a82dab. I am not sure if this is desirable, though.

@kpedro88 kpedro88 marked this pull request as draft October 8, 2024 00:55
…fig.

it disables use of the local config file specified by /usr/local/bin/cmslpc-local-conf.py;
cmslpc-local-conf still runs, but the attribute it adds (location of local config file) will now be ignored by condor.
this avoids "ERROR: Can't read config source" from condor commands (because the /storage area has wrong ownership inside the container)
the local config file is not actually created until the custom /usr/local/bin/condor_submit is used, and it is never used here.
@kpedro88
Copy link
Contributor Author

kpedro88 commented Oct 8, 2024

Everything seems to work now, after figuring out how to prevent Condor from reading the non-existent, non-accessible local config file. This does require the "fake python3" approach noted above, because cmslpc-local-conf.py is still unavoidably executed by Condor, even though its settings are now ignored. I also fixed a few minor pre-existing bugs.

@kpedro88 kpedro88 marked this pull request as ready for review October 8, 2024 17:02
@kpedro88
Copy link
Contributor Author

kpedro88 commented Oct 8, 2024

Notably, the condor executables built into the coffea-dask image should work in general now (with the usual caveats that the lpc setup requires specifying the schedd or other weird arguments, depending on the command).

@kpedro88
Copy link
Contributor Author

kpedro88 commented Oct 8, 2024

While thinking about how to generalize this beyond the coffea containers, I figured out a simplification that avoids the need for the fake python3 executable.

@kpedro88
Copy link
Contributor Author

kpedro88 commented Oct 8, 2024

It is actually possible to golf this even further as shown at https://github.com/FNALLPC/lpc-scripts/blob/ff047ce7da1965caea1a3b92342346441d6fdda5/bind_condor.sh#L9-L12, but I don't think that's necessary here since some other temporary/hidden files are already created, so one more does not make a big difference.

@kpedro88
Copy link
Contributor Author

kpedro88 commented Nov 7, 2024

@nsmith- @lgray have you had a chance to look at this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant