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

Re: [HTCondor-users] htcondor regexps and GROUP_NAMES questions (bugs ?)



Arggh…

 

I thoug I had almost things as needed using this :

tmp1 = ifThenElse(regexp("([_a-z0-9]+)[\.](.+)",x509UserProxyVOName), regexps("([_a-z0-9]+)[\.](.+)",x509UserProxyVOName,"\1_\2"), x509UserProxyVOName )

tmp2 = ifThenElse(regexp("([_a-z0-9]+)[\.](.+)",$(tmp1)), regexps("([_a-z0-9]+)[\.](.+)",$(tmp1) ,"\1_\2"), $(tmp1) )

tmp3 = ifThenElse(regexp("([_a-z0-9]+)[\.](.+)",$(tmp2)), regexps("([_a-z0-9]+)[\.](.+)",$(tmp2) ,"\1_\2"), $(tmp2) )

tmp4 = ifThenElse(regexp("([_a-z0-9]+)[\.](.+)",$(tmp3)), regexps("([_a-z0-9]+)[\.](.+)",$(tmp3) ,"\1_\2"), $(tmp3) )

escVOName = ifThenElse(regexp("([_a-z0-9]+)[\.](.+)",$(tmp4)), regexps("([_a-z0-9]+)[\.](.+)",$(tmp4) ,"\1_\2"), $(tmp4) )

 

This very awfull in the history logs, but lets admit I keep that.

I added a subgroup to the accounting group.

The condor Scheduler is reporting this kind of thing now :

 

06/19/14 18:23:30 (pid:11656) Match record (slot1@xxxxxxxxxxxx <xxxx:40014> for group_vo_irfu_cea_fr.pilot, 43.0) deleted

 

The ‘.pilot’ subgroup seems correctly accepted

But :

 

condor]# condor_userprio -grouporder

Segmentation fault

 

Bam.  :’(

 

Any idea what I could do to fix

An strace only shows this is crashing after contacting the condor negotiator and then closing the socket… ??

 

Thanks for any hint

 

Regards

 

 

De : HTCondor-users [mailto:htcondor-users-bounces@xxxxxxxxxxx] De la part de SCHAER Frederic
Envoyé : jeudi 19 juin 2014 10:40
À : htcondor-users@xxxxxxxxxxx
Objet : [PROVENANCE INTERNET] [HTCondor-users] htcondor regexps and GROUP_NAMES questions (bugs ?)

 

Hi,

 

I am discovering htcondor and trying to prepare a setup, and I am facing a few things that I hope someone will be able to help me resolve…

I installed condor-8.0.7-250355.x86_64 from the official repositories.

 

Problem 1/4 :

 

In the config I have defined several/many accounting groups, so that I can try to replicate our current torque config.

Unfortunately, it seems to me that having too many groups defined causes the command condor_userprio to crash.

I.E :

 

GROUP_NAMES = a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p ==> condor_userprio -grouporder ==> segfaults

GROUP_NAMES = a, b, c, d, e, f, g, h, i, j, k, l, m, n, o ==> condor_userprio -grouporder ==> works

 

I am wondering if I am doing something wrong, or if the number of group names would be limited (or is this a bug ?) ?

 

Problem 2/4 :

 

Another issue I am facing is the following : I am attempting to interface condor with an ARC CE from nordugrid, and I am submitting jobs using jobs with a “VO” named “vo.irfu.cea.fr”.

This appears as :  x509UserProxyVOName = "vo.irfu.cea.fr"

 

Since we want to define fairshares/accounting groups based on the VO names, I first attempted to use this name as an accounting group, but I then thought I was going to have issues with the dots in the name, since the dot is reserved for subgroups.

I therefore searched for a function that would replace all occurences of the dots with another char, but did not find one.

At least, I haven’t read anything about the regexps function that would seem to correspond to that functionality : is there such a way to do a global replace ?

If not, I will try to cascade several recursive calls in order to get rid of as many dots as I think are possible in a vo name.

 

Problem 3/4 :

 

Next thing I am facing is the following, and concerns the regexps function which I’m still failing at using : this is what I have found using classad_functional_tester :

 

> print $x509UserProxyVOName

"vo.irfu.cea.fr"

> eval b=regexps("(.*)\.([a-z]+)", $x509UserProxyVOName , "\1_\2")

_

> eval b=regexps("(.*)\.([a-z]+)", $x509UserProxyVOName , "\\1_\\2")

vo.irfu.cea._r

> eval b=regexps("(.*)[.]([a-z]+)", $x509UserProxyVOName , "\\1_\\2")

vo.irfu.cea_fr

 

I would have thought the first regexp to be the correct one, I’m wondering why there is a need for double escaping, and why an escaped dot would be equivalent to “nothing” (maybe I should have double escaped the dot….) ?

Note : I realize I must add all alphanumeric chars in the regexp.

 

Problem 4/4 :

 

My last question is the following : in condor_config.local, I’ve set this both on the scheduler and collector nodes (I have 2 nodes + 1 startd node):

 

EscapedX509VOName = regexps("(.*)[.]([a-z]+)", regexps("(.*)[.]([a-z]+)", regexps("(.*)[.]([a-z]+)", regexps("(.*)[.]([a-z]+)", $x509UserProxyVOName , "\\1_\\2") , "\\1_\\2") , "\\1_\\2") , "\\1_\\2")

(…)

AcctGroup = strcat("group_", $EscapedX509VOName, ".",AcctSubGroup, ".", Owner)

 

A condor_reconfig was triggered after the config change.

 

This does not seem to work, it’s like EscapedX509VOName never existed, and AcctGroup is not set neither.

Condor_userprio gives me :

 

irf030@xxxxxxxxxxxxxxx      50144.30 100000.00      0         0.10      <now>

 

So, strcat does not concatenate anything.… what am I doing wrong ?

I have tried replacing all occurences of the EscapedX509VOName variable with its real _expression_ (but I’d like to avoid that for readability), to no avail neither … any idea ?

 

Thanks

 

Frederic Schaer