[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Condor-users] Forbid SlotID use in submit files?
- Date: Mon, 20 Apr 2009 15:29:52 +0200
- From: Steffen Grunewald <steffen.grunewald@xxxxxxxxxx>
- Subject: Re: [Condor-users] Forbid SlotID use in submit files?
On Mon, Apr 20, 2009 at 08:08:51AM -0500, Matthew Farrellee wrote:
> > I'd like to stop users from running jobs containing SlotID Requirements on
> > most pool nodes.
> > Would a START expression of the form
> > START = (TARGET.SlotID =?= UNDEFINED)
> > do the trick? (Did I get the idea of TARGET wrong?)
> > Thanks,
> > Steffen
> If jobs do have a SlotID, you're golden. If not, and jobs only
> references the SlotID in their Requirements expressions, you have the
> right idea with TARGET but that specific use wouldn't work.
Could you please explain why?
(Would something along the lines of
((TARGET.SlotID =!= 1) && (TARGET.SlotID =!= 2)... ) == False)
make a significant difference?
(And, BTW, is there no way to logically negate, except comparing to False?)
> You could use regexp instead, e.g. START = regexp(".*SlotID.*",
> Requirements), but that might get slow.
Probably I can waste a second when I can save a couple of hours of a machine
which would be used by mistake otherwise.
> If you really just want to prevent the old jobs from running, an
> alternative would be to flag all your old jobs as such, e.g.
> condor_qedit -const 'regexp(".*SlotID.*", Requirements)' FlaggedOld
> TRUE. Then your START could check for TARGET.FlaggedOld.
This would require constant vigilance - what I need is something automatic.
> Given that you can flag jobs with the old requirements expression, you
> could look into just rewriting the expressions entirely with condor_qedit.
But condor_qedit needs jobs already in the queue, and it would be a pain to
throw them out of their slots again.
I'd rather like them not to enter Running state at all - which is why RANKs