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

[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