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

Re: [Condor-users] difficulty with putting a wrapper around condor_submit



On Wed, 27 Sep 2006, Preston Smith wrote:

> We're running a wrapper around condor_submit to require project numbers
> be specified as a ClassAd, (and to check them for validity).
>
> The wrapper looks in a couple different places for the user to specify,
> their project, and uses -a and the real condor_submit to slip it into
> the job ad.
>
>     exec "/opt/condor/bin/condor_submit.real  -append +Project=
> \"$PROJECT\" @_ ";
>
> This works great just submitting regular jobs, but with dagman it
> works less well:
>
> 9/21 10:23:21 Submitting Condor Node A job(s)...
> 9/21 10:23:21 submitting: condor_submit -a dag_node_name' '=' 'A -a
> +DAGManJobId
> ' '=' '9613 -a DAGManJobId' '=' '9613 -a submit_event_notes' '='
> 'DAG' 'Node:' '
> A -a +DAGParentNodeNames' '=' '"" /home/rcac/psmith/condor/test.submit
> 9/21 10:23:21 From submit: /opt/condor/bin/condor_submit  -append
> +Project="12345" -a dag_node_name = A -a +DAGManJobId = 9613 -a
> DAGManJobId = 9613 -
> a submit_event_notes = DAG Node: A -a +DAGParentNodeNames = "" /home/
> rcac/psmith
> /condor/tgtest.submit
> 9/21 10:23:21 From submit: Submitting job(s)
> 9/21 10:23:21 From submit: ERROR: Failed to parse -a argument line (#2).
> 9/21 10:23:21 failed while reading from pipe.
> 9/21 10:23:21 Read so far: /opt/condor/bin/condor_submit  -append
> +Project="12345" -a dag_node_name = A -a +DAGManJobId = 9613 -a
> DAGManJobId = 9613 -
> a submit_event_notes = DAG Node: A -a +DAGParentNodeNames = "" /home/
> rcac/psmith
> /condor/test.submit Submitting job(s)ERROR: Failed to parse -a
> argument line (
> #2).
> 9/21 10:23:21 ERROR: submit attempt failed
>
>
> I've stared at this for parts of a couple days, but I can't figure
> out what it's complaining about.
>
> Any ideas what's going wrong? The "failed while reading from pipe"
> message makes me wonder if dagman is sending STDIN to condor_submit,
> which I
> know that my wrapper script doesn't grok.

First of all, to clarify a bit -- your script is condor_submit, and the
original condor_submit is now condor_submit.real, is that correct?

The "failed while reading from pipe" message is from DAGMan itself -- it's
trying to read the output of condor_submit, so if your script outputs
something too different, it will fail.  DAGMan is looking for a line like
this:

    1 job(s) submitted to cluster 490.

Does the "Failed to parse -a" come from your script?  DAGMan passes a
bunch of -a arguments to condor_submit; if your script can't deal with
those, and pass them along to the real condor_submit, things will fail.

Kent Wenger
Condor Team