Project

General

Profile

Bug #14952

Some start expressions are ignored

Added by Marco Mambelli almost 4 years ago. Updated almost 4 years ago.

Status:
Closed
Priority:
Urgent
Category:
-
Target version:
Start date:
12/29/2016
Due date:
% Done:

0%

Estimated time:
First Occurred:
Occurs In:
Stakeholders:
Duration:

Description

Mats reported that the following start_expr in the frontend configuration were giving problems:

GLOBAL
(TARGET.Owner == "rsv") || 
(
             (!isUndefined(TARGET.ProjectName) || Owner == "rsv") &&
             (MY.OSGVO_OS_STRING == "RHEL 6" || !isUndefined(WantsRHEL7) || Owner == "rynge" || Owner == "donkri" || Owner == "yx5" || Owner == "dschultz") &&
             (GLIDEIN_Site =!= "NotreDame" || TARGET.ProjectName == "SPLINTER" || TARGET.ProjectName == "TG-IBN130001" || TARGET.ProjectName == "Duke-QGP" || TARGET.Owner == "dschultz") &&
             (GLIDEIN_Site =!= "CancerComputer" || TARGET.ProjectName == "SPLINTER") &&
             (GLIDEIN_ResourceName =!= "GridUNESP_CENTRAL" || regexp("xd-login.opensciencegrid.org", User)) &&
             (isUndefined(WantsStashCvmfs) ||
               !WantsStashCvmfs ||
               isUndefined(GLIDEIN_PS_CVMFS_stash_osgstorage_org_REVISION) ||
               isUndefined(SUBMITTER_stash_osgstorage_org_REVISION) ||
               GLIDEIN_PS_CVMFS_stash_osgstorage_org_REVISION >= SUBMITTER_stash_osgstorage_org_REVISION
          )

)

GROUP:
((DESIRED_Sites=?=undeined) || stringListMember(GLIDEIN_Site,DESIRED_Sites,",")) &&
(GLIDEIN_Site =!= "CancerComputer" || TARGET.ProjectName == "SPLINTER") &&amp
(MY.PartitionableSlot =!= True || MY.MonitorSelfAge > 120 || MY.TotalSlotCpus == 1 || TARGET.RequestCpus > 1) &&
(TARGET.SleepSlot=!= True) && 
(TARGET.ITB_Sites =!= True) && 
(TARGET.ITB_Factory =!= True) && 
(isUndefined(RequestGPUs) || RequestGPUs == 0)

In the glidein only the group expression was considered. The global expression was 'True'

This happened because add_config_line was thinking that the expression was already in the glidein_config line for a bug in a regular expression: using egrep some special character were not escaped causing a match.
So the constant GLIDECLIENT_Start was not added to glidein_cinfig and not used in the glidein matching (replaced by the default value 'True').

History

#1 Updated by Marco Mambelli almost 4 years ago

Fix is in v3/14952 branch.

A workaround consist in enclosing the start_expr in parenthesis:

start_expr = '( your expression from before )'

#2 Updated by Marco Mambelli almost 4 years ago

Check [#14953] for other problems with add_config_line

#3 Updated by Parag Mhashilkar almost 4 years ago

  • Status changed from New to Feedback
  • Assignee set to Marco Mambelli

Code changes are ok. But there is inconsistency between flock wait time used v/s wait time mentioned in the comments. Make the appropriate changes and merge it to branch_v3_2.

#4 Updated by Parag Mhashilkar almost 4 years ago

  • Status changed from Feedback to Resolved

These changes are ok. Previous comment was meant for #14953

#5 Updated by Parag Mhashilkar almost 4 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF