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

Re: [HTCondor-users] output files and umask



On Fri, Feb 3, 2017 at 3:39 PM Todd Tannenbaum <tannenba@xxxxxxxxxxx> wrote:
>
> On 2/3/2017 1:19 PM, Michael Di Domenico wrote:
>
> >> Perhaps one quick workaround that would be easy to try is to just tell
> >> condor_submit to not create the stdout/err files, and let the job do that on
> >> its own.  That way the umask setting in your USER_JOB_WRAPPER should do the
> >> trick.  To do this, you can put in your job submit file
> >>   skip_file_checks = True
> >> or if you want to change the default behavior for condor_submit, you could
> >> put in your condor_config file:
> >>    SUBMIT_SKIP_FILECHECKS = True
> >>
> > but i'm not sure i understand what the submit_skip_filechecks is
> > doing.  does this mean users would no longer get the output/error
> > files precreated
>
> Correct.
>
> > and the endless string of dots when they submit a
> > job?
>
> Not sure... I think you want to use the "-terse" flag to condor_submit
> to get rid of the dots...
>
> > if that's true, it's an interesting use case for us, because we
> > have people that submit 65k processes per cluster (no dagman).
>
> Yes, a cluster of 65k jobs will certainly submit much faster if you have
> submit_skip_filechecks=true, because not only will that prevent
> condor_submit from creating stdout/err files, but it will also prevent
> condor_submit from asking the schedd to verify it can access all the
> files specified!
>
> > but i
> > don't understand what happens when that user uses a standard printf to
> > get output, where does it go?  or does the user also have open stdout
> > to a file in their program?
> >
>
> I believe the condor_starter on the execute node will also create the
> stdout/err files as the user if they are not already there.  So no
> changes to the job required if you simply set submit_skip_filechecks=true.

sorry to dredge up such an old thread.  i thought i had this fixed,
but it seems to have reverted at some point.  not sure how.

i'm getting this issue again where the system/user umasks are set to
0027, but we're seeing condor log/out/err files being created with
0022 umasks.

i have a job wrapper which sets the umask 0027 then does an exec $@
i have umask 0027 defined in my systemd service file
/etc/bashrc,cshrc files set the umask as 0027
and i've enabled skip_filechecks = true

but none of this works, the log/out/err files are still being created as 0022

i did a quick grep of the source code and i see umask being hardcoded
and set to 022 in a bunch of places.  i don't know the code well
enough to know which one of them is resetting the umask before it
writes out the log/out/err files.  further i'm worried changing it in
the code is going to break something.

this still seems to only happen when dagman submits the jobs rather
then the user with condor_submit.  i hope that narrows the code path a
bit and might be able to have someone tell where i can fix the code