From a336af3820c14eba32bea07cd3a7dd414db85ede Mon Sep 17 00:00:00 2001
From: Nikos Tsipinakis <nikos@tsipinakis.com>
Date: Thu, 21 Jul 2022 11:53:21 +0200
Subject: [PATCH] [ITB] Sync config with global

---
 itb/frontend.xml | 293 ++++++++++-------------------------------------
 1 file changed, 59 insertions(+), 234 deletions(-)

diff --git a/itb/frontend.xml b/itb/frontend.xml
index e62c61b6..7d06e7a6 100644
--- a/itb/frontend.xml
+++ b/itb/frontend.xml
@@ -1,7 +1,5 @@
 <frontend advertise_delay="1" advertise_with_multiple="True" advertise_with_tcp="True" downtimes_file="frontenddowntime" frontend_monitor_index_page="True" frontend_name="CMSG-ITB_gWMSFrontend-v1_0" frontend_versioning="False" group_parallel_workers="1" loop_delay="120" restart_attempts="3" restart_interval="1800">
    <config>
-      <idle_vms_total curb="500000" max="550000"/>
-      <idle_vms_total_global curb="500000" max="550000"/>
       <running_glideins_total curb="500000" max="550000"/>
       <running_glideins_total_global curb="500000" max="550000"/>
    </config>
@@ -102,96 +100,18 @@
       <attr name="STARTD_PARTITIONABLE_SLOT_ATTRS" glidein_publish="True" job_publish="False" parameter="False" type="expr" value="MemoryUsage,ProportionalSetSizeKb"/>
       <attr name="TotalMemoryUsage" glidein_publish="True" job_publish="False" parameter="False" type="expr" value="ifthenelse(sum(ChildMemoryUsage)=!=ERROR,sum(ChildMemoryUsage),0)"/>
       <attr name="MEMORY_USAGE_METRIC" glidein_publish="True" job_publish="True" parameter="True" type="expr" value="((ProportionalSetSizeKb ?: ResidentSetSize) + 1023) / 1024"/>
-
+      <attr name="PREFER_IPV4" glidein_publish="True" job_publish="False" parameter="False" type="expr" value="False"/>
       <attr name="ALL_DEBUG" glidein_publish="True" job_publish="False" parameter="False" type="expr" value="D_SECUIRTY"/>
-      <attr name="OSG_SINGULARITY_BINARY" glidein_publish="True" job_publish="True" parameter="True" type="string" value="/cvmfs/oasis.opensciencegrid.org/mis/singularity/3.7.1/bin/singularity"/>
       <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"/>
       <attr name="CHIRP_DELAYED_UPDATE_MAX_ATTRS" glidein_publish="True" job_publish="True" parameter="True" type="int" value="200"/>
    </attrs>
    <groups>
-      <group name="CERN_CAF" comment="Users local to CERN CAF" enabled="False">
-         <config>
-            <glideins_removal margin="0" requests_tracking="False" type="NO" wait="0"/>
-            <idle_glideins_lifetime max="0"/>
-            <idle_glideins_per_entry max="200" reserve="30"/>
-            <idle_vms_per_entry curb="100" max="200"/>
-            <idle_vms_total curb="1000" max="1500"/>
-            <processing_workers matchmakers="1"/>
-            <running_glideins_per_entry max="5000" min="0" relative_to_queue="1.05"/>
-            <running_glideins_total curb="10000" max="12000"/>
-         </config>
-         <match match_expr='((glidein["attrs"].get("GLIDEIN_CMSSite") in job["DESIRED_Sites"].split(",")) if ("DESIRED_Sites" in job) else False) and ((__import__("CMSGroupMapper").is_local_group(job.get("CMSGroups","None"), glidein["attrs"]["GLIDEIN_CMSSite"])) or ((glidein["attrs"].get("GLIDEIN_CMSSite") in job["CMSGroups"].split(",")) if ("CMSGroups" in job) else False))' start_expr="ifthenelse(DESIRED_Sites isnt undefined, stringListMember(GLIDEIN_CMSSite,DESIRED_Sites), undefined) &amp;&amp; ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )">
-            <factory query_expr='(GLIDEIN_CMSSite=!=UNDEFINED) &amp;&amp; (GLIDEIN_CMSSite=?="T3_CH_CERN_CAF") &amp;&amp; !stringListMember("CMSGPU",GLIDEIN_Supported_VOs)'>
-               <match_attrs>
-                  <match_attr name="GLIDEIN_CMSSite" type="string"/>
-               </match_attrs>
-               <collectors>
-               </collectors>
-            </factory>
-            <job query_expr="(CMSGroups=!=UNDEFINED) &amp;&amp; (IS_TEST_JOB=?=UNDEFINED) &amp;&amp; ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )">
-               <match_attrs>
-                  <match_attr name="CMSGroups" type="string"/>
-               </match_attrs>
-               <schedds>
-               </schedds>
-            </job>
-         </match>
-         <security proxy_selection_plugin="ProxyAll">
-            <credentials>
-               <credential absfname="/var/lib/gwms-frontend/.globus/CAF_AccessKey" keyabsfname="/var/lib/gwms-frontend/.globus/CAF_SecretKey" pilotabsfname="/var/lib/gwms-frontend/.globus/x509_cmspilot04_cms_local.proxy" security_class="cmspilot" trust_domain="CERNCAF" type="key_pair"/>
-            </credentials>
-         </security>
-         <attrs>
-            <attr name="CMSIsLocal" glidein_publish="True" job_publish="False" parameter="True" type="string" value="True"/>
-         </attrs>
-         <files>
-         </files>
-      </group>
-      <group name="comet" comment="This group is a clone from oportunistic_conservative used for comet since Stampede (T3_US_TACC) and comet use the same type/trustdomain" enabled="True">
-         <config>
-            <glideins_removal margin="0" requests_tracking="False" type="NO" wait="0"/>
-            <idle_glideins_lifetime max="3600"/>
-            <idle_glideins_per_entry max="10" reserve="2"/>
-            <idle_vms_per_entry curb="10" max="15"/>
-            <idle_vms_total curb="10" max="15"/>
-            <processing_workers matchmakers="1"/>
-            <running_glideins_per_entry max="10" min="0" relative_to_queue="1.05"/>
-            <running_glideins_total curb="10" max="15"/>
-         </config>
-         <match match_expr='(((glidein["attrs"].get("GLIDEIN_CMSSite") in job["DESIRED_Sites"].split(",")) if ("DESIRED_Sites" in job) else False))' start_expr="ifthenelse(DESIRED_Sites isnt undefined, stringListMember(GLIDEIN_CMSSite,DESIRED_Sites), undefined) &amp;&amp; ifthenelse(WMAgent_AgentName isnt undefined, WMAgent_AgentName=!=UNDEFINED, undefined) &amp;&amp; ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )">
-            <factory query_expr='stringListsIntersect("T3_US_SDSC",GLIDEIN_CMSSite) &amp;&amp; !stringListMember("CMSGPU",GLIDEIN_Supported_VOs)'>
-               <match_attrs>
-                  <match_attr name="GLIDEIN_CMSSite" type="string"/>
-               </match_attrs>
-               <collectors>
-               </collectors>
-            </factory>
-            <job query_expr='(WMAgent_AgentName=!=UNDEFINED) &amp;&amp; stringListsIntersect("T3_US_SDSC",DESIRED_Sites) &amp;&amp; (IS_TEST_JOB=?=UNDEFINED) &amp;&amp; ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )'>
-               <match_attrs>
-                  <match_attr name="DESIRED_Sites" type="string"/>
-                  <match_attr name="WMAgent_AgentName" type="string"/>
-               </match_attrs>
-               <schedds>
-               </schedds>
-            </job>
-         </match>
-         <security proxy_selection_plugin="ProxyAll">
-            <credentials>
-               <credential absfname="/var/lib/gwms-frontend/.globus/x509_cmspilot04_cms_pilot.proxy" project_id="fna101" security_class="cmspilot" trust_domain="grid" type="grid_proxy+project_id"/>
-               <credential absfname="/var/lib/gwms-frontend/tokens.d/cern-itb.scitoken" security_class="frontend" trust_domain="grid" type="scitoken"/>
-            </credentials>
-         </security>
-         <attrs>
-         </attrs>
-         <files>
-         </files>
-      </group>
       <group name="local_users" comment="Users local to a given site." enabled="True">
          <config>
-            <glideins_removal margin="0" requests_tracking="False" type="NO" wait="0"/>
-            <idle_glideins_lifetime max="3600"/>
-            <idle_glideins_per_entry max="200" reserve="30"/>
+            <glideins_removal margin="5" requests_tracking="True" type="IDLE" wait="0"/>
+            <idle_glideins_lifetime max="82800"/>
+            <idle_glideins_per_entry max="100" reserve="3"/>
             <idle_vms_per_entry curb="100" max="200"/>
             <idle_vms_total curb="1000" max="1500"/>
             <processing_workers matchmakers="1"/>
@@ -217,8 +137,8 @@
          </match>
          <security proxy_selection_plugin="ProxyAll">
             <credentials>
-               <credential absfname="/var/lib/gwms-frontend/.globus/x509_cmspilot04_cms_local.proxy" security_class="cmspilot" trust_domain="grid" type="grid_proxy"/>
                <credential absfname="/var/lib/gwms-frontend/tokens.d/cern-itb.local.scitoken" security_class="frontend" trust_domain="grid" type="scitoken"/>
+               <credential absfname="/var/lib/gwms-frontend/.globus/x509_cmspilot04_cms_local.proxy" security_class="cmspilot" trust_domain="grid" type="grid_proxy"/>
             </credentials>
          </security>
          <attrs>
@@ -229,7 +149,8 @@
       </group>
       <group name="main" comment="This group includes the standard grid resources" enabled="True">
          <config>
-            <glideins_removal margin="5" requests_tracking="True" type="IDLE" wait="0"/>
+            <glideins_removal margin="0" requests_tracking="False" type="NO" wait="0"/>
+            <idle_glideins_lifetime max="0"/>
             <idle_glideins_per_entry max="100" reserve="3"/>
             <idle_vms_per_entry curb="250" max="330"/>
             <idle_vms_total curb="11000" max="13000"/>
@@ -263,36 +184,32 @@
             </credentials>
          </security>
          <attrs>
-            <attr name="GLIDEIN_CustomizeStart_Entrylist" glidein_publish="True" job_publish="False" parameter="True" type="string" value="CMSHTPC_T1_ES_PIC_ce12,CMSHTPC_T1_IT_CNAF_CINECA,CMSHTPC_T2_US_Purdue_Rice,CMSHTPC_T1_DE_KIT_cloud-htcondor-ce-1-kit,CMSHTPC_T1_DE_KIT_cloud-htcondor-ce-1-kit-short"/>
+            <attr name="GLIDEIN_CustomizeStart_Entrylist" glidein_publish="True" job_publish="False" parameter="True" type="string" value="CMSHTPC_T1_IT_CNAF_CINECA,CMSHTPC_T2_US_Purdue_Rice,CMSHTPC_T1_DE_KIT_cloud-htcondor-ce-1-kit,CMSHTPC_T1_DE_KIT_cloud-htcondor-ce-1-kit-short,CMSHTPC_T1_DE_KIT_cloud-htcondor-ce-2-kit-medium"/>
             <attr name="GLIDEIN_CustomizeStart_Sitelist" glidein_publish="True" job_publish="False" parameter="True" type="string" value="T2_US_Caltech,T1_IT_CNAF,T3_IT_Opportunistic_dodas"/>
-            <attr name="GLIDEIN_Resource_Slots" glidein_publish="True" job_publish="True" parameter="True" type="string" value="Iotokens,80,,type=main"/>
          </attrs>
          <files>
          </files>
       </group>
-      <group name="main-token" comment="This group includes the standard grid resources" enabled="True">
+      <group name="main-gpu" comment="This group it is like the main group but for GPU resources" enabled="True">
          <config>
-            <glideins_removal margin="5" requests_tracking="True" type="IDLE" wait="0"/>
-            <idle_glideins_per_entry max="100" reserve="3"/>
-            <idle_vms_per_entry curb="250" max="330"/>
-            <idle_vms_total curb="11000" max="13000"/>
-            <processing_workers matchmakers="3"/>
-            <running_glideins_per_entry max="15000" min="0" relative_to_queue="1.05"/>
-            <running_glideins_total curb="200000" max="220000"/>
+            <glideins_removal margin="0" requests_tracking="False" type="NO" wait="0"/>
+            <idle_glideins_lifetime max="0"/>
+            <idle_glideins_per_entry max="100" reserve="5"/>
+            <processing_workers matchmakers="1"/>
+            <running_glideins_per_entry max="12000" min="0" relative_to_queue="1.05"/>
+            <running_glideins_total curb="11000" max="12000"/>
          </config>
-         <match match_expr='__import__("CMSGlobalMatcher").match_site_or_entry_or_gatekeeper(job, glidein)' start_expr="( ifthenelse(DESIRED_Sites isnt undefined, stringListMember(GLIDEIN_CMSSite,DESIRED_Sites), undefined) || ifthenelse(DESIRED_Gatekeepers isnt undefined, stringListMember(GLIDEIN_Gatekeeper,DESIRED_Gatekeepers), undefined) || ifthenelse(DESIRED_Entries isnt undefined, stringListMember(GLIDEIN_Entry_Name,DESIRED_Entries), undefined)) &amp;&amp; ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )">
-            <factory query_expr='!stringListsIntersect("T3_US_VC3_NotreDame,T3_US_OSG,T3_US_FNALLPC,T3_US_TAMU,T3_US_NERSC,T3_US_SDSC",GLIDEIN_CMSSite) &amp;&amp; !stringListMember("CMSGPU",GLIDEIN_Supported_VOs) &amp;&amp; GLIDEIN_GridType=="condor" &amp;&amp; !regexp("T2_(CH|CN|FR|IN|IT)_.*|T3_(IN|IT)_.*",GLIDEIN_CMSSite) || stringListsIntersect("T2_IT_Bari",GLIDEIN_CMSSite)'>
+         <match match_expr='(((glidein["attrs"].get("GLIDEIN_CMSSite") in job["DESIRED_Sites"].split(",")) if ("DESIRED_Sites" in job) else False) or ((glidein["attrs"].get("GLIDEIN_Gatekeeper") in job["DESIRED_Gatekeepers"].split(",")) if ("DESIRED_Gatekeepers" in job) else False))' start_expr="( ifthenelse(DESIRED_Sites isnt undefined, stringListMember(GLIDEIN_CMSSite,DESIRED_Sites), undefined) || ifthenelse(DESIRED_Gatekeepers isnt undefined, stringListMember(GLIDEIN_Gatekeeper,DESIRED_Gatekeepers), undefined) ) &amp;&amp; ((RequestGPUs =!= UNDEFINED &amp;&amp; RequestGPUs &gt; 0) || ((CurrentTime - DaemonStartTime)  &gt; 600 &amp;&amp; (isUndefined(RequestGPUs)|| RequestGPUs==0) &amp;&amp; TotalGPUs &gt; 0 || GPUs==0))">
+            <factory query_expr='(!stringListsIntersect("T3_US_VC3_NotreDame,T3_US_FNALLPC,T3_US_TAMU,T3_US_NERSC,T3_US_SDSC,T2_US_Nebraska",GLIDEIN_CMSSite) || stringListsIntersect("CMS_T2_US_Nebraska_Red_gw1_whole_cms_gpu, CMS_T2_US_Nebraska_Red_gw2_whole_cms_gpu, CMS_T2_US_Nebraska_Red_whole_cms_gpu",EntryName))  &amp;&amp; stringListMember("CMSGPU",GLIDEIN_Supported_VOs)'>
                <match_attrs>
-                  <match_attr name="EntryName" type="string"/>
                   <match_attr name="GLIDEIN_CMSSite" type="string"/>
                   <match_attr name="GLIDEIN_Gatekeeper" type="string"/>
                </match_attrs>
                <collectors>
                </collectors>
             </factory>
-            <job query_expr='(IS_TEST_JOB=?=UNDEFINED) &amp;&amp; ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 ) &amp;&amp; regexp("X86_64",unparse(Requirements))'>
+            <job query_expr="(IS_TEST_JOB=?=UNDEFINED) &amp;&amp; RequiresGPU == 1 &amp;&amp; (isUndefined(RequestGPUs) || RequestGPUs &gt; 0)">
                <match_attrs>
-                  <match_attr name="DESIRED_Entries" type="string"/>
                   <match_attr name="DESIRED_Gatekeepers" type="string"/>
                   <match_attr name="DESIRED_Sites" type="string"/>
                </match_attrs>
@@ -302,40 +219,42 @@
          </match>
          <security proxy_selection_plugin="ProxyAll">
             <credentials>
-               <credential absfname="/var/lib/gwms-frontend/.globus/x509_cmspilot04_cms_pilot.proxy" security_class="cmspilot" trust_domain="grid" type="grid_proxy"/>
                <credential absfname="/var/lib/gwms-frontend/tokens.d/cern-itb.scitoken" security_class="frontend" trust_domain="grid" type="scitoken"/>
+               <credential absfname="/var/lib/gwms-frontend/.globus/x509_cmspilot04_cms_pilot.proxy" security_class="cmspilot" trust_domain="grid" type="grid_proxy"/>
             </credentials>
          </security>
          <attrs>
-            <attr name="GLIDEIN_CustomizeStart_Entrylist" glidein_publish="True" job_publish="False" parameter="True" type="string" value="CMSHTPC_T1_ES_PIC_ce12,CMSHTPC_T1_IT_CNAF_CINECA,CMSHTPC_T2_US_Purdue_Rice,CMSHTPC_T1_DE_KIT_cloud-htcondor-ce-1-kit,CMSHTPC_T1_DE_KIT_cloud-htcondor-ce-1-kit-short"/>
-            <attr name="GLIDEIN_CustomizeStart_Sitelist" glidein_publish="True" job_publish="False" parameter="True" type="string" value="T2_US_Caltech,T1_IT_CNAF,T3_IT_Opportunistic_dodas"/>
-            <attr name="GLIDEIN_Resource_Slots" glidein_publish="True" job_publish="True" parameter="True" type="string" value="Iotokens,80,,type=main"/>
          </attrs>
          <files>
+            <file absfname="/data/gwms-frontend/repos/cms-validation-scripts/si_cuda_supported_runtimes.sh" after_entry="True" const="True" executable="True" untar="False" wrapper="False">
+               <untar_options cond_attr="TRUE"/>
+            </file>
          </files>
       </group>
-      <group name="main-gpu" comment="This group it is like the main group but for GPU resources" enabled="True">
+      <group name="main-token" comment="This group includes the standard grid resources" enabled="True">
          <config>
             <glideins_removal margin="0" requests_tracking="False" type="NO" wait="0"/>
-            <idle_glideins_lifetime max="3600"/>
-            <idle_glideins_per_entry max="600" reserve="5"/>
-            <idle_vms_per_entry curb="100" max="200"/>
-            <idle_vms_total curb="3500" max="4000"/>
-            <processing_workers matchmakers="1"/>
-            <running_glideins_per_entry max="12000" min="0" relative_to_queue="1.05"/>
-            <running_glideins_total curb="11000" max="12000"/>
+	    <idle_glideins_lifetime max="0"/>
+            <idle_glideins_per_entry max="100" reserve="3"/>
+            <idle_vms_per_entry curb="250" max="330"/>
+            <idle_vms_total curb="11000" max="13000"/>
+            <processing_workers matchmakers="3"/>
+            <running_glideins_per_entry max="15000" min="0" relative_to_queue="1.05"/>
+            <running_glideins_total curb="200000" max="220000"/>
          </config>
-         <match match_expr='(((glidein["attrs"].get("GLIDEIN_CMSSite") in job["DESIRED_Sites"].split(",")) if ("DESIRED_Sites" in job) else False) or ((glidein["attrs"].get("GLIDEIN_Gatekeeper") in job["DESIRED_Gatekeepers"].split(",")) if ("DESIRED_Gatekeepers" in job) else False))' start_expr="( ifthenelse(DESIRED_Sites isnt undefined, stringListMember(GLIDEIN_CMSSite,DESIRED_Sites), undefined) || ifthenelse(DESIRED_Gatekeepers isnt undefined, stringListMember(GLIDEIN_Gatekeeper,DESIRED_Gatekeepers), undefined) ) &amp;&amp; ((RequestGPUs =!= UNDEFINED &amp;&amp; RequestGPUs &gt; 0) || ((CurrentTime - DaemonStartTime)  &gt; 600 &amp;&amp; (isUndefined(RequestGPUs)|| RequestGPUs==0) &amp;&amp; TotalGPUs &gt; 0 || GPUs==0))">
-            <factory query_expr='(!stringListsIntersect("T3_US_VC3_NotreDame,T3_US_FNALLPC,T3_US_TAMU,T3_US_NERSC,T3_US_SDSC,T2_US_Nebraska",GLIDEIN_CMSSite) || stringListsIntersect("CMS_T2_US_Nebraska_Red_gw1_whole_cms_gpu, CMS_T2_US_Nebraska_Red_gw2_whole_cms_gpu, CMS_T2_US_Nebraska_Red_whole_cms_gpu",EntryName))  &amp;&amp; stringListMember("CMSGPU",GLIDEIN_Supported_VOs)'>
+         <match match_expr='__import__("CMSGlobalMatcher").match_site_or_entry_or_gatekeeper(job, glidein)' start_expr="( ifthenelse(DESIRED_Sites isnt undefined, stringListMember(GLIDEIN_CMSSite,DESIRED_Sites), undefined) || ifthenelse(DESIRED_Gatekeepers isnt undefined, stringListMember(GLIDEIN_Gatekeeper,DESIRED_Gatekeepers), undefined) || ifthenelse(DESIRED_Entries isnt undefined, stringListMember(GLIDEIN_Entry_Name,DESIRED_Entries), undefined)) &amp;&amp; ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )">
+            <factory query_expr='!stringListsIntersect("T3_US_VC3_NotreDame,T3_US_OSG,T3_US_FNALLPC,T3_US_TAMU,T3_US_NERSC,T3_US_SDSC",GLIDEIN_CMSSite) &amp;&amp; !stringListMember("CMSGPU",GLIDEIN_Supported_VOs) &amp;&amp; GLIDEIN_GridType=="condor" &amp;&amp; !regexp("T2_(CH|CN|FR|IN|IT)_.*|T3_(IN|IT)_.*",GLIDEIN_CMSSite) || stringListsIntersect("T2_IT_Bari",GLIDEIN_CMSSite)'>
                <match_attrs>
+                  <match_attr name="EntryName" type="string"/>
                   <match_attr name="GLIDEIN_CMSSite" type="string"/>
                   <match_attr name="GLIDEIN_Gatekeeper" type="string"/>
                </match_attrs>
                <collectors>
                </collectors>
             </factory>
-            <job query_expr="(IS_TEST_JOB=?=UNDEFINED) &amp;&amp; RequiresGPU == 1 &amp;&amp; (isUndefined(RequestGPUs) || RequestGPUs &gt; 0)">
+            <job query_expr='(IS_TEST_JOB=?=UNDEFINED) &amp;&amp; ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 ) &amp;&amp; regexp("X86_64",unparse(Requirements))'>
                <match_attrs>
+                  <match_attr name="DESIRED_Entries" type="string"/>
                   <match_attr name="DESIRED_Gatekeepers" type="string"/>
                   <match_attr name="DESIRED_Sites" type="string"/>
                </match_attrs>
@@ -345,45 +264,40 @@
          </match>
          <security proxy_selection_plugin="ProxyAll">
             <credentials>
-               <credential absfname="/var/lib/gwms-frontend/tokens.d/cern-itb.scitoken" security_class="frontend" trust_domain="grid" type="scitoken"/>
                <credential absfname="/var/lib/gwms-frontend/.globus/x509_cmspilot04_cms_pilot.proxy" security_class="cmspilot" trust_domain="grid" type="grid_proxy"/>
+               <credential absfname="/var/lib/gwms-frontend/tokens.d/cern-itb.scitoken" security_class="frontend" trust_domain="grid" type="scitoken"/>
             </credentials>
          </security>
          <attrs>
-            <attr name="GLIDEIN_Resource_Slots" glidein_publish="True" job_publish="True" parameter="True" type="string" value="Iotokens,80,,type=main"/>
-            <attr name="USE_SINGULARITY" glidein_publish="False" job_publish="False" parameter="True" type="string" value="OPTIONAL"/>
+            <attr name="GLIDEIN_CustomizeStart_Entrylist" glidein_publish="True" job_publish="False" parameter="True" type="string" value="CMSHTPC_T1_ES_PIC_ce12,CMSHTPC_T1_IT_CNAF_CINECA,CMSHTPC_T2_US_Purdue_Rice,CMSHTPC_T1_DE_KIT_cloud-htcondor-ce-1-kit,CMSHTPC_T1_DE_KIT_cloud-htcondor-ce-1-kit-short"/>
+            <attr name="GLIDEIN_CustomizeStart_Sitelist" glidein_publish="True" job_publish="False" parameter="True" type="string" value="T2_US_Caltech,T1_IT_CNAF,T3_IT_Opportunistic_dodas"/>
          </attrs>
          <files>
-            <file absfname="/data/gwms-frontend/repos/cms-validation-scripts/si_cuda_supported_runtimes.sh" after_entry="True" const="True" executable="True" untar="False" wrapper="False">
-               <untar_options cond_attr="TRUE"/>
-            </file>
          </files>
       </group>
       <group name="main-vacuum" comment="This group is reserved for generating glidein_startup.sh wrappers" enabled="True">
-         <match match_expr="False" start_expr="( ifthenelse(DESIRED_Sites isnt undefined, stringListMember(GLIDEIN_CMSSite,DESIRED_Sites), undefined) || ifthenelse(DESIRED_Gatekeepers isnt undefined, stringListMember(GLIDEIN_Gatekeeper,DESIRED_Gatekeepers), undefined) || ifthenelse(DESIRED_Entries isnt undefined, stringListMember(GLIDEIN_Entry_Name,DESIRED_Entries), undefined)) &amp;&amp; ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )">
+         <match match_expr='False' start_expr="( ifthenelse(DESIRED_Sites isnt undefined, stringListMember(GLIDEIN_CMSSite,DESIRED_Sites), undefined) || ifthenelse(DESIRED_Gatekeepers isnt undefined, stringListMember(GLIDEIN_Gatekeeper,DESIRED_Gatekeepers), undefined) || ifthenelse(DESIRED_Entries isnt undefined, stringListMember(GLIDEIN_Entry_Name,DESIRED_Entries), undefined)) &amp;&amp; ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )">
             <factory query_expr='stringListsIntersect("T1_IT_CNAF,T3_DE_Opportunistic_JURECAFake",GLIDEIN_CMSSite) &amp;&amp; stringListMember("CMS",GLIDEIN_Supported_VOs)'>
-              <match_attrs/>
             </factory>
-            <job query_expr="False">
-              <match_attrs/>
+            <job query_expr='False'>
             </job>
          </match>
          <security proxy_selection_plugin="ProxyAll">
             <credentials>
                <credential absfname="/var/lib/gwms-frontend/.globus/x509_cmspilot04_cms_pilot.proxy" security_class="cmspilot" trust_domain="grid" type="grid_proxy"/>
+               <credential absfname="/var/lib/gwms-frontend/tokens.d/cern-itb.scitoken" security_class="frontend" trust_domain="grid" type="scitoken"/>
             </credentials>
          </security>
          <attrs>
+            <attr name="GLIDEIN_Singularity_Use" glidein_publish="True" job_publish="True" parameter="True" type="string" value="OPTIONAL"/>
             <attr name="GLIDEIN_CustomizeStart_Entrylist" glidein_publish="True" job_publish="False" parameter="True" type="string" value="CMSHTPC_T1_IT_CNAF_CINECA"/>
          </attrs>
       </group>
       <group name="main-vacuum-gpu" comment="This group is reserved for generating GPU glidein_startup.sh wrappers" enabled="True">
          <match match_expr='False' start_expr="( ifthenelse(DESIRED_Sites isnt undefined, stringListMember(GLIDEIN_CMSSite,DESIRED_Sites), undefined) || ifthenelse(DESIRED_Gatekeepers isnt undefined, stringListMember(GLIDEIN_Gatekeeper,DESIRED_Gatekeepers), undefined) )">
             <factory query_expr='stringListsIntersect("T1_IT_CNAF",GLIDEIN_CMSSite) &amp;&amp; stringListMember("CMSGPU",GLIDEIN_Supported_VOs)'> <!-- That's only used for Marconi100 for now -->
-              <match_attrs/>
             </factory>
             <job query_expr='False'>
-              <match_attrs/>
             </job>
          </match>
          <security proxy_selection_plugin="ProxyAll">
@@ -393,19 +307,18 @@
          </security>
          <attrs>
             <attr name="ALL_DEBUG" glidein_publish="True" job_publish="False" parameter="False" type="expr" value="D_ALL"/>
+            <attr name="GLIDEIN_Singularity_Use" glidein_publish="True" job_publish="True" parameter="True" type="string" value="OPTIONAL"/>
             <attr name="GLIDEIN_CustomizeStart_Entrylist" glidein_publish="True" job_publish="False" parameter="True" type="string" value="CMSHTPC_T1_IT_CNAF_CINECA"/>
          </attrs>
       </group>
       <group name="opportunistic" comment="This group represents opportunistic resources" enabled="True">
          <config>
             <glideins_removal margin="0" requests_tracking="False" type="NO" wait="0"/>
-            <idle_glideins_lifetime max="3600"/>
-            <idle_glideins_per_entry max="200" reserve="5"/>
-            <idle_vms_per_entry curb="100" max="200"/>
-            <idle_vms_total curb="1200" max="2000"/>
+            <idle_glideins_lifetime max="0"/>
+            <idle_glideins_per_entry max="100" reserve="3"/>
             <processing_workers matchmakers="1"/>
-            <running_glideins_per_entry max="300" min="0" relative_to_queue="1.05"/>
-            <running_glideins_total curb="3500" max="4000"/>
+            <running_glideins_per_entry max="15000" min="0" relative_to_queue="1.05"/>
+            <running_glideins_total curb="167000" max="170000"/>
          </config>
          <match match_expr='(((glidein["attrs"].get("GLIDEIN_CMSSite") in job["DESIRED_Sites"].split(",")) if ("DESIRED_Sites" in job) else False))' start_expr="ifthenelse(DESIRED_Sites isnt undefined, stringListMember(GLIDEIN_CMSSite,DESIRED_Sites), undefined) &amp;&amp; ifthenelse(WMAgent_AgentName isnt undefined, WMAgent_AgentName=!=UNDEFINED, undefined) &amp;&amp; ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )">
             <factory query_expr='(GLIDEIN_CMSSite=?="T3_US_OSG") &amp;&amp; stringListsIntersect("SU-ITS-CE2,SU-ITS-CE3,MWT2,AGLT2,Clemson-Palmetto",GLIDEIN_ResourceName)  &amp;&amp; !stringListMember("CMSGPU",GLIDEIN_Supported_VOs)'>
@@ -436,55 +349,16 @@
          <files>
          </files>
       </group>
-      <group name="opportunistic_conservative" comment="This group represents the allocation based opportunistic resources" enabled="False">
+      <group name="overflow" enabled="True">
          <config>
             <glideins_removal margin="0" requests_tracking="False" type="NO" wait="0"/>
-            <idle_glideins_lifetime max="3600"/>
-            <idle_glideins_per_entry max="10" reserve="2"/>
-            <idle_vms_per_entry curb="10" max="15"/>
-            <idle_vms_total curb="10" max="15"/>
-            <processing_workers matchmakers="1"/>
-            <running_glideins_per_entry max="10" min="0" relative_to_queue="1.05"/>
-            <running_glideins_total curb="10" max="15"/>
-         </config>
-         <match match_expr='(((glidein["attrs"].get("GLIDEIN_CMSSite") in job["DESIRED_Sites"].split(",")) if ("DESIRED_Sites" in job) else False))' start_expr="ifthenelse(DESIRED_Sites isnt undefined, stringListMember(GLIDEIN_CMSSite,DESIRED_Sites), undefined) &amp;&amp; ifthenelse(WMAgent_AgentName isnt undefined, WMAgent_AgentName=!=UNDEFINED, undefined) &amp;&amp; ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )">
-            <factory query_expr='stringListsIntersect("T3_US_NERSC,T3_US_NERSC_Cori,T3_US_NERSC_Edison,T3_US_SDSC,T3_US_TACC",GLIDEIN_CMSSite)  &amp;&amp; !stringListMember("CMSGPU",GLIDEIN_Supported_VOs)'>
-               <match_attrs>
-                  <match_attr name="GLIDEIN_CMSSite" type="string"/>
-               </match_attrs>
-               <collectors>
-               </collectors>
-            </factory>
-            <job query_expr='(WMAgent_AgentName=!=UNDEFINED) &amp;&amp; stringListsIntersect("T3_US_NERSC,T3_US_NERSC_Cori,T3_US_NERSC_Edison,T3_US_SDSC,T3_US_TACC",DESIRED_Sites) &amp;&amp; (IS_TEST_JOB=?=UNDEFINED) &amp;&amp; ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )'>
-               <match_attrs>
-                  <match_attr name="DESIRED_Sites" type="string"/>
-                  <match_attr name="WMAgent_AgentName" type="string"/>
-               </match_attrs>
-               <schedds>
-               </schedds>
-            </job>
-         </match>
-         <security proxy_selection_plugin="ProxyAll">
-            <credentials>
-               <credential absfname="/var/lib/gwms-frontend/.globus/cmsbosco_id_rsa.pub" keyabsfname="/var/lib/gwms-frontend/.globus/cmsbosco_id_rsa" pilotabsfname="/var/lib/gwms-frontend/.globus/x509_cmspilot04_cms_pilot.proxy" security_class="cmspilot" trust_domain="bosco" type="key_pair"/>
-               <credential absfname="/var/lib/gwms-frontend/.globus/x509_cmspilot04_cms_pilot.proxy" project_id="TG-PHY160019" security_class="cmspilot" trust_domain="grid" type="grid_proxy+project_id"/>
-            </credentials>
-         </security>
-         <attrs>
-         </attrs>
-         <files>
-         </files>
-      </group>
-      <group name="overflow" enabled="False">
-         <config>
-            <glideins_removal margin="0" requests_tracking="False" type="NO" wait="0"/>
-            <idle_glideins_lifetime max="3600"/>
-            <idle_glideins_per_entry max="200" reserve="10"/>
+            <idle_glideins_lifetime max="0"/>
+            <idle_glideins_per_entry max="100" reserve="3"/>
             <idle_vms_per_entry curb="100" max="200"/>
             <idle_vms_total curb="1200" max="2000"/>
             <processing_workers matchmakers="1"/>
             <running_glideins_per_entry max="300" min="0" relative_to_queue="1.05"/>
-            <running_glideins_total curb="3200" max="3500"/>
+            <running_glideins_total curb="3500" max="4000"/>
          </config>
          <match match_expr='(job.get("CMS_ALLOW_OVERFLOW","False")=="True") and (job.get("CRAB_UserRole","none")!="production") and ((glidein["attrs"].get("GLIDEIN_Country") in job["DESIRED_Overflow_Region"].split(",")) if ("DESIRED_Overflow_Region" in job) else False)' start_expr='ifthenelse(CMS_ALLOW_OVERFLOW isnt undefined,CMS_ALLOW_OVERFLOW=?="True", undefined) &amp;&amp; ( (CRAB_UserRole is undefined) || (CRAB_UserRole=!="production") ) &amp;&amp; ifthenelse(DESIRED_Overflow_Region isnt undefined, stringListMember(GLIDEIN_Country,DESIRED_Overflow_Region), undefined) &amp;&amp; ifthenelse(DESIRED_Sites isnt undefined, !stringListsIntersect("T3_US_FNALLPC,T3_US_TAMU",DESIRED_Sites), undefined) &amp;&amp; ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )'>
             <factory query_expr='!stringListsIntersect("T3_US_VC3_NotreDame,T2_US_Purdue,T3_US_FNALLPC,T3_US_TAMU",GLIDEIN_CMSSite) &amp;&amp; (substr(GLIDEIN_CMSSite,0,6)=?="T2_US_") &amp;&amp; !stringListMember("CMSGPU",GLIDEIN_Supported_VOs)'>
@@ -521,7 +395,7 @@
          <config>
             <glideins_removal margin="0" requests_tracking="False" type="NO" wait="0"/>
             <idle_glideins_lifetime max="0"/>
-            <idle_glideins_per_entry max="200" reserve="10"/>
+            <idle_glideins_per_entry max="100" reserve="10"/>
             <idle_vms_per_entry curb="100" max="200"/>
             <idle_vms_total curb="1200" max="2000"/>
             <processing_workers matchmakers="1"/>
@@ -561,16 +435,14 @@
          <files>
          </files>
       </group>
-      <group name="overflow_conservative" enabled="False">
+      <group name="overflow_conservative" enabled="True">
          <config>
             <glideins_removal margin="0" requests_tracking="False" type="NO" wait="0"/>
-            <idle_glideins_lifetime max="3600"/>
-            <idle_glideins_per_entry max="20" reserve="2"/>
-            <idle_vms_per_entry curb="10" max="20"/>
-            <idle_vms_total curb="40" max="60"/>
+            <idle_glideins_lifetime max="0"/>
+            <idle_glideins_per_entry max="10" reserve="2"/>
             <processing_workers matchmakers="1"/>
-            <running_glideins_per_entry max="50" min="0" relative_to_queue="1.05"/>
-            <running_glideins_total curb="400" max="500"/>
+            <running_glideins_per_entry max="10" min="0" relative_to_queue="1.05"/>
+            <running_glideins_total curb="40" max="50"/>
          </config>
          <match match_expr='(job.get("CMS_ALLOW_OVERFLOW","False")=="True") and (job.get("CRAB_UserRole","none")!="production") and ((glidein["attrs"].get("GLIDEIN_Country") in job["DESIRED_Overflow_Region"].split(",")) if ("DESIRED_Overflow_Region" in job) else False)' start_expr='ifthenelse(CMS_ALLOW_OVERFLOW isnt undefined,CMS_ALLOW_OVERFLOW=?="True", undefined) &amp;&amp; ( (CRAB_UserRole is undefined) || (CRAB_UserRole=!="production") ) &amp;&amp; ifthenelse(DESIRED_Overflow_Region isnt undefined, stringListMember(GLIDEIN_Country,DESIRED_Overflow_Region), undefined) &amp;&amp; ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )'>
             <factory query_expr='( (substr(GLIDEIN_CMSSite,0,6)=?="T2_IT_") || (substr(GLIDEIN_CMSSite,0,12)=?="T2_UK_London") ) &amp;&amp; !stringListMember("CMSGPU",GLIDEIN_Supported_VOs)'>
@@ -650,50 +522,6 @@
          <files>
          </files>
       </group>
