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) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )"> - <factory query_expr='(GLIDEIN_CMSSite=!=UNDEFINED) && (GLIDEIN_CMSSite=?="T3_CH_CERN_CAF") && !stringListMember("CMSGPU",GLIDEIN_Supported_VOs)'> - <match_attrs> - <match_attr name="GLIDEIN_CMSSite" type="string"/> - </match_attrs> - <collectors> - </collectors> - </factory> - <job query_expr="(CMSGroups=!=UNDEFINED) && (IS_TEST_JOB=?=UNDEFINED) && ( 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) && ifthenelse(WMAgent_AgentName isnt undefined, WMAgent_AgentName=!=UNDEFINED, undefined) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )"> - <factory query_expr='stringListsIntersect("T3_US_SDSC",GLIDEIN_CMSSite) && !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) && stringListsIntersect("T3_US_SDSC",DESIRED_Sites) && (IS_TEST_JOB=?=UNDEFINED) && ( 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)) && ( 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) && !stringListMember("CMSGPU",GLIDEIN_Supported_VOs) && GLIDEIN_GridType=="condor" && !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) ) && ((RequestGPUs =!= UNDEFINED && RequestGPUs > 0) || ((CurrentTime - DaemonStartTime) > 600 && (isUndefined(RequestGPUs)|| RequestGPUs==0) && TotalGPUs > 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)) && 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) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 ) && regexp("X86_64",unparse(Requirements))'> + <job query_expr="(IS_TEST_JOB=?=UNDEFINED) && RequiresGPU == 1 && (isUndefined(RequestGPUs) || RequestGPUs > 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) ) && ((RequestGPUs =!= UNDEFINED && RequestGPUs > 0) || ((CurrentTime - DaemonStartTime) > 600 && (isUndefined(RequestGPUs)|| RequestGPUs==0) && TotalGPUs > 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)) && 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)) && ( 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) && !stringListMember("CMSGPU",GLIDEIN_Supported_VOs) && GLIDEIN_GridType=="condor" && !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) && RequiresGPU == 1 && (isUndefined(RequestGPUs) || RequestGPUs > 0)"> + <job query_expr='(IS_TEST_JOB=?=UNDEFINED) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 ) && 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)) && ( 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)) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )"> <factory query_expr='stringListsIntersect("T1_IT_CNAF,T3_DE_Opportunistic_JURECAFake",GLIDEIN_CMSSite) && 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) && 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) && ifthenelse(WMAgent_AgentName isnt undefined, WMAgent_AgentName=!=UNDEFINED, undefined) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )"> <factory query_expr='(GLIDEIN_CMSSite=?="T3_US_OSG") && stringListsIntersect("SU-ITS-CE2,SU-ITS-CE3,MWT2,AGLT2,Clemson-Palmetto",GLIDEIN_ResourceName) && !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) && ifthenelse(WMAgent_AgentName isnt undefined, WMAgent_AgentName=!=UNDEFINED, undefined) && ( 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) && !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) && stringListsIntersect("T3_US_NERSC,T3_US_NERSC_Cori,T3_US_NERSC_Edison,T3_US_SDSC,T3_US_TACC",DESIRED_Sites) && (IS_TEST_JOB=?=UNDEFINED) && ( 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) && ( (CRAB_UserRole is undefined) || (CRAB_UserRole=!="production") ) && ifthenelse(DESIRED_Overflow_Region isnt undefined, stringListMember(GLIDEIN_Country,DESIRED_Overflow_Region), undefined) && ifthenelse(DESIRED_Sites isnt undefined, !stringListsIntersect("T3_US_FNALLPC,T3_US_TAMU",DESIRED_Sites), undefined) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )'> <factory query_expr='!stringListsIntersect("T3_US_VC3_NotreDame,T2_US_Purdue,T3_US_FNALLPC,T3_US_TAMU",GLIDEIN_CMSSite) && (substr(GLIDEIN_CMSSite,0,6)=?="T2_US_") && !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) && ( (CRAB_UserRole is undefined) || (CRAB_UserRole=!="production") ) && ifthenelse(DESIRED_Overflow_Region isnt undefined, stringListMember(GLIDEIN_Country,DESIRED_Overflow_Region), undefined) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )'> <factory query_expr='( (substr(GLIDEIN_CMSSite,0,6)=?="T2_IT_") || (substr(GLIDEIN_CMSSite,0,12)=?="T2_UK_London") ) && !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) ) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )"> - <factory query_expr='( (GLIDEIN_CMSSite=?="T0_CH_CERN") || (GLIDEIN_CMSSite=?="T3_CH_CERN_CAF") || (GLIDEIN_CMSSite=?="T2_CH_CERN_AI") ) && !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) && (IS_TEST_JOB=?=UNDEFINED) && ( 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