diff --git a/compiled/cern/global/frontend.xml b/compiled/cern/global/frontend.xml index 0e8bf5049a52c4a317a5bd879ceab9c87e064472..1221f7dd39805d85e4d9ee01d326f21784b8c80a 100644 --- a/compiled/cern/global/frontend.xml +++ b/compiled/cern/global/frontend.xml @@ -17,7 +17,7 @@ <process_log backup_count="5" compression="" extension="debug" max_days="7.0" max_mbytes="100.0" min_days="3.0" msg_types="DEBUG"/> </process_logs> </log_retention> - <match match_expr='__import__("CMSGlobalMatcher").match(job, glidein)' start_expr='ifthenelse(GLIDEIN_REQUIRED_OS=?="any", (HAS_SINGULARITY=?=true && GLIDEIN_PS_HAS_SINGULARITY=!=false),( isUndefined(REQUIRED_OS) || REQUIRED_OS=?="any" || REQUIRED_OS=?=GLIDEIN_REQUIRED_OS )) && ifthenelse(MaxWallTimeMins=!=UNDEFINED,(MaxWallTimeMins*60)<(GLIDEIN_ToDie-MyCurrentTime),(16*3600)<(GLIDEIN_ToDie-MyCurrentTime)) && ((DynamicSlot =!= true) || (RequestCpus=?=Cpus)) && ifthenelse(SlotType=?="Static", RequestCpus <= Cpus, True)'> + <match match_expr='__import__("CMSGlobalMatcher").match(job, glidein)' start_expr='ifthenelse(GLIDEIN_REQUIRED_OS=?="any", (HAS_SINGULARITY=?=true && GLIDEIN_PS_HAS_SINGULARITY=!=false),( isUndefined(REQUIRED_OS) || REQUIRED_OS=?="any" || REQUIRED_OS=?=GLIDEIN_REQUIRED_OS )) && ifthenelse(MaxWallTimeMins=!=UNDEFINED,(MaxWallTimeMins*60)<(GLIDEIN_ToDie-MyCurrentTime),(16*3600)<(GLIDEIN_ToDie-MyCurrentTime)) && ((DynamicSlot =!= true) || (RequestCpus=?=Cpus)) && ifthenelse(SlotType=?="Static", RequestCpus <= Cpus, True) && CMS_MATCH_MICROARCH'> <factory query_expr='(stringListMember("CMS",GLIDEIN_Supported_VOs) || stringListMember("CMSGPU",GLIDEIN_Supported_VOs)) && (GLIDEIN_Max_Walltime=!=UNDEFINED) && (GLIDEIN_Retire_Time_Spread=!=UNDEFINED) && (GLIDEIN_MaxMemMBs=!=UNDEFINED) && (GLIDEIN_CMSSite=!=UNDEFINED) && (!stringListsIntersect("T2_CH_CERN_AI,T2_CH_CERN_HLT,T2_CH_CERN",GLIDEIN_CMSSite))'> <match_attrs> <match_attr name="GLIDEIN_Job_Min_Time" type="int"/> @@ -132,6 +132,7 @@ <attr name="GLIDEIN_OVERLOAD_ENABLED" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="False"/> <attr name="PREFER_IPV4" glidein_publish="True" job_publish="False" parameter="False" type="expr" value="False"/> <attr name="CHIRP_DELAYED_UPDATE_MAX_ATTRS" glidein_publish="True" job_publish="True" parameter="True" type="int" value="200"/> + <attr name="CMS_MATCH_MICROARCH" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="(Microarch is undefined || REQUIRED_MINIMUM_MICROARCH is undefined || REQUIRED_MINIMUM_MICROARCH<=int(substr(split(Microarch,"-")[1],1)))"/> <attr name="GLIDEIN_CLAIM_WORKLIFE_DYNAMIC" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="cpus*(6*3600)"/> <attr name="OSG_SINGULARITY_BINARY" glidein_publish="True" job_publish="True" parameter="True" type="string" value="/cvmfs/oasis.opensciencegrid.org/mis/apptainer/1.2.5/bin/apptainer"/> </attrs> @@ -560,7 +561,7 @@ <running_glideins_per_entry max="300" min="0" relative_to_queue="1.05"/> <running_glideins_total curb="3200" max="3500"/> </config> - <match match_expr='( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_UCSD", "T2_US_Caltech"] ) or ( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_Wisconsin"] and "MINIAODSIM" not in job["DESIRED_CMSDataset"] ) or ( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_MIT"] and ( "UL2016" in job["DESIRED_CMSDataset"] or "UL2017" in job["DESIRED_CMSDataset"]))' start_expr='ifthenelse(CMS_ALLOW_OVERFLOW isnt undefined,CMS_ALLOW_OVERFLOW=?="True", undefined) && (CRAB_UserRole=!="production") && ifthenelse(DESIRED_Overflow_Region isnt undefined, stringListMember(GLIDEIN_Country,DESIRED_Overflow_Region),undefined) &&( ((GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech") && (regexp("/*/RunIISummer(19|20)UL(16|17|18).*/MINIAODSIM", DESIRED_CMSDataset) || regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset))) || ( GLIDEIN_CMSSite=?="T2_US_Wisconsin" && regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset) ) || ( GLIDEIN_CMSSite=?="T2_US_MIT" && regexp("/*/Run201[6,7].*/MINIAOD/.*UL201[6,7].*", DESIRED_CMSDataset) ) ) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )'> + <match match_expr='(glidein["attrs"].get("GLIDEIN_Country") in job["DESIRED_Overflow_Region"].split(",")) and ( glidein["attrs"].get("GLIDEIN_CMSSite") not in ["T2_US_Wisconsin", "T2_US_MIT"] or "MINIAODSIM" not in job["DESIRED_CMSDataset"] )' start_expr='ifthenelse(CMS_ALLOW_OVERFLOW isnt undefined,CMS_ALLOW_OVERFLOW=?="True", undefined) && (CRAB_UserRole=!="production") && ifthenelse(DESIRED_Overflow_Region isnt undefined, stringListMember(GLIDEIN_Country,DESIRED_Overflow_Region),undefined) &&( ((GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech") && (regexp("/*/RunIISummer(19|20)UL(16|17|18).*/MINIAODSIM", DESIRED_CMSDataset) || regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset))) || ((GLIDEIN_CMSSite=?="T2_US_Wisconsin" || GLIDEIN_CMSSite=?="T2_US_MIT") && regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset)) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )'> <factory query_expr='(GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech" || GLIDEIN_CMSSite=?="T2_US_Wisconsin" || GLIDEIN_CMSSite=?="T2_US_MIT") && stringListMember("CMS",GLIDEIN_Supported_VOs) && !ifthenelse(CMS_Local_Entry isnt undefined, CMS_Local_Entry, False)'> <match_attrs> <match_attr name="GLIDEIN_CMSSite" type="string"/> diff --git a/compiled/cern/itb/frontend.xml b/compiled/cern/itb/frontend.xml index 80457a260348ac9456d52be14197069a6ff2a1bd..77336560125cacc0ffed119747f59a73082377c5 100644 --- a/compiled/cern/itb/frontend.xml +++ b/compiled/cern/itb/frontend.xml @@ -17,7 +17,7 @@ <process_log backup_count="5" compression="" extension="debug" max_days="7.0" max_mbytes="100.0" min_days="3.0" msg_types="DEBUG"/> </process_logs> </log_retention> - <match match_expr='__import__("CMSGlobalMatcher").match(job, glidein)' start_expr='ifthenelse(GLIDEIN_REQUIRED_OS=?="any", (HAS_SINGULARITY=?=true && GLIDEIN_PS_HAS_SINGULARITY=!=false),( isUndefined(REQUIRED_OS) || REQUIRED_OS=?="any" || REQUIRED_OS=?=GLIDEIN_REQUIRED_OS )) && ifthenelse(MaxWallTimeMins=!=UNDEFINED,(MaxWallTimeMins*60)<(GLIDEIN_ToDie-MyCurrentTime),(16*3600)<(GLIDEIN_ToDie-MyCurrentTime)) && ((DynamicSlot =!= true) || (RequestCpus=?=Cpus)) && ifthenelse(SlotType=?="Static", RequestCpus <= Cpus, True)'> + <match match_expr='__import__("CMSGlobalMatcher").match(job, glidein)' start_expr='ifthenelse(GLIDEIN_REQUIRED_OS=?="any", (HAS_SINGULARITY=?=true && GLIDEIN_PS_HAS_SINGULARITY=!=false),( isUndefined(REQUIRED_OS) || REQUIRED_OS=?="any" || REQUIRED_OS=?=GLIDEIN_REQUIRED_OS )) && ifthenelse(MaxWallTimeMins=!=UNDEFINED,(MaxWallTimeMins*60)<(GLIDEIN_ToDie-MyCurrentTime),(16*3600)<(GLIDEIN_ToDie-MyCurrentTime)) && ((DynamicSlot =!= true) || (RequestCpus=?=Cpus)) && ifthenelse(SlotType=?="Static", RequestCpus <= Cpus, True) && CMS_MATCH_MICROARCH'> <factory query_expr='(stringListMember("CMS",GLIDEIN_Supported_VOs) || stringListMember("CMSGPU",GLIDEIN_Supported_VOs)) && (GLIDEIN_Max_Walltime=!=UNDEFINED) && (GLIDEIN_Retire_Time_Spread=!=UNDEFINED) && (GLIDEIN_MaxMemMBs=!=UNDEFINED) && (GLIDEIN_CMSSite=!=UNDEFINED) && (!stringListsIntersect("T2_CH_CERN_AI,T2_CH_CERN_HLT",GLIDEIN_CMSSite))'> <match_attrs> <match_attr name="GLIDEIN_Job_Min_Time" type="int"/> @@ -117,6 +117,7 @@ <attr name="GLIDEIN_OVERLOAD_ENABLED" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="False"/> <attr name="PREFER_IPV4" glidein_publish="True" job_publish="False" parameter="False" type="expr" value="False"/> <attr name="CHIRP_DELAYED_UPDATE_MAX_ATTRS" glidein_publish="True" job_publish="True" parameter="True" type="int" value="200"/> + <attr name="CMS_MATCH_MICROARCH" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="(Microarch is undefined || REQUIRED_MINIMUM_MICROARCH is undefined || REQUIRED_MINIMUM_MICROARCH<=int(substr(split(Microarch,"-")[1],1)))"/> <attr name="GLIDEIN_CLAIM_WORKLIFE_DYNAMIC" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="cpus*(6*3600)"/> <attr name="GLIDEIN_DEBUG_OUTPUT" glidein_publish="True" job_publish="True" parameter="True" type="string" value="True"/> <attr name="GLIDEIN_DEBUG_OPTIONS" glidein_publish="True" job_publish="True" parameter="True" type="string" value="userjob"/> @@ -559,7 +560,7 @@ <running_glideins_per_entry max="300" min="0" relative_to_queue="1.05"/> <running_glideins_total curb="3200" max="3500"/> </config> - <match match_expr='( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_UCSD", "T2_US_Caltech"] ) or ( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_Wisconsin"] and "MINIAODSIM" not in job["DESIRED_CMSDataset"] ) or ( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_MIT"] and ( "UL2016" in job["DESIRED_CMSDataset"] or "UL2017" in job["DESIRED_CMSDataset"]))' start_expr='ifthenelse(CMS_ALLOW_OVERFLOW isnt undefined,CMS_ALLOW_OVERFLOW=?="True", undefined) && (CRAB_UserRole=!="production") && ifthenelse(DESIRED_Overflow_Region isnt undefined, stringListMember(GLIDEIN_Country,DESIRED_Overflow_Region),undefined) &&( ((GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech") && (regexp("/*/RunIISummer(19|20)UL(16|17|18).*/MINIAODSIM", DESIRED_CMSDataset) || regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset))) || ( GLIDEIN_CMSSite=?="T2_US_Wisconsin" && regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset) ) || ( GLIDEIN_CMSSite=?="T2_US_MIT" && regexp("/*/Run201[6,7].*/MINIAOD/.*UL201[6,7].*", DESIRED_CMSDataset) ) ) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )'> + <match match_expr='(glidein["attrs"].get("GLIDEIN_Country") in job["DESIRED_Overflow_Region"].split(",")) and ( glidein["attrs"].get("GLIDEIN_CMSSite") not in ["T2_US_Wisconsin", "T2_US_MIT"] or "MINIAODSIM" not in job["DESIRED_CMSDataset"] )' start_expr='ifthenelse(CMS_ALLOW_OVERFLOW isnt undefined,CMS_ALLOW_OVERFLOW=?="True", undefined) && (CRAB_UserRole=!="production") && ifthenelse(DESIRED_Overflow_Region isnt undefined, stringListMember(GLIDEIN_Country,DESIRED_Overflow_Region),undefined) &&( ((GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech") && (regexp("/*/RunIISummer(19|20)UL(16|17|18).*/MINIAODSIM", DESIRED_CMSDataset) || regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset))) || ((GLIDEIN_CMSSite=?="T2_US_Wisconsin" || GLIDEIN_CMSSite=?="T2_US_MIT") && regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset)) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )'> <factory query_expr='(GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech" || GLIDEIN_CMSSite=?="T2_US_Wisconsin" || GLIDEIN_CMSSite=?="T2_US_MIT") && stringListMember("CMS",GLIDEIN_Supported_VOs) && !ifthenelse(CMS_Local_Entry isnt undefined, CMS_Local_Entry, False)'> <match_attrs> <match_attr name="GLIDEIN_CMSSite" type="string"/> diff --git a/compiled/cern/itbdev/frontend.xml b/compiled/cern/itbdev/frontend.xml index cbeb9e7fdf2120a0d6e31c066a8b7c9135246c4a..32912d22f6e1661ea33b125605a42f99bdfcb9bf 100644 --- a/compiled/cern/itbdev/frontend.xml +++ b/compiled/cern/itbdev/frontend.xml @@ -16,7 +16,7 @@ <process_log backup_count="5" compression="" extension="debug" max_days="7.0" max_mbytes="100.0" min_days="3.0" msg_types="DEBUG"/> </process_logs> </log_retention> - <match match_expr='__import__("CMSGlobalMatcher").match(job, glidein)' start_expr='ifthenelse(GLIDEIN_REQUIRED_OS=?="any", (HAS_SINGULARITY=?=true && GLIDEIN_PS_HAS_SINGULARITY=!=false),( isUndefined(REQUIRED_OS) || REQUIRED_OS=?="any" || REQUIRED_OS=?=GLIDEIN_REQUIRED_OS )) && ifthenelse(MaxWallTimeMins=!=UNDEFINED,(MaxWallTimeMins*60)<(GLIDEIN_ToDie-MyCurrentTime),(16*3600)<(GLIDEIN_ToDie-MyCurrentTime)) && ((DynamicSlot =!= true) || (RequestCpus=?=Cpus)) && ifthenelse(SlotType=?="Static", RequestCpus <= Cpus, True)'> + <match match_expr='__import__("CMSGlobalMatcher").match(job, glidein)' start_expr='ifthenelse(GLIDEIN_REQUIRED_OS=?="any", (HAS_SINGULARITY=?=true && GLIDEIN_PS_HAS_SINGULARITY=!=false),( isUndefined(REQUIRED_OS) || REQUIRED_OS=?="any" || REQUIRED_OS=?=GLIDEIN_REQUIRED_OS )) && ifthenelse(MaxWallTimeMins=!=UNDEFINED,(MaxWallTimeMins*60)<(GLIDEIN_ToDie-MyCurrentTime),(16*3600)<(GLIDEIN_ToDie-MyCurrentTime)) && ((DynamicSlot =!= true) || (RequestCpus=?=Cpus)) && ifthenelse(SlotType=?="Static", RequestCpus <= Cpus, True) && CMS_MATCH_MICROARCH'> <factory query_expr='(stringListMember("CMS",GLIDEIN_Supported_VOs) || stringListMember("CMSGPU",GLIDEIN_Supported_VOs)) && (GLIDEIN_Max_Walltime=!=UNDEFINED) && (GLIDEIN_Retire_Time_Spread=!=UNDEFINED) && (GLIDEIN_MaxMemMBs=!=UNDEFINED) && (GLIDEIN_CMSSite=!=UNDEFINED) && (!stringListsIntersect("T2_CH_CERN_AI,T2_CH_CERN_HLT",GLIDEIN_CMSSite))'> <match_attrs> <match_attr name="GLIDEIN_Job_Min_Time" type="int"/> @@ -84,6 +84,7 @@ <attr name="GLIDEIN_OVERLOAD_ENABLED" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="False"/> <attr name="PREFER_IPV4" glidein_publish="True" job_publish="False" parameter="False" type="expr" value="False"/> <attr name="CHIRP_DELAYED_UPDATE_MAX_ATTRS" glidein_publish="True" job_publish="True" parameter="True" type="int" value="200"/> + <attr name="CMS_MATCH_MICROARCH" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="(Microarch is undefined || REQUIRED_MINIMUM_MICROARCH is undefined || REQUIRED_MINIMUM_MICROARCH<=int(substr(split(Microarch,"-")[1],1)))"/> <attr name="GLIDEIN_CLAIM_WORKLIFE_DYNAMIC" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="cpus*(6*3600)"/> <attr name="GLIDEIN_DEBUG_OUTPUT" glidein_publish="True" job_publish="True" parameter="True" type="string" value="True"/> <attr name="GLIDEIN_DEBUG_OPTIONS" glidein_publish="True" job_publish="True" parameter="True" type="string" value="userjob"/> @@ -526,7 +527,7 @@ <running_glideins_per_entry max="300" min="0" relative_to_queue="1.05"/> <running_glideins_total curb="3200" max="3500"/> </config> - <match match_expr='( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_UCSD", "T2_US_Caltech"] ) or ( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_Wisconsin"] and "MINIAODSIM" not in job["DESIRED_CMSDataset"] ) or ( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_MIT"] and ( "UL2016" in job["DESIRED_CMSDataset"] or "UL2017" in job["DESIRED_CMSDataset"]))' start_expr='ifthenelse(CMS_ALLOW_OVERFLOW isnt undefined,CMS_ALLOW_OVERFLOW=?="True", undefined) && (CRAB_UserRole=!="production") && ifthenelse(DESIRED_Overflow_Region isnt undefined, stringListMember(GLIDEIN_Country,DESIRED_Overflow_Region),undefined) &&( ((GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech") && (regexp("/*/RunIISummer(19|20)UL(16|17|18).*/MINIAODSIM", DESIRED_CMSDataset) || regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset))) || ( GLIDEIN_CMSSite=?="T2_US_Wisconsin" && regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset) ) || ( GLIDEIN_CMSSite=?="T2_US_MIT" && regexp("/*/Run201[6,7].*/MINIAOD/.*UL201[6,7].*", DESIRED_CMSDataset) ) ) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )'> + <match match_expr='(glidein["attrs"].get("GLIDEIN_Country") in job["DESIRED_Overflow_Region"].split(",")) and ( glidein["attrs"].get("GLIDEIN_CMSSite") not in ["T2_US_Wisconsin", "T2_US_MIT"] or "MINIAODSIM" not in job["DESIRED_CMSDataset"] )' start_expr='ifthenelse(CMS_ALLOW_OVERFLOW isnt undefined,CMS_ALLOW_OVERFLOW=?="True", undefined) && (CRAB_UserRole=!="production") && ifthenelse(DESIRED_Overflow_Region isnt undefined, stringListMember(GLIDEIN_Country,DESIRED_Overflow_Region),undefined) &&( ((GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech") && (regexp("/*/RunIISummer(19|20)UL(16|17|18).*/MINIAODSIM", DESIRED_CMSDataset) || regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset))) || ((GLIDEIN_CMSSite=?="T2_US_Wisconsin" || GLIDEIN_CMSSite=?="T2_US_MIT") && regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset)) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )'> <factory query_expr='(GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech" || GLIDEIN_CMSSite=?="T2_US_Wisconsin" || GLIDEIN_CMSSite=?="T2_US_MIT") && stringListMember("CMS",GLIDEIN_Supported_VOs) && !ifthenelse(CMS_Local_Entry isnt undefined, CMS_Local_Entry, False)'> <match_attrs> <match_attr name="GLIDEIN_CMSSite" type="string"/> diff --git a/compiled/cern/tier0/frontend.xml b/compiled/cern/tier0/frontend.xml index 1f6d4e0defb81fc2d518ea9a39cd73c0c1f5122f..f5c9171752f1d893e8019aa77527621edb3e39c2 100644 --- a/compiled/cern/tier0/frontend.xml +++ b/compiled/cern/tier0/frontend.xml @@ -16,7 +16,7 @@ <process_log backup_count="5" compression="" extension="debug" max_days="7.0" max_mbytes="100.0" min_days="3.0" msg_types="DEBUG"/> </process_logs> </log_retention> - <match match_expr='__import__("CMSGlobalMatcher").match(job, glidein)' start_expr='ifthenelse(GLIDEIN_REQUIRED_OS=?="any", (HAS_SINGULARITY=?=true && GLIDEIN_PS_HAS_SINGULARITY=!=false),( isUndefined(REQUIRED_OS) || REQUIRED_OS=?="any" || REQUIRED_OS=?=GLIDEIN_REQUIRED_OS )) && ifthenelse(MaxWallTimeMins=!=UNDEFINED,(MaxWallTimeMins*60)<(GLIDEIN_ToDie-MyCurrentTime),(16*3600)<(GLIDEIN_ToDie-MyCurrentTime)) && ((DynamicSlot =!= true) || (RequestCpus=?=Cpus)) && ifthenelse(SlotType=?="Static", RequestCpus <= Cpus, True)'> + <match match_expr='__import__("CMSGlobalMatcher").match(job, glidein)' start_expr='ifthenelse(GLIDEIN_REQUIRED_OS=?="any", (HAS_SINGULARITY=?=true && GLIDEIN_PS_HAS_SINGULARITY=!=false),( isUndefined(REQUIRED_OS) || REQUIRED_OS=?="any" || REQUIRED_OS=?=GLIDEIN_REQUIRED_OS )) && ifthenelse(MaxWallTimeMins=!=UNDEFINED,(MaxWallTimeMins*60)<(GLIDEIN_ToDie-MyCurrentTime),(16*3600)<(GLIDEIN_ToDie-MyCurrentTime)) && ((DynamicSlot =!= true) || (RequestCpus=?=Cpus)) && ifthenelse(SlotType=?="Static", RequestCpus <= Cpus, True) && CMS_MATCH_MICROARCH'> <factory query_expr='True'> <match_attrs> <match_attr name="GLIDEIN_Job_Min_Time" type="int"/> @@ -128,6 +128,7 @@ <attr name="GLIDEIN_OVERLOAD_ENABLED" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="False"/> <attr name="PREFER_IPV4" glidein_publish="True" job_publish="False" parameter="False" type="expr" value="False"/> <attr name="CHIRP_DELAYED_UPDATE_MAX_ATTRS" glidein_publish="True" job_publish="True" parameter="True" type="int" value="200"/> + <attr name="CMS_MATCH_MICROARCH" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="(Microarch is undefined || REQUIRED_MINIMUM_MICROARCH is undefined || REQUIRED_MINIMUM_MICROARCH<=int(substr(split(Microarch,"-")[1],1)))"/> <attr name="GLIDECLIENT_Rank" glidein_publish="True" job_publish="True" parameter="True" type="string" value="1"/> <attr name="GLIDEIN_CLAIM_WORKLIFE_DYNAMIC" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="cpus*(1*3600)"/> <attr name="GLIDEIN_Max_Walltime" glidein_publish="True" job_publish="True" parameter="True" type="int" value="2592000"/> diff --git a/compiled/cern/volunteer/frontend.xml b/compiled/cern/volunteer/frontend.xml index a0f919c81833e5b88e8911bf85356a3722f29c51..5e6498a23b0703f21dd163608d85f5762809fecb 100644 --- a/compiled/cern/volunteer/frontend.xml +++ b/compiled/cern/volunteer/frontend.xml @@ -16,7 +16,7 @@ <process_log backup_count="5" compression="" extension="debug" max_days="7.0" max_mbytes="100.0" min_days="3.0" msg_types="DEBUG"/> </process_logs> </log_retention> - <match match_expr='__import__("CMSGlobalMatcher").match(job, glidein)' start_expr='ifthenelse(GLIDEIN_REQUIRED_OS=?="any", (HAS_SINGULARITY=?=true && GLIDEIN_PS_HAS_SINGULARITY=!=false),( isUndefined(REQUIRED_OS) || REQUIRED_OS=?="any" || REQUIRED_OS=?=GLIDEIN_REQUIRED_OS )) && ifthenelse(MaxWallTimeMins=!=UNDEFINED,(MaxWallTimeMins*60)<(GLIDEIN_ToDie-MyCurrentTime),(16*3600)<(GLIDEIN_ToDie-MyCurrentTime)) && ((DynamicSlot =!= true) || (RequestCpus=?=Cpus)) && ifthenelse(SlotType=?="Static", RequestCpus <= Cpus, True)'> + <match match_expr='__import__("CMSGlobalMatcher").match(job, glidein)' start_expr='ifthenelse(GLIDEIN_REQUIRED_OS=?="any", (HAS_SINGULARITY=?=true && GLIDEIN_PS_HAS_SINGULARITY=!=false),( isUndefined(REQUIRED_OS) || REQUIRED_OS=?="any" || REQUIRED_OS=?=GLIDEIN_REQUIRED_OS )) && ifthenelse(MaxWallTimeMins=!=UNDEFINED,(MaxWallTimeMins*60)<(GLIDEIN_ToDie-MyCurrentTime),(16*3600)<(GLIDEIN_ToDie-MyCurrentTime)) && ((DynamicSlot =!= true) || (RequestCpus=?=Cpus)) && ifthenelse(SlotType=?="Static", RequestCpus <= Cpus, True) && CMS_MATCH_MICROARCH'> <factory query_expr='(stringListMember("CMS",GLIDEIN_Supported_VOs) || stringListMember("CMSGPU",GLIDEIN_Supported_VOs))&& (GLIDEIN_Max_Walltime=!=UNDEFINED) && (GLIDEIN_Retire_Time_Spread=!=UNDEFINED) && (GLIDEIN_MaxMemMBs=!=UNDEFINED) && (GLIDEIN_CMSSite=!=UNDEFINED) && (!stringListsIntersect("T2_CH_CERN_AI,T2_CH_CERN_HLT,T0_CH_CERN",GLIDEIN_CMSSite))'> <match_attrs> <match_attr name="GLIDEIN_Job_Min_Time" type="int"/> diff --git a/compiled/fnal/global/frontend.xml b/compiled/fnal/global/frontend.xml index 9ac16a2d15b44a84832894f0879406dd25e256f9..24dfff60ce6fbbfe65060298b4053f194248114f 100644 --- a/compiled/fnal/global/frontend.xml +++ b/compiled/fnal/global/frontend.xml @@ -17,7 +17,7 @@ <process_log backup_count="5" compression="" extension="debug" max_days="7.0" max_mbytes="100.0" min_days="3.0" msg_types="DEBUG"/> </process_logs> </log_retention> - <match match_expr='__import__("CMSGlobalMatcher").match(job, glidein)' start_expr='ifthenelse(GLIDEIN_REQUIRED_OS=?="any", (HAS_SINGULARITY=?=true && GLIDEIN_PS_HAS_SINGULARITY=!=false),( isUndefined(REQUIRED_OS) || REQUIRED_OS=?="any" || REQUIRED_OS=?=GLIDEIN_REQUIRED_OS )) && ifthenelse(MaxWallTimeMins=!=UNDEFINED,(MaxWallTimeMins*60)<(GLIDEIN_ToDie-MyCurrentTime),(16*3600)<(GLIDEIN_ToDie-MyCurrentTime)) && ((DynamicSlot =!= true) || (RequestCpus=?=Cpus)) && ifthenelse(SlotType=?="Static", RequestCpus <= Cpus, True)'> + <match match_expr='__import__("CMSGlobalMatcher").match(job, glidein)' start_expr='ifthenelse(GLIDEIN_REQUIRED_OS=?="any", (HAS_SINGULARITY=?=true && GLIDEIN_PS_HAS_SINGULARITY=!=false),( isUndefined(REQUIRED_OS) || REQUIRED_OS=?="any" || REQUIRED_OS=?=GLIDEIN_REQUIRED_OS )) && ifthenelse(MaxWallTimeMins=!=UNDEFINED,(MaxWallTimeMins*60)<(GLIDEIN_ToDie-MyCurrentTime),(16*3600)<(GLIDEIN_ToDie-MyCurrentTime)) && ((DynamicSlot =!= true) || (RequestCpus=?=Cpus)) && ifthenelse(SlotType=?="Static", RequestCpus <= Cpus, True) && CMS_MATCH_MICROARCH'> <factory query_expr='(stringListMember("CMS",GLIDEIN_Supported_VOs) || stringListMember("CMSGPU",GLIDEIN_Supported_VOs)) && (GLIDEIN_Max_Walltime=!=UNDEFINED) && (GLIDEIN_Retire_Time_Spread=!=UNDEFINED) && (GLIDEIN_MaxMemMBs=!=UNDEFINED) && (GLIDEIN_CMSSite=!=UNDEFINED) && (!stringListsIntersect("T2_CH_CERN_AI,T2_CH_CERN_HLT,T2_CH_CERN",GLIDEIN_CMSSite))'> <match_attrs> <match_attr name="GLIDEIN_Job_Min_Time" type="int"/> @@ -132,6 +132,7 @@ <attr name="GLIDEIN_OVERLOAD_ENABLED" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="False"/> <attr name="PREFER_IPV4" glidein_publish="True" job_publish="False" parameter="False" type="expr" value="False"/> <attr name="CHIRP_DELAYED_UPDATE_MAX_ATTRS" glidein_publish="True" job_publish="True" parameter="True" type="int" value="200"/> + <attr name="CMS_MATCH_MICROARCH" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="(Microarch is undefined || REQUIRED_MINIMUM_MICROARCH is undefined || REQUIRED_MINIMUM_MICROARCH<=int(substr(split(Microarch,"-")[1],1)))"/> <attr name="GLIDEIN_CLAIM_WORKLIFE_DYNAMIC" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="cpus*(6*3600)"/> <attr name="OSG_SINGULARITY_BINARY" glidein_publish="True" job_publish="True" parameter="True" type="string" value="/cvmfs/oasis.opensciencegrid.org/mis/apptainer/1.2.5/bin/apptainer"/> </attrs> @@ -560,7 +561,7 @@ <running_glideins_per_entry max="300" min="0" relative_to_queue="1.05"/> <running_glideins_total curb="3200" max="3500"/> </config> - <match match_expr='( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_UCSD", "T2_US_Caltech"] ) or ( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_Wisconsin"] and "MINIAODSIM" not in job["DESIRED_CMSDataset"] ) or ( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_MIT"] and ( "UL2016" in job["DESIRED_CMSDataset"] or "UL2017" in job["DESIRED_CMSDataset"]))' start_expr='ifthenelse(CMS_ALLOW_OVERFLOW isnt undefined,CMS_ALLOW_OVERFLOW=?="True", undefined) && (CRAB_UserRole=!="production") && ifthenelse(DESIRED_Overflow_Region isnt undefined, stringListMember(GLIDEIN_Country,DESIRED_Overflow_Region),undefined) &&( ((GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech") && (regexp("/*/RunIISummer(19|20)UL(16|17|18).*/MINIAODSIM", DESIRED_CMSDataset) || regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset))) || ( GLIDEIN_CMSSite=?="T2_US_Wisconsin" && regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset) ) || ( GLIDEIN_CMSSite=?="T2_US_MIT" && regexp("/*/Run201[6,7].*/MINIAOD/.*UL201[6,7].*", DESIRED_CMSDataset) ) ) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )'> + <match match_expr='(glidein["attrs"].get("GLIDEIN_Country") in job["DESIRED_Overflow_Region"].split(",")) and ( glidein["attrs"].get("GLIDEIN_CMSSite") not in ["T2_US_Wisconsin", "T2_US_MIT"] or "MINIAODSIM" not in job["DESIRED_CMSDataset"] )' start_expr='ifthenelse(CMS_ALLOW_OVERFLOW isnt undefined,CMS_ALLOW_OVERFLOW=?="True", undefined) && (CRAB_UserRole=!="production") && ifthenelse(DESIRED_Overflow_Region isnt undefined, stringListMember(GLIDEIN_Country,DESIRED_Overflow_Region),undefined) &&( ((GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech") && (regexp("/*/RunIISummer(19|20)UL(16|17|18).*/MINIAODSIM", DESIRED_CMSDataset) || regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset))) || ((GLIDEIN_CMSSite=?="T2_US_Wisconsin" || GLIDEIN_CMSSite=?="T2_US_MIT") && regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset)) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )'> <factory query_expr='(GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech" || GLIDEIN_CMSSite=?="T2_US_Wisconsin" || GLIDEIN_CMSSite=?="T2_US_MIT") && stringListMember("CMS",GLIDEIN_Supported_VOs) && !ifthenelse(CMS_Local_Entry isnt undefined, CMS_Local_Entry, False)'> <match_attrs> <match_attr name="GLIDEIN_CMSSite" type="string"/> diff --git a/compiled/fnal/itb/frontend.xml b/compiled/fnal/itb/frontend.xml index bfa7fe6c146aff12c67d250258085b1bb622dafd..b1292313a811fd7e962930bbfb02704e7f1c249d 100644 --- a/compiled/fnal/itb/frontend.xml +++ b/compiled/fnal/itb/frontend.xml @@ -17,7 +17,7 @@ <process_log backup_count="5" compression="" extension="debug" max_days="7.0" max_mbytes="100.0" min_days="3.0" msg_types="DEBUG"/> </process_logs> </log_retention> - <match match_expr='__import__("CMSGlobalMatcher").match(job, glidein)' start_expr='ifthenelse(GLIDEIN_REQUIRED_OS=?="any", (HAS_SINGULARITY=?=true && GLIDEIN_PS_HAS_SINGULARITY=!=false),( isUndefined(REQUIRED_OS) || REQUIRED_OS=?="any" || REQUIRED_OS=?=GLIDEIN_REQUIRED_OS )) && ifthenelse(MaxWallTimeMins=!=UNDEFINED,(MaxWallTimeMins*60)<(GLIDEIN_ToDie-MyCurrentTime),(16*3600)<(GLIDEIN_ToDie-MyCurrentTime)) && ((DynamicSlot =!= true) || (RequestCpus=?=Cpus)) && ifthenelse(SlotType=?="Static", RequestCpus <= Cpus, True)'> + <match match_expr='__import__("CMSGlobalMatcher").match(job, glidein)' start_expr='ifthenelse(GLIDEIN_REQUIRED_OS=?="any", (HAS_SINGULARITY=?=true && GLIDEIN_PS_HAS_SINGULARITY=!=false),( isUndefined(REQUIRED_OS) || REQUIRED_OS=?="any" || REQUIRED_OS=?=GLIDEIN_REQUIRED_OS )) && ifthenelse(MaxWallTimeMins=!=UNDEFINED,(MaxWallTimeMins*60)<(GLIDEIN_ToDie-MyCurrentTime),(16*3600)<(GLIDEIN_ToDie-MyCurrentTime)) && ((DynamicSlot =!= true) || (RequestCpus=?=Cpus)) && ifthenelse(SlotType=?="Static", RequestCpus <= Cpus, True) && CMS_MATCH_MICROARCH'> <factory query_expr='(stringListMember("CMS",GLIDEIN_Supported_VOs) || stringListMember("CMSGPU",GLIDEIN_Supported_VOs)) && (GLIDEIN_Max_Walltime=!=UNDEFINED) && (GLIDEIN_Retire_Time_Spread=!=UNDEFINED) && (GLIDEIN_MaxMemMBs=!=UNDEFINED) && (GLIDEIN_CMSSite=!=UNDEFINED) && (!stringListsIntersect("T2_CH_CERN_AI,T2_CH_CERN_HLT",GLIDEIN_CMSSite))'> <match_attrs> <match_attr name="GLIDEIN_Job_Min_Time" type="int"/> @@ -117,6 +117,7 @@ <attr name="GLIDEIN_OVERLOAD_ENABLED" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="False"/> <attr name="PREFER_IPV4" glidein_publish="True" job_publish="False" parameter="False" type="expr" value="False"/> <attr name="CHIRP_DELAYED_UPDATE_MAX_ATTRS" glidein_publish="True" job_publish="True" parameter="True" type="int" value="200"/> + <attr name="CMS_MATCH_MICROARCH" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="(Microarch is undefined || REQUIRED_MINIMUM_MICROARCH is undefined || REQUIRED_MINIMUM_MICROARCH<=int(substr(split(Microarch,"-")[1],1)))"/> <attr name="GLIDEIN_CLAIM_WORKLIFE_DYNAMIC" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="cpus*(6*3600)"/> <attr name="GLIDEIN_DEBUG_OUTPUT" glidein_publish="True" job_publish="True" parameter="True" type="string" value="True"/> <attr name="GLIDEIN_DEBUG_OPTIONS" glidein_publish="True" job_publish="True" parameter="True" type="string" value="userjob"/> @@ -559,7 +560,7 @@ <running_glideins_per_entry max="300" min="0" relative_to_queue="1.05"/> <running_glideins_total curb="3200" max="3500"/> </config> - <match match_expr='( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_UCSD", "T2_US_Caltech"] ) or ( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_Wisconsin"] and "MINIAODSIM" not in job["DESIRED_CMSDataset"] ) or ( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_MIT"] and ( "UL2016" in job["DESIRED_CMSDataset"] or "UL2017" in job["DESIRED_CMSDataset"]))' start_expr='ifthenelse(CMS_ALLOW_OVERFLOW isnt undefined,CMS_ALLOW_OVERFLOW=?="True", undefined) && (CRAB_UserRole=!="production") && ifthenelse(DESIRED_Overflow_Region isnt undefined, stringListMember(GLIDEIN_Country,DESIRED_Overflow_Region),undefined) &&( ((GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech") && (regexp("/*/RunIISummer(19|20)UL(16|17|18).*/MINIAODSIM", DESIRED_CMSDataset) || regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset))) || ( GLIDEIN_CMSSite=?="T2_US_Wisconsin" && regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset) ) || ( GLIDEIN_CMSSite=?="T2_US_MIT" && regexp("/*/Run201[6,7].*/MINIAOD/.*UL201[6,7].*", DESIRED_CMSDataset) ) ) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )'> + <match match_expr='(glidein["attrs"].get("GLIDEIN_Country") in job["DESIRED_Overflow_Region"].split(",")) and ( glidein["attrs"].get("GLIDEIN_CMSSite") not in ["T2_US_Wisconsin", "T2_US_MIT"] or "MINIAODSIM" not in job["DESIRED_CMSDataset"] )' start_expr='ifthenelse(CMS_ALLOW_OVERFLOW isnt undefined,CMS_ALLOW_OVERFLOW=?="True", undefined) && (CRAB_UserRole=!="production") && ifthenelse(DESIRED_Overflow_Region isnt undefined, stringListMember(GLIDEIN_Country,DESIRED_Overflow_Region),undefined) &&( ((GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech") && (regexp("/*/RunIISummer(19|20)UL(16|17|18).*/MINIAODSIM", DESIRED_CMSDataset) || regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset))) || ((GLIDEIN_CMSSite=?="T2_US_Wisconsin" || GLIDEIN_CMSSite=?="T2_US_MIT") && regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset)) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )'> <factory query_expr='(GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech" || GLIDEIN_CMSSite=?="T2_US_Wisconsin" || GLIDEIN_CMSSite=?="T2_US_MIT") && stringListMember("CMS",GLIDEIN_Supported_VOs) && !ifthenelse(CMS_Local_Entry isnt undefined, CMS_Local_Entry, False)'> <match_attrs> <match_attr name="GLIDEIN_CMSSite" type="string"/> diff --git a/compiled/fnal/tier0/frontend.xml b/compiled/fnal/tier0/frontend.xml index d05127e92917b2f41113950b8b89db4528c3ba29..49303bf3d5e9aedc7037e534004511f5138eabae 100644 --- a/compiled/fnal/tier0/frontend.xml +++ b/compiled/fnal/tier0/frontend.xml @@ -17,7 +17,7 @@ <process_log backup_count="5" compression="" extension="debug" max_days="7.0" max_mbytes="100.0" min_days="3.0" msg_types="DEBUG"/> </process_logs> </log_retention> - <match match_expr='__import__("CMSGlobalMatcher").match(job, glidein)' start_expr='ifthenelse(GLIDEIN_REQUIRED_OS=?="any", (HAS_SINGULARITY=?=true && GLIDEIN_PS_HAS_SINGULARITY=!=false),( isUndefined(REQUIRED_OS) || REQUIRED_OS=?="any" || REQUIRED_OS=?=GLIDEIN_REQUIRED_OS )) && ifthenelse(MaxWallTimeMins=!=UNDEFINED,(MaxWallTimeMins*60)<(GLIDEIN_ToDie-MyCurrentTime),(16*3600)<(GLIDEIN_ToDie-MyCurrentTime)) && ((DynamicSlot =!= true) || (RequestCpus=?=Cpus)) && ifthenelse(SlotType=?="Static", RequestCpus <= Cpus, True)'> + <match match_expr='__import__("CMSGlobalMatcher").match(job, glidein)' start_expr='ifthenelse(GLIDEIN_REQUIRED_OS=?="any", (HAS_SINGULARITY=?=true && GLIDEIN_PS_HAS_SINGULARITY=!=false),( isUndefined(REQUIRED_OS) || REQUIRED_OS=?="any" || REQUIRED_OS=?=GLIDEIN_REQUIRED_OS )) && ifthenelse(MaxWallTimeMins=!=UNDEFINED,(MaxWallTimeMins*60)<(GLIDEIN_ToDie-MyCurrentTime),(16*3600)<(GLIDEIN_ToDie-MyCurrentTime)) && ((DynamicSlot =!= true) || (RequestCpus=?=Cpus)) && ifthenelse(SlotType=?="Static", RequestCpus <= Cpus, True) && CMS_MATCH_MICROARCH'> <factory query_expr='True'> <match_attrs> <match_attr name="GLIDEIN_Job_Min_Time" type="int"/> @@ -129,6 +129,7 @@ <attr name="GLIDEIN_OVERLOAD_ENABLED" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="False"/> <attr name="PREFER_IPV4" glidein_publish="True" job_publish="False" parameter="False" type="expr" value="False"/> <attr name="CHIRP_DELAYED_UPDATE_MAX_ATTRS" glidein_publish="True" job_publish="True" parameter="True" type="int" value="200"/> + <attr name="CMS_MATCH_MICROARCH" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="(Microarch is undefined || REQUIRED_MINIMUM_MICROARCH is undefined || REQUIRED_MINIMUM_MICROARCH<=int(substr(split(Microarch,"-")[1],1)))"/> <attr name="GLIDECLIENT_Rank" glidein_publish="True" job_publish="True" parameter="True" type="string" value="1"/> <attr name="GLIDEIN_CLAIM_WORKLIFE_DYNAMIC" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="cpus*(1*3600)"/> <attr name="GLIDEIN_Max_Walltime" glidein_publish="True" job_publish="True" parameter="True" type="int" value="2592000"/> diff --git a/inventory/classes/common.yml b/inventory/classes/common.yml index cf8405cf04fa97b17e1b068c8cb087a407ecf26c..34e26abdf3591a4700c2d08063fcbd6346d57660 100644 --- a/inventory/classes/common.yml +++ b/inventory/classes/common.yml @@ -333,10 +333,10 @@ parameters: max: 3500 # If a) Site is UCSD or Caltech and any MINI or MINISIM OR b) Site==Wisconsin and only MINI data OR c) Site==MIT and only a subset of MINI match_expr: >- - ( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_UCSD", "T2_US_Caltech"] ) or ( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_Wisconsin"] and "MINIAODSIM" not in job["DESIRED_CMSDataset"] ) or ( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_MIT"] and ( "UL2016" in job["DESIRED_CMSDataset"] or "UL2017" in job["DESIRED_CMSDataset"])) + (glidein["attrs"].get("GLIDEIN_Country") in job["DESIRED_Overflow_Region"].split(",")) and ( glidein["attrs"].get("GLIDEIN_CMSSite") not in ["T2_US_Wisconsin", "T2_US_MIT"] or "MINIAODSIM" not in job["DESIRED_CMSDataset"] ) # Same idea, UCSD and Caltech can get jobs looking for any MINIAOD and MINIAODSIM, Wisconsin can only get jobs looking for MINIAOD and MIT only gets jobs looking for a subset of MINIAOD start_expr: >- - ifthenelse(CMS_ALLOW_OVERFLOW isnt undefined,CMS_ALLOW_OVERFLOW=?="True", undefined) && (CRAB_UserRole=!="production") && ifthenelse(DESIRED_Overflow_Region isnt undefined, stringListMember(GLIDEIN_Country,DESIRED_Overflow_Region),undefined) &&( ((GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech") && (regexp("/*/RunIISummer(19|20)UL(16|17|18).*/MINIAODSIM", DESIRED_CMSDataset) || regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset))) || ( GLIDEIN_CMSSite=?="T2_US_Wisconsin" && regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset) ) || ( GLIDEIN_CMSSite=?="T2_US_MIT" && regexp("/*/Run201[6,7].*/MINIAOD/.*UL201[6,7].*", DESIRED_CMSDataset) ) ) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 ) + ifthenelse(CMS_ALLOW_OVERFLOW isnt undefined,CMS_ALLOW_OVERFLOW=?="True", undefined) && (CRAB_UserRole=!="production") && ifthenelse(DESIRED_Overflow_Region isnt undefined, stringListMember(GLIDEIN_Country,DESIRED_Overflow_Region),undefined) &&( ((GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech") && (regexp("/*/RunIISummer(19|20)UL(16|17|18).*/MINIAODSIM", DESIRED_CMSDataset) || regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset))) || ((GLIDEIN_CMSSite=?="T2_US_Wisconsin" || GLIDEIN_CMSSite=?="T2_US_MIT") && regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset)) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 ) factory_query_expr: >- (GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech" || GLIDEIN_CMSSite=?="T2_US_Wisconsin" || GLIDEIN_CMSSite=?="T2_US_MIT") && stringListMember("CMS",GLIDEIN_Supported_VOs) && !ifthenelse(CMS_Local_Entry isnt undefined, CMS_Local_Entry, False) job_query_expr: >- diff --git a/inventory/classes/defaults.yml b/inventory/classes/defaults.yml index eefe608f5a47beed4a0cb76796b09c6e192ae8c9..5b6f81efcb8bbfe025eca37c07bf6d1e5ca0f214 100644 --- a/inventory/classes/defaults.yml +++ b/inventory/classes/defaults.yml @@ -88,6 +88,13 @@ parameters: parameter: true type: int value: "200" + - name: CMS_MATCH_MICROARCH + glidein_publish: true + job_publish: true + parameter: true + type: expr + value: >- + (Microarch is undefined || REQUIRED_MINIMUM_MICROARCH is undefined || REQUIRED_MINIMUM_MICROARCH<=int(substr(split(Microarch,"-")[1],1))) extra_files: - absfname: ${validation_repo_path}/set_singularity_binds.sh after_entry: False diff --git a/templates/frontend.xml b/templates/frontend.xml index 8f73c0f28ee0b51f8cf93879e0add902933d9159..461cecedee8032e2f80e5b692248499bec77ec05 100644 --- a/templates/frontend.xml +++ b/templates/frontend.xml @@ -21,7 +21,7 @@ <process_log backup_count="5" compression="" extension="debug" max_days="7.0" max_mbytes="100.0" min_days="3.0" msg_types="DEBUG"/> </process_logs> </log_retention> - <match match_expr='__import__("CMSGlobalMatcher").match(job, glidein)' start_expr='ifthenelse(GLIDEIN_REQUIRED_OS=?="any", (HAS_SINGULARITY=?=true && GLIDEIN_PS_HAS_SINGULARITY=!=false),( isUndefined(REQUIRED_OS) || REQUIRED_OS=?="any" || REQUIRED_OS=?=GLIDEIN_REQUIRED_OS )) && ifthenelse(MaxWallTimeMins=!=UNDEFINED,(MaxWallTimeMins*60)<(GLIDEIN_ToDie-MyCurrentTime),(16*3600)<(GLIDEIN_ToDie-MyCurrentTime)) && ((DynamicSlot =!= true) || (RequestCpus=?=Cpus)) && ifthenelse(SlotType=?="Static", RequestCpus <= Cpus, True)'> + <match match_expr='__import__("CMSGlobalMatcher").match(job, glidein)' start_expr='ifthenelse(GLIDEIN_REQUIRED_OS=?="any", (HAS_SINGULARITY=?=true && GLIDEIN_PS_HAS_SINGULARITY=!=false),( isUndefined(REQUIRED_OS) || REQUIRED_OS=?="any" || REQUIRED_OS=?=GLIDEIN_REQUIRED_OS )) && ifthenelse(MaxWallTimeMins=!=UNDEFINED,(MaxWallTimeMins*60)<(GLIDEIN_ToDie-MyCurrentTime),(16*3600)<(GLIDEIN_ToDie-MyCurrentTime)) && ((DynamicSlot =!= true) || (RequestCpus=?=Cpus)) && ifthenelse(SlotType=?="Static", RequestCpus <= Cpus, True) && CMS_MATCH_MICROARCH'> <factory query_expr='{{ i.global_factory_expr }}'> <match_attrs> {% for attr in i.global_factory_expr_match_attrs %}