-      <group name="tier0" enabled="False">
-         <config>
-            <glideins_removal margin="0" requests_tracking="False" type="NO" wait="0"/>
-            <idle_glideins_lifetime max="0"/>
-            <idle_glideins_per_entry max="150" reserve="5"/>
-            <idle_vms_per_entry curb="10" max="20"/>
-            <idle_vms_total curb="150" max="200"/>
-            <processing_workers matchmakers="1"/>
-            <running_glideins_per_entry max="1000" min="0" relative_to_queue="1.15"/>
-            <running_glideins_total curb="9000" max="10000"/>
-         </config>
-         <match match_expr='(((glidein["attrs"].get("GLIDEIN_CMSSite") in job["DESIRED_Sites"].split(",")) if ("DESIRED_Sites" in job) else False) or ((glidein["attrs"].get("GLIDEIN_Gatekeeper") in job["DESIRED_Gatekeepers"].split(",")) if ("DESIRED_Gatekeepers" in job) else False))' start_expr="( ifthenelse(DESIRED_Sites isnt undefined, stringListMember(GLIDEIN_CMSSite,DESIRED_Sites), undefined) || ifthenelse(DESIRED_Gatekeepers isnt undefined, stringListMember(GLIDEIN_Gatekeeper,DESIRED_Gatekeepers), undefined) ) &amp;&amp; ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )">
-            <factory query_expr='( (GLIDEIN_CMSSite=?="T0_CH_CERN") || (GLIDEIN_CMSSite=?="T3_CH_CERN_CAF") || (GLIDEIN_CMSSite=?="T2_CH_CERN_AI") ) &amp;&amp; !stringListMember("CMSGPU",GLIDEIN_Supported_VOs)'>
-               <match_attrs>
-                  <match_attr name="GLIDEIN_CMSSite" type="string"/>
-                  <match_attr name="GLIDEIN_Gatekeeper" type="string"/>
-               </match_attrs>
-               <collectors>
-               </collectors>
-            </factory>
-            <job query_expr="(DESIRED_Sites=!=UNDEFINED) &amp;&amp; (IS_TEST_JOB=?=UNDEFINED) &amp;&amp; ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )">
-               <match_attrs>
-                  <match_attr name="DESIRED_Gatekeepers" type="string"/>
-                  <match_attr name="DESIRED_Sites" type="string"/>
-               </match_attrs>
-               <schedds>
-               </schedds>
-            </job>
-         </match>
-         <security>
-            <credentials>
-               <credential absfname="/var/lib/gwms-frontend/.globus/T0_AccessKey" keyabsfname="/var/lib/gwms-frontend/.globus/T0_SecretKey" pilotabsfname="/var/lib/gwms-frontend/.globus/x509_cmspilot04_cms_pilot.proxy" security_class="cmspilot" trust_domain="T0" type="key_pair"/>
-               <credential absfname="/var/lib/gwms-frontend/.globus/Wigner_AccessKey" keyabsfname="/var/lib/gwms-frontend/.globus/Wigner_SecretKey" pilotabsfname="/var/lib/gwms-frontend/.globus/x509_cmspilot04_cms_pilot.proxy" security_class="cmspilot" trust_domain="Wigner" type="key_pair"/>
-               <credential absfname="/var/lib/gwms-frontend/.globus/AI_AccessKey" keyabsfname="/var/lib/gwms-frontend/.globus/AI_SecretKey" pilotabsfname="/var/lib/gwms-frontend/.globus/x509_cmspilot04_cms_local.proxy" security_class="cmspilot" trust_domain="Evolution" type="key_pair"/>
-            </credentials>
-         </security>
-         <attrs>
-            <attr name="GLIDEIN_Max_Idle" glidein_publish="True" job_publish="True" parameter="True" type="int" value="3600"/>
-            <attr name="GLIDEIN_Max_Tail" glidein_publish="True" job_publish="True" parameter="True" type="int" value="3600"/>
-            <attr name="GLIDEIN_Resource_Slots" glidein_publish="True" job_publish="True" parameter="True" type="string" value="ioslots,1,,type=main"/>
-         </attrs>
-         <files>
-         </files>
-      </group>
    </groups>
    <ccbs>
       <ccb DN="/DC=ch/DC=cern/OU=computers/CN=vocms0816.cern.ch" group="ccb1" node="vocms0816.cern.ch:9618?sock=collector9621-9720"/>
@@ -712,7 +540,7 @@
       <file absfname="/data/gwms-frontend/repos/cms-validation-scripts/test_squid/test_squid.tgz" after_entry="True" after_group="True" const="True" executable="False" period="0" prefix="GLIDEIN_PS_" untar="True" wrapper="False">
          <untar_options absdir_outattr="CMS_TEST_SQUID" cond_attr="TRUE"/>
       </file>
-      <file absfname="/data/gwms-frontend/repos/cms-validation-scripts//test_squid/test_squid.sh" after_entry="True" after_group="True" const="True" executable="True" period="0" prefix="GLIDEIN_PS_" untar="False" wrapper="False">
+      <file absfname="/data/gwms-frontend/repos/cms-validation-scripts/test_squid/test_squid.sh" after_entry="True" after_group="True" const="True" executable="True" period="0" prefix="GLIDEIN_PS_" untar="False" wrapper="False">
          <untar_options cond_attr="TRUE"/>
       </file>
       <file absfname="/data/gwms-frontend/repos/cms-validation-scripts/setjava.sh" after_entry="True" after_group="False" const="True" executable="False" period="0" prefix="GLIDEIN_PS_" untar="False" wrapper="True">
@@ -721,16 +549,13 @@
       <file absfname="/data/gwms-frontend/repos/cms-validation-scripts/set_home_cms.source" after_entry="True" after_group="True" const="True" executable="False" period="0" prefix="GLIDEIN_PS_" untar="False" wrapper="True">
          <untar_options cond_attr="TRUE"/>
       </file>
-      <file absfname="/data/gwms-frontend/repos/cms-validation-scripts/set_glidein_lifetime.sh" after_entry="True" after_group="False" const="True" executable="True" period="0" prefix="GLIDEIN_PS_" untar="False" wrapper="False">
-         <untar_options cond_attr="TRUE"/>
-      </file>
       <file absfname="/data/gwms-frontend/repos/cms-validation-scripts/set_hold.sh" after_entry="True" after_group="False" const="True" executable="True" period="0" prefix="GLIDEIN_PS_" untar="False" wrapper="False">
          <untar_options cond_attr="TRUE"/>
       </file>
       <file absfname="/data/gwms-frontend/repos/cms-validation-scripts/export_siteconf_info.py" after_entry="True" after_group="True" const="True" executable="True" period="0" prefix="GLIDEIN_PS_" untar="False" wrapper="False">
          <untar_options cond_attr="TRUE"/>
       </file>
-      <file absfname="/var/lib/gwms-frontend/web-base/frontend/default_singularity_wrapper.sh" after_entry="True" after_group="False" const="True" executable="False" period="0" prefix="GLIDEIN_PS_" untar="False" wrapper="True">
+      <file absfname="/var/lib/gwms-frontend/web-base/frontend/default_singularity_wrapper.sh" after_entry="True" after_group="True" const="True" executable="False" period="0" prefix="GLIDEIN_PS_" untar="False" wrapper="True">
          <untar_options cond_attr="TRUE"/>
       </file>
       <file absfname="/data/gwms-frontend/repos/cms-validation-scripts/scitokens.sh" after_entry="True" after_group="True" const="True" executable="True" period="0" prefix="GLIDEIN_PS_" untar="False" wrapper="False">
-- 
GitLab