<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://t2bwiki.iihe.ac.be/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin</id>
	<title>T2B Wiki - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://t2bwiki.iihe.ac.be/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin"/>
	<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/Special:Contributions/Admin"/>
	<updated>2026-04-20T09:42:21Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=Faq_t2b&amp;diff=1439</id>
		<title>Faq t2b</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=Faq_t2b&amp;diff=1439"/>
		<updated>2026-03-30T11:34:53Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Debugging SSH connection to mX machines: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== List of the UIs / mX machines: ===&lt;br /&gt;
- mshort: m10 , m11 =&amp;gt; 20 minutes of CPU time per process &amp;lt;br&amp;gt;&lt;br /&gt;
- mlong: m4 to m9 =&amp;gt; no limit of CPU time per process&lt;br /&gt;
&lt;br /&gt;
=== Keep ssh connection to UI open: ===&lt;br /&gt;
Add option  &#039; &#039;&#039;&#039;-o ServerAliveInterval=100&#039;&#039;&#039; &#039; to your ssh command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Debugging SSH connection to mX machines: ===&lt;br /&gt;
# Check permissions on ssh keys on your laptop:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; ll $HOME/.ssh&lt;br /&gt;
-rw------- 1 rougny rougny    411 avr 29  2019 id_ed25519&lt;br /&gt;
-rw-r--r-- 1 rougny rougny    102 avr 29  2019 id_ed25519.pub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: To have the correct permissions:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 600 $HOME/.ssh/id_ed25519&lt;br /&gt;
chmod 644 $HOME/.ssh/id_ed25519.pub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: 2a. If that does not fix it, send us the output of those commands via chat/email, as well as the content of your public key to crosscheck with what is in our system:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; ll $HOME/.ssh&lt;br /&gt;
&amp;gt; date &amp;amp;&amp;amp; ssh -vvv MYUSERNAME@m10.iihe.ac.be     &amp;lt;-- it needs to be on a specific machines (no mshort/mlong) so that we can read the logs!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: 2b. Also add your public IPv4 so that we can track your connection in the logs, via visiting for instance https://www.whatismyip.com/&lt;br /&gt;
: 2c. Just in case something went wrong: send us your public ssh key (the one ending in .pub!à&lt;br /&gt;
&lt;br /&gt;
=== MadGraph taking all the cores of a workernode ===&lt;br /&gt;
The default settings for MadGraph is to take all the available cores. This kills the site.&lt;br /&gt;
&lt;br /&gt;
that is why you need to uncomment and set 2 variables in the &#039;&#039;&#039;md5_configuration.txt&#039;&#039;&#039; file (not the &#039;&#039;&#039;dat&#039;&#039;&#039; file), &#039;&#039;&#039;run_mode&#039;&#039;&#039; &amp;amp; &#039;&#039;&#039;nb_core&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
The run mode should be set to 0, single machine, via:&lt;br /&gt;
 run_mode = 0&lt;br /&gt;
&lt;br /&gt;
If the number of cores used by MadGraph is higher than 1, this needs to be asked to the job scheduler with the following directive added to your HTCondor submit file:&lt;br /&gt;
&amp;lt;pre&amp;gt; request_cpus = &amp;quot;2&amp;quot; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To tell MadGraph the number of cores he can take per job, use the following recipe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./bin/mg5_aMC &lt;br /&gt;
set nb_core 1  #or 2 or whatever you want&lt;br /&gt;
save options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or in the &#039;&#039;&#039;md5_configuration.txt&#039;&#039;&#039;:&lt;br /&gt;
 nb_core = 1&lt;br /&gt;
Note &#039;nb_core&#039; and &#039;request_cpus&#039; must alway be the same value! &amp;lt;br&amp;gt;&lt;br /&gt;
Note also that if you ask for more than one core your time in the queue will probably be longer as the scheduler needs to find the correct amount of free slots on one single machine. &amp;lt;br&amp;gt;&lt;br /&gt;
We advise against putting this number higher than one unless you really need it for parallel jobs.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=Faq_t2b&amp;diff=1438</id>
		<title>Faq t2b</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=Faq_t2b&amp;diff=1438"/>
		<updated>2026-03-30T11:34:28Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* List of the UIs / mX machines: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== List of the UIs / mX machines: ===&lt;br /&gt;
- mshort: m10 , m11 =&amp;gt; 20 minutes of CPU time per process &amp;lt;br&amp;gt;&lt;br /&gt;
- mlong: m4 to m9 =&amp;gt; no limit of CPU time per process&lt;br /&gt;
&lt;br /&gt;
=== Keep ssh connection to UI open: ===&lt;br /&gt;
Add option  &#039; &#039;&#039;&#039;-o ServerAliveInterval=100&#039;&#039;&#039; &#039; to your ssh command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Debugging SSH connection to mX machines: ===&lt;br /&gt;
# Check permissions on ssh keys on your laptop:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; ll $HOME/.ssh&lt;br /&gt;
-rw------- 1 rougny rougny    411 avr 29  2019 id_ed25519&lt;br /&gt;
-rw-r--r-- 1 rougny rougny    102 avr 29  2019 id_ed25519.pub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: To have the correct permissions:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 600 $HOME/.ssh/id_ed25519&lt;br /&gt;
chmod 644 $HOME/.ssh/id_ed25519.pub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: 2a. If that does not fix it, send us the output of those commands via chat/email, as well as the content of your public key to crosscheck with what is in our system:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; ll $HOME/.ssh&lt;br /&gt;
&amp;gt; date &amp;amp;&amp;amp; ssh -vvv MYUSERNAME@m3.iihe.ac.be     &amp;lt;-- it needs to be on a specific machines (no mshort/mlong) so that we can read the logs!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: 2b. Also add your public IPv4 so that we can track your connection in the logs, via visiting for instance https://www.whatismyip.com/&lt;br /&gt;
: 2c. Just in case something went wrong: send us your public ssh key (the one ending in .pub!à&lt;br /&gt;
&lt;br /&gt;
=== MadGraph taking all the cores of a workernode ===&lt;br /&gt;
The default settings for MadGraph is to take all the available cores. This kills the site.&lt;br /&gt;
&lt;br /&gt;
that is why you need to uncomment and set 2 variables in the &#039;&#039;&#039;md5_configuration.txt&#039;&#039;&#039; file (not the &#039;&#039;&#039;dat&#039;&#039;&#039; file), &#039;&#039;&#039;run_mode&#039;&#039;&#039; &amp;amp; &#039;&#039;&#039;nb_core&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
The run mode should be set to 0, single machine, via:&lt;br /&gt;
 run_mode = 0&lt;br /&gt;
&lt;br /&gt;
If the number of cores used by MadGraph is higher than 1, this needs to be asked to the job scheduler with the following directive added to your HTCondor submit file:&lt;br /&gt;
&amp;lt;pre&amp;gt; request_cpus = &amp;quot;2&amp;quot; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To tell MadGraph the number of cores he can take per job, use the following recipe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./bin/mg5_aMC &lt;br /&gt;
set nb_core 1  #or 2 or whatever you want&lt;br /&gt;
save options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or in the &#039;&#039;&#039;md5_configuration.txt&#039;&#039;&#039;:&lt;br /&gt;
 nb_core = 1&lt;br /&gt;
Note &#039;nb_core&#039; and &#039;request_cpus&#039; must alway be the same value! &amp;lt;br&amp;gt;&lt;br /&gt;
Note also that if you ask for more than one core your time in the queue will probably be longer as the scheduler needs to find the correct amount of free slots on one single machine. &amp;lt;br&amp;gt;&lt;br /&gt;
We advise against putting this number higher than one unless you really need it for parallel jobs.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=Getting_a_certificate_for_the_T2&amp;diff=1437</id>
		<title>Getting a certificate for the T2</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=Getting_a_certificate_for_the_T2&amp;diff=1437"/>
		<updated>2025-09-29T08:39:39Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you need grid access on the T2, please follow all the steps below: &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# [[Obtaining_a_certificate | Get a Grid certificate (new)]].&lt;br /&gt;
#:*NB: for now, this does not work for users from UGent. Get a CERN certificate for that.&lt;br /&gt;
#:*If you already have a CERN grid certificate and are associated to a Belgian university, you can temporarily use the CERN certificate. But, for accounting reasons, we need you to get a Belgian certificate.&lt;br /&gt;
#:*If you are not from a Belgian institute, request a certificate through your national institute.&lt;br /&gt;
# [[certificate_to_UI | Put your certificate on the UIs]]&lt;br /&gt;
# Register to the VO&lt;br /&gt;
#::&#039;&#039;&#039;!!! In case you already have an old certificate registered to the VO, read [[What if your DN has changed?|this page]] on how to deal with it !!!&#039;&#039;&#039;&lt;br /&gt;
#:* &#039;&#039;&#039;CMS&#039;&#039;&#039;&lt;br /&gt;
#:*# [[Register_to_the_CMS_VO|Register to the CMS VO]]&lt;br /&gt;
#:*# [[SiteDB | Check if your certificate is ok on SiteDB]]. Note the DN.&lt;br /&gt;
#:*# [[CERN_certificate_management | Check that your certificate is the only one registered on the CERN website.]]&lt;br /&gt;
#:* &#039;&#039;&#039;IceCube&#039;&#039;&#039;&lt;br /&gt;
#:** [[Register_to_the_IceCube_VO|Register to the IceCube VO]]&lt;br /&gt;
#:* &#039;&#039;&#039;Solid&#039;&#039;&#039;&lt;br /&gt;
#:** [[Register_to_the_Solid_VO|Register to the Solid VO ]]&lt;br /&gt;
#:* &#039;&#039;&#039;Others&#039;&#039;&#039;&lt;br /&gt;
#:** [[Register_to_the_Beapps_VO|Register to the Belgian VO (beapps) ]]&lt;br /&gt;
# Send a mail to the T2B support (grid_adminATlistserv.vub.be) with your DN in order to have write access on the T2.&lt;br /&gt;
#:* You can find it via the following commands on the cluster, once your certificate has been installed there:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
voms-proxy-init&lt;br /&gt;
voms-proxy-info --identity&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
::Send us the result of the last command&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:5. [[Check_Certificate_UIs | Check if everything works fine on the mX machines]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=Obtaining_a_certificate&amp;diff=1436</id>
		<title>Obtaining a certificate</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=Obtaining_a_certificate&amp;diff=1436"/>
		<updated>2025-09-26T14:06:10Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Quick documentation ==&lt;br /&gt;
&lt;br /&gt;
If you are familiar with the certificates request procedure and you are confident, follow these steps, otherwise go to section &#039;&#039;&#039;More extensive documentation&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  1. Go to https://cm.harica.gr/;&lt;br /&gt;
  2. Choose &amp;quot;Academic Login&amp;quot;;&lt;br /&gt;
  3. Choose your institution, and login;&lt;br /&gt;
  4. Request an &amp;quot;IGTF Client Auth&amp;quot; and choose &amp;quot;GEANT Personal Authentication&amp;quot;;&lt;br /&gt;
  5. Enroll your certificate using &#039;&#039;&#039;RSA - 4096&#039;&#039;&#039; to generate it and give a password to secure the P12 file that contains the certificate. Agree on the policy and &amp;quot;Enroll Certificate&amp;quot;; &lt;br /&gt;
  6. This last step will show a pop-up that allows the download of your certificate in a P12 file;&lt;br /&gt;
  7. You can now upload the certificate on you browser.&lt;br /&gt;
&lt;br /&gt;
== More extensive documentation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;Go to https://cm.harica.gr/&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cert_Manager_Harica.png|600px|thumb|left|Choose &amp;quot;Academic Login&amp;quot; and you will redirected to the IdP federation login page]]&lt;br /&gt;
[[File:Choose_IdP_Harica.png|600px|thumb|left|Choose your institution, e.g., by typing &#039;ULB&#039; or &#039;VUB&#039;]]&lt;br /&gt;
&lt;br /&gt;
[[File:Institution_IdP_Harica.png|600px|thumb|left|Login with your institution credentials. This page may look different depending on the institution.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Dashboard_Harica.png|1200px|thumb|left|When logged in you will arrive at the Dashboard page. At this point, you need to go to &amp;quot;IGTF Client Auth&amp;quot;.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:IGTF_Client_Auth_1_Harica.png|1200px|thumb|left|Here choose &amp;quot;GEANT Personal Authentication&amp;quot;]]&lt;br /&gt;
[[File:IGTF_Client_Auth_2_Harica.png|1200px|thumb|left|Here just press &amp;quot;Next&amp;quot;]]&lt;br /&gt;
[[File:IGTF_Client_Auth_3_Harica.png|1200px|thumb|left|Check the box to agree with the policy. And press &amp;quot;Submit Request&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Enroll_Certificate_Harica.png|1400px|thumb|left|From the Dashboard page you can now &amp;quot;Enroll your Certificate&amp;quot;]]&lt;br /&gt;
[[File:Enroll_Certificate_request_form_Harica.png|800px|thumb|left|Select &#039;&#039;&#039;RSA (Default)&#039;&#039;&#039; and &#039;&#039;&#039;4096&#039;&#039;&#039;. Give a password to secure the P12 file that contains the certificate. Agree on the policy and &amp;quot;Enroll Certificate&amp;quot;]]&lt;br /&gt;
[[File:Download_Certificate_Harica.png|800px|thumb|left|&#039;&#039;&#039;Download&#039;&#039;&#039; your certificate in a P12 file]]&lt;br /&gt;
&lt;br /&gt;
[[File:Firefox_Certificate_page.png|600px|thumb|left|On your browser, go to &amp;lt;br&amp;gt; &#039;&#039;&#039;[Firefox]&#039;&#039;&#039; Preferences -&amp;gt; Certificates -&amp;gt; View Certificates &amp;lt;br&amp;gt; &#039;&#039;&#039;[chrome]&#039;&#039;&#039; Settings &amp;gt; Privacy and Security &amp;gt; Security &amp;gt; Manage Certificates &amp;gt; Your Certificates ]]&lt;br /&gt;
[[File:Firefox_Import.png|600px|thumb|left|Press the Import button and select the cert.p12 files you just downloaded]]&lt;br /&gt;
[[File:Firefox_Import_done.png|600px|thumb|left|The certificate is now listed in the Certificate Manager]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=Obtaining_a_certificate&amp;diff=1435</id>
		<title>Obtaining a certificate</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=Obtaining_a_certificate&amp;diff=1435"/>
		<updated>2025-09-26T13:54:58Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Quick documentation ==&lt;br /&gt;
&lt;br /&gt;
If you are familiar with the certificates request procedure and you are confident, follow these steps, otherwise go to section &#039;&#039;&#039;More extensive documentation&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  1. Go to https://cm.harica.gr/;&lt;br /&gt;
  2. Choose &amp;quot;Academic Login&amp;quot;;&lt;br /&gt;
  3. Choose your institution, and login;&lt;br /&gt;
  4. Request an &amp;quot;IGTF Client Auth&amp;quot; and choose &amp;quot;GEANT Personal Authentication&amp;quot;;&lt;br /&gt;
  5. Enroll your certificate using &#039;&#039;&#039;RSA - 4096&#039;&#039;&#039; to generate it and give a password to secure the P12 file that contains the certificate. Agree on the policy and &amp;quot;Enroll Certificate&amp;quot;; &lt;br /&gt;
  6. This last step will show a pop-up that allows the download of your certificate in a P12 file;&lt;br /&gt;
  7. You can now upload the certificate on you browser.&lt;br /&gt;
&lt;br /&gt;
== More extensive documentation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;Go to https://cm.harica.gr/&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cert_Manager_Harica.png|600px|thumb|left|Choose &amp;quot;Academic Login&amp;quot; and you will redirected to the IdP federation login page]]&lt;br /&gt;
[[File:Choose_IdP_Harica.png|600px|thumb|left|Choose your institution, e.g., by typing &#039;ULB&#039; or &#039;VUB&#039;]]&lt;br /&gt;
&lt;br /&gt;
[[File:Institution_IdP_Harica.png|600px|thumb|left|Login with your institution credentials. This page may look different depending on the institution.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Dashboard_Harica.png|1200px|thumb|left|When logged in you will arrive at the Dashboard page. At this point, you need to go to &amp;quot;IGTF Client Auth&amp;quot;.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:IGTF_Client_Auth_1_Harica.png|1200px|thumb|left|Here choose &amp;quot;GEANT Personal Authentication&amp;quot;]]&lt;br /&gt;
[[File:IGTF_Client_Auth_2_Harica.png|1200px|thumb|left|Here just press &amp;quot;Next&amp;quot;]]&lt;br /&gt;
[[File:IGTF_Client_Auth_3_Harica.png|1200px|thumb|left|Check the box to agree with the policy. And press &amp;quot;Submit Request&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Enroll_Certificate_Harica.png|1400px|thumb|left|From the Dashboard page you can now &amp;quot;Enroll your Certificate&amp;quot;]]&lt;br /&gt;
[[File:Enroll_Certificate_request_form_Harica.png|800px|thumb|left|Select &#039;&#039;&#039;RSA (Default)&#039;&#039;&#039; and &#039;&#039;&#039;4096&#039;&#039;&#039;. Give a password to secure the P12 file that contains the certificate. Agree on the policy and &amp;quot;Enroll Certificate&amp;quot;]]&lt;br /&gt;
[[File:Download_Certificate_Harica.png|800px|thumb|left|&#039;&#039;&#039;Download&#039;&#039;&#039; of your certificate in a P12 file]]&lt;br /&gt;
&lt;br /&gt;
[[File:Firefox_Certificate_page.png|600px|thumb|left|On your browser, go to &amp;lt;br&amp;gt; &#039;&#039;&#039;[Firefox]&#039;&#039;&#039; Preferences -&amp;gt; Certificates -&amp;gt; View Certificates &amp;lt;br&amp;gt; &#039;&#039;&#039;[chrome]&#039;&#039;&#039; Settings &amp;gt; Privacy and Security &amp;gt; Security &amp;gt; Manage Certificates &amp;gt; Your Certificates ]]&lt;br /&gt;
[[File:Firefox_Import.png|600px|thumb|left|Press the Import button and select the cert.p12 files you just downloaded]]&lt;br /&gt;
[[File:Firefox_Import_done.png|600px|thumb|left|The certificate is now listed in the Certificate Manager]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=File:Download_Certificate_Harica.png&amp;diff=1434</id>
		<title>File:Download Certificate Harica.png</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=File:Download_Certificate_Harica.png&amp;diff=1434"/>
		<updated>2025-09-26T13:40:00Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=File:Enroll_Certificate_request_form_Harica.png&amp;diff=1433</id>
		<title>File:Enroll Certificate request form Harica.png</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=File:Enroll_Certificate_request_form_Harica.png&amp;diff=1433"/>
		<updated>2025-09-26T13:39:38Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=File:Enroll_Certificate_Harica.png&amp;diff=1432</id>
		<title>File:Enroll Certificate Harica.png</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=File:Enroll_Certificate_Harica.png&amp;diff=1432"/>
		<updated>2025-09-26T13:38:51Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=Obtaining_a_certificate&amp;diff=1431</id>
		<title>Obtaining a certificate</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=Obtaining_a_certificate&amp;diff=1431"/>
		<updated>2025-09-26T13:32:34Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Quick documentation ==&lt;br /&gt;
&lt;br /&gt;
If you are familiar with the certificates request procedure and you are confident, follow these steps, otherwise go to section &#039;&#039;&#039;More extensive documentation&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  1. Go to https://cm.harica.gr/;&lt;br /&gt;
  2. Choose &amp;quot;Academic Login&amp;quot;;&lt;br /&gt;
  3. Choose your institution, and login;&lt;br /&gt;
  4. Request an &amp;quot;IGTF Client Auth&amp;quot; and choose &amp;quot;GEANT Personal Authentication&amp;quot;;&lt;br /&gt;
  5. Enroll your certificate using &#039;&#039;&#039;RSA - 4096&#039;&#039;&#039; to generate it and give a password to secure the P12 file that contains the certificate. Agree on the policy and &amp;quot;Enroll Certificate&amp;quot;; &lt;br /&gt;
  6. This last step will show a pop-up that allows the download of your certificate in a P12 file;&lt;br /&gt;
  7. You can now upload the certificate on you browser.&lt;br /&gt;
&lt;br /&gt;
== More extensive documentation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;Go to https://cm.harica.gr/&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cert_Manager_Harica.png|600px|thumb|left|Choose &amp;quot;Academic Login&amp;quot; and you will redirected to the IdP federation login page]]&lt;br /&gt;
[[File:Choose_IdP_Harica.png|600px|thumb|left|Choose your institution, e.g., by typing &#039;ULB&#039; or &#039;VUB&#039;]]&lt;br /&gt;
&lt;br /&gt;
[[File:Institution_IdP_Harica.png|600px|thumb|left|Login with your institution credentials. This page may look different depending on the institution.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Dashboard_Harica.png|1200px|thumb|left|When logged in you will arrive at the Dashboard page. At this point, you need to go to &amp;quot;IGTF Client Auth&amp;quot;.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:IGTF_Client_Auth_1_Harica.png|1200px|thumb|left|Here choose &amp;quot;GEANT Personal Authentication&amp;quot;]]&lt;br /&gt;
[[File:IGTF_Client_Auth_2_Harica.png|1200px|thumb|left|Here just press &amp;quot;Next&amp;quot;]]&lt;br /&gt;
[[File:IGTF_Client_Auth_3_Harica.png|1200px|thumb|left|Check the box to agree with the policy. And press &amp;quot;Submit Request&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:New_certificate_type.png|600px|thumb|left|Request a &#039;&#039;&#039;GEANT Personal Authentication&#039;&#039;&#039; certificate and use &#039;&#039;&#039;RSA - 8192&#039;&#039;&#039; as Key type for Key Generation.]]&lt;br /&gt;
[[File:Download_Certificate.png|600px|thumb|left|A this point the certificate is generated and you can just save it in your computer]]&lt;br /&gt;
[[File:Firefox_Certificate_page.png|600px|thumb|left|On your browser, go to &amp;lt;br&amp;gt; &#039;&#039;&#039;[Firefox]&#039;&#039;&#039; Preferences -&amp;gt; Certificates -&amp;gt; View Certificates &amp;lt;br&amp;gt; &#039;&#039;&#039;[chrome]&#039;&#039;&#039; Settings &amp;gt; Privacy and Security &amp;gt; Security &amp;gt; Manage Certificates &amp;gt; Your Certificates ]]&lt;br /&gt;
[[File:Firefox_Import.png|600px|thumb|left|Press the Import button and select the cert.p12 files you just downloaded]]&lt;br /&gt;
[[File:Firefox_Import_done.png|600px|thumb|left|The certificate is now listed in the Certificate Manager]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=Obtaining_a_certificate&amp;diff=1430</id>
		<title>Obtaining a certificate</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=Obtaining_a_certificate&amp;diff=1430"/>
		<updated>2025-09-26T12:49:15Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Quick documentation ==&lt;br /&gt;
&lt;br /&gt;
If you are familiar with the certificates request procedure and you are confident, follow these steps, otherwise go to section &#039;&#039;&#039;More extensive documentation&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  1. Go to https://cert-manager.com/customer/belnet/idp/clientgeant;&lt;br /&gt;
  2. Choose your institution, and login;&lt;br /&gt;
  3. Request a &#039;&#039;&#039;GEANT Personal Authentication&#039;&#039;&#039; certificate and use &#039;&#039;&#039;RSA - 8192&#039;&#039;&#039; as Key type for Key Generation;&lt;br /&gt;
  4. Give a Password to secure the P12 file that contains the certificate and &#039;&#039;&#039;Submit&#039;&#039;&#039; and &#039;&#039;&#039;Agree&#039;&#039;&#039; with the EULA; &lt;br /&gt;
  5. This last step will trigger automatically the download of your certificate in a P12 file;&lt;br /&gt;
  6. You now have to upload the certificate on you browser.&lt;br /&gt;
&lt;br /&gt;
== More extensive documentation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;Go to https://cm.harica.gr/&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cert_Manager_Harica.png|600px|thumb|left|Choose &amp;quot;Academic Login&amp;quot; and you will redirected to the IdP federation login page]]&lt;br /&gt;
[[File:Choose_IdP_Harica.png|600px|thumb|left|Choose your institution, e.g., by typing &#039;ULB&#039; or &#039;VUB&#039;]]&lt;br /&gt;
&lt;br /&gt;
[[File:Institution_IdP_Harica.png|600px|thumb|left|Login with your institution credentials. This page may look different depending on the institution.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Dashboard_Harica.png|1200px|thumb|left|When logged in you will arrive at the Dashboard page. At this point, you need to go ro &amp;quot;IGTF Client Auth&amp;quot;.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:IGTF_Client_Auth_1_Harica.png|1200px|thumb|left|Here choose &amp;quot;GEANT Personal Authentication&amp;quot;]]&lt;br /&gt;
[[File:IGTF_Client_Auth_2_Harica.png|1200px|thumb|left|Here just press &amp;quot;Next&amp;quot;]]&lt;br /&gt;
[[File:IGTF_Client_Auth_3_Harica.png|1200px|thumb|left|Check the box to agree with the policy. And press &amp;quot;Submit Request&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:New_certificate_type.png|600px|thumb|left|Request a &#039;&#039;&#039;GEANT Personal Authentication&#039;&#039;&#039; certificate and use &#039;&#039;&#039;RSA - 8192&#039;&#039;&#039; as Key type for Key Generation.]]&lt;br /&gt;
[[File:Download_Certificate.png|600px|thumb|left|A this point the certificate is generated and you can just save it in your computer]]&lt;br /&gt;
[[File:Firefox_Certificate_page.png|600px|thumb|left|On your browser, go to &amp;lt;br&amp;gt; &#039;&#039;&#039;[Firefox]&#039;&#039;&#039; Preferences -&amp;gt; Certificates -&amp;gt; View Certificates &amp;lt;br&amp;gt; &#039;&#039;&#039;[chrome]&#039;&#039;&#039; Settings &amp;gt; Privacy and Security &amp;gt; Security &amp;gt; Manage Certificates &amp;gt; Your Certificates ]]&lt;br /&gt;
[[File:Firefox_Import.png|600px|thumb|left|Press the Import button and select the cert.p12 files you just downloaded]]&lt;br /&gt;
[[File:Firefox_Import_done.png|600px|thumb|left|The certificate is now listed in the Certificate Manager]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=File:IGTF_Client_Auth_3_Harica.png&amp;diff=1429</id>
		<title>File:IGTF Client Auth 3 Harica.png</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=File:IGTF_Client_Auth_3_Harica.png&amp;diff=1429"/>
		<updated>2025-09-26T12:23:24Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=File:IGTF_Client_Auth_2_Harica.png&amp;diff=1428</id>
		<title>File:IGTF Client Auth 2 Harica.png</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=File:IGTF_Client_Auth_2_Harica.png&amp;diff=1428"/>
		<updated>2025-09-26T12:23:04Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=File:IGTF_Client_Auth_1_Harica.png&amp;diff=1427</id>
		<title>File:IGTF Client Auth 1 Harica.png</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=File:IGTF_Client_Auth_1_Harica.png&amp;diff=1427"/>
		<updated>2025-09-26T12:22:42Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=File:Institution_IdP_Harica.png&amp;diff=1426</id>
		<title>File:Institution IdP Harica.png</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=File:Institution_IdP_Harica.png&amp;diff=1426"/>
		<updated>2025-09-26T12:22:09Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=File:Choose_IdP_Harica.png&amp;diff=1425</id>
		<title>File:Choose IdP Harica.png</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=File:Choose_IdP_Harica.png&amp;diff=1425"/>
		<updated>2025-09-26T12:21:40Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=File:Dashboard_Harica.png&amp;diff=1424</id>
		<title>File:Dashboard Harica.png</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=File:Dashboard_Harica.png&amp;diff=1424"/>
		<updated>2025-09-26T12:20:56Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=File:Cert_Manager_Harica.png&amp;diff=1423</id>
		<title>File:Cert Manager Harica.png</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=File:Cert_Manager_Harica.png&amp;diff=1423"/>
		<updated>2025-09-26T12:20:13Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=SingularityContainers&amp;diff=1422</id>
		<title>SingularityContainers</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=SingularityContainers&amp;diff=1422"/>
		<updated>2025-09-04T13:07:59Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To make SL7/CC8 flavours available for everyone while the cluster is using another version, we make use of containers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
Helper scripts are in &#039;&#039;&#039;/group/userscripts/&#039;&#039;&#039;, so make sure either it is in your $PATH variable with:&lt;br /&gt;
 export PATH=$PATH:/group/userscripts/&lt;br /&gt;
or just call the full path:&lt;br /&gt;
 /group/userscripts/sl7&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== To test code on the mX UIs ===&lt;br /&gt;
Simply go into an EL7 environment:&lt;br /&gt;
 sl7 bash&lt;br /&gt;
This should give you a prompt, where your SL7 code should work.&lt;br /&gt;
&lt;br /&gt;
Just to convince yourself, you can cross-check the OS release:&lt;br /&gt;
&amp;lt;pre&amp;gt;cat /etc/redhat-release&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== To use SL7 inside a cluster job ===&lt;br /&gt;
You can simply ask your script to be run inside the sl7 container:&lt;br /&gt;
 sl7 /user/$USER/MYSUPERSCRIPT.sh&lt;br /&gt;
&lt;br /&gt;
To send it to the cluster, the job.sh file you now will send to using your .sub file to condor_submit should contain:&lt;br /&gt;
 /group/userscripts/sl7 /user/$USER/MYSUPERSCRIPT.sh&lt;br /&gt;
&lt;br /&gt;
Please note that you then need, in your script, to go to TMPDIR.&lt;br /&gt;
&amp;lt;br&amp;gt;It is &#039;&#039;&#039;HIGHLY&#039;&#039;&#039; recommended to play with this first, by printing path and env variables, to check everything inside the container.&lt;br /&gt;
&lt;br /&gt;
To be more exhaustive, what the script &#039;&#039;&#039;sl7&#039;&#039;&#039; does is first to add your PATH &amp;amp; LD_LIBRARY_PATH to singularity, and then launch your script using the following line:&lt;br /&gt;
 singularity exec -B /cvmfs -B /pnfs -B /user -B /scratch /cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el7:latest MYSCRIPT.sh&lt;br /&gt;
&lt;br /&gt;
where: &lt;br /&gt;
* &#039;&#039;&#039;exec&#039;&#039;&#039;: action to do for singularity, here will just execute your command in the container specified&lt;br /&gt;
* &#039;&#039;&#039;-B /mountpoint&#039;&#039;&#039;: is used to have the path present in the container if needed.&lt;br /&gt;
* &#039;&#039;&#039;/cvmfs/.../cms:rhel7&#039;&#039;&#039;: the path on /cvmfs of the container used.&lt;br /&gt;
* &#039;&#039;&#039;MYSCRIPT.sh&#039;&#039;&#039;: script or command to execute&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;N.B.&#039;&#039;&#039; You can look at more containers inside &#039;&#039;&#039;/cvmfs/singularity.opensciencegrid.org/opensciencegrid/&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;Or you can also create your own container, with for instance specific software versions, it is quite simple.&lt;br /&gt;
&amp;lt;br&amp;gt;You can use the guide [[SingularityContainerCreation|here]], or google &#039;&#039;singularity container&#039;&#039; in your favorite search engine :)&lt;br /&gt;
&lt;br /&gt;
=== If you need grid commands ===&lt;br /&gt;
The above containers work perfectly on our cluster. However, they have the drawback of not being updated often. Unfortunately, to be able to work in a grid environment, the CA (certificate authority) files need to be kept up-to-date.&amp;lt;br&amp;gt;&lt;br /&gt;
For this reason, CMS also provides some containers. Unfortunately, not all software is inside (python in el9 is lacking atm). But the grid commands do work. For them, run the scrip:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/cvmfs/cms.cern.ch/common/cmssw-el7&lt;br /&gt;
or&lt;br /&gt;
/cvmfs/cms.cern.ch/common/cmssw-el8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Some more info on these containers can be found [http://cms-sw.github.io/singularity.html here]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=OtherSoftware&amp;diff=1421</id>
		<title>OtherSoftware</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=OtherSoftware&amp;diff=1421"/>
		<updated>2025-09-01T06:18:15Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Software available from the T2 UI machines ==&lt;br /&gt;
The T2 has many more software than what is available directly from the M machines. All are provided by cern&#039;s centrally managed files system called cvmfs. &lt;br /&gt;
They are divided in a CMS specific area and a more general area aimed at high energy in general. &amp;lt;br&amp;gt;&lt;br /&gt;
The CMS specific area comes with a home brew script that makes it easy for searching specific versions of the software you need. However, the set-up is a lot more complicated than the general purpose area. Therefore we recommend the general purpose area unless you do not find the specific version you need in it.&lt;br /&gt;
&lt;br /&gt;
=== General purpose area ===&lt;br /&gt;
&lt;br /&gt;
!!! N.B.: For now, the recommended release is [https://lcginfo.cern.ch/release/102/ &#039;&#039;&#039;LCG_107&#039;&#039;&#039;] with platform &#039;&#039;&#039;x86_64-el9-gcc11-opt&#039;&#039;&#039;, with a list of all packages included [https://lcginfo.cern.ch/release_packages/x86_64-el9-gcc11-opt/107/ here] !!! Just source the software area like this:&lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh  LCG_107 x86_64-el9-gcc11-opt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====The LCG environments, a group of packages neatly built into a coherent environment ====&lt;br /&gt;
Instead of trying to explain in details how the /cvmfs/sft.cern.ch sub-directories are organized, we will limit ourselves in this wiki to give some relevant links and commands about the general purpose area.&lt;br /&gt;
&lt;br /&gt;
A high-level description of the software packages and how they are grouped in LCG Configurations can be found here: [http://lcginfo.cern.ch lcginfo.cern.ch].&amp;lt;br&amp;gt;&lt;br /&gt;
You can search by LCG release, platforms, but more importantly by package name.&amp;lt;br&amp;gt;&lt;br /&gt;
Then from the package, you can select the specific version you want, and find which LCG release contains it.&amp;lt;br&amp;gt;&lt;br /&gt;
Finally just find a arch-OS-compiler combo that suits you  (see below), and voila ! &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Load a specific software repository ====&lt;br /&gt;
&lt;br /&gt;
The software packages are grouped in LCG Configurations. In each of these configurations, you will normally find a set of software versions that are compatible with each others. To get the list of LCG Configurations :&lt;br /&gt;
&amp;lt;pre&amp;gt;/cvmfs/sft.cern.ch/lcg/views/checkSetupViews.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, let&#039;s say you want to know more about the &#039;&#039;&#039;&amp;quot;LCG_107&amp;quot;&#039;&#039;&#039; configuration, and get what architecture/OS/compiler are available for it :&lt;br /&gt;
&amp;lt;pre&amp;gt;/cvmfs/sft.cern.ch/lcg/views/checkSetupViews.sh LCG_107&lt;br /&gt;
Available &amp;lt;arch-os-complier&amp;gt; for LCG_107 : &lt;br /&gt;
  aarch64-el9-gcc13-dbg&lt;br /&gt;
  aarch64-el9-gcc13-opt&lt;br /&gt;
  aarch64-el9-gcc14-dbg&lt;br /&gt;
  aarch64-el9-gcc14-opt&lt;br /&gt;
  arm64-mac13-clang150-opt&lt;br /&gt;
  arm64-mac14-clang160-opt&lt;br /&gt;
  arm64-mac15-clang160-opt&lt;br /&gt;
  x86_64-el8-gcc11-opt&lt;br /&gt;
  x86_64-el9-clang16-dbg&lt;br /&gt;
  x86_64-el9-clang16-opt&lt;br /&gt;
  x86_64-el9-clang19-dbg&lt;br /&gt;
  x86_64-el9-clang19-opt&lt;br /&gt;
  x86_64-el9-gcc11-opt&lt;br /&gt;
  x86_64-el9-gcc13-dbg&lt;br /&gt;
  x86_64-el9-gcc13-opt&lt;br /&gt;
  x86_64-el9-gcc14-dbg&lt;br /&gt;
  x86_64-el9-gcc14-opt&lt;br /&gt;
  x86_64-el9-gcc14fp-opt&lt;br /&gt;
  x86_64-ubuntu2004-gcc9-opt&lt;br /&gt;
  x86_64-ubuntu2204-gcc11-opt&lt;br /&gt;
  x86_64-ubuntu2404-gcc13-opt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are on an Alma 9 UI (like the T2B cluster) and want gcc11 compiler (prefer gcc compiler to others on the cluster unless you know what you are doing), issue the following command :&lt;br /&gt;
&amp;lt;pre&amp;gt;source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh  LCG_107 x86_64-el9-gcc11-opt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the version of gcc :&lt;br /&gt;
&amp;lt;pre&amp;gt;gcc -v&lt;br /&gt;
gcc version 11.2.0 (GCC)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At this moment your environment has been changed to use all the versions in this specific software area, just check by issuing &#039;&#039;&#039;env&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== GFAL issue when loading a different version of python ===&lt;br /&gt;
When the software repository you want to use contains a version of python that is higher than the one installed on the cluster, you might encounter a problem with the gfal libraries:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;import site&#039; failed; use -v for traceback&lt;br /&gt;
Traceback (most recent call last):&lt;br /&gt;
  File &amp;quot;/usr/bin/gfal-mkdir&amp;quot;, line 24, in &amp;lt;module&amp;gt;&lt;br /&gt;
    from gfal2_util.shell import Gfal2Shell&lt;br /&gt;
ImportError: No module named gfal2_util.shell&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This happens because of a mismatch between the software used and the libraries installed. The easiest solution is to use python 3 and a specific version of the UI (user interface) software like in the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_93python3 x86_64-centos7-gcc7-opt&lt;br /&gt;
    source /cvmfs/grid.cern.ch/emi3ui-latest/etc/profile.d/setup-ui-example.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== CMS specific area ===&lt;br /&gt;
!! Prefer loading an LCG complete environment (see above), this way you are sure your environment and packages are coherent whith each other !!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The T2 hosts many software that are packaged with specific versions of CMSSW but that can be used in a stand alone mode. A tool was designed to easily find what is available and which versions can be used.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To list all the available software:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/swmgrs/cmss/soft.pl --list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Most used software are specific version of gcc that are needed, or a root or geant4 version. To find all the available gcc versions:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/swmgrs/cmss/soft.pl --versions gcc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now, to get a given version of gcc (4.6.2 in this example) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/swmgrs/cmss/soft.pl --load gcc/4.6.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This prints the full path of the init.sh that you have to source to get the desired version of gcc :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
source /cvmfs/cms.cern.ch/slc6_amd64_gcc462/external/gcc/4.6.2/etc/profile.d/init.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let&#039;s now check the version of gfortran :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gfortran --version&lt;br /&gt;
GNU Fortran (GCC) 4.6.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{TracNotice|{{PAGENAME}}}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=Rucio&amp;diff=1420</id>
		<title>Rucio</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=Rucio&amp;diff=1420"/>
		<updated>2025-08-12T11:36:12Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Make a rucio request on T2B as a user */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Rucio instructions at T2B ==&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
Rucio web requests are handled via https://cms-rucio-webui.cern.ch/r2d2/request&lt;br /&gt;
&lt;br /&gt;
Some Rucio vocabulary:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RSE: Rucio Storage Element. In our case this is T2_BE_IIHE (and not the name of the se)&lt;br /&gt;
DID: Data identyfier;  is used to represent any set of file, dataset or container identifier. Data identifiers are unique over time. So they are never reused.&lt;br /&gt;
rule: a data transfer. This includes DID, RSE and possible end time when the files are deleted again.&lt;br /&gt;
lock: a tranfereed file&lt;br /&gt;
scope: in our case the scope is cms.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Find the full info on: https://twiki.cern.ch/twiki/bin/view/CMSPublic/Rucio&lt;br /&gt;
&lt;br /&gt;
=== Make a rucio request on T2B as a user ===&lt;br /&gt;
&lt;br /&gt;
- initialise the env:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
source /cvmfs/cms.cern.ch/rucio/setup-py3.sh&lt;br /&gt;
voms-proxy-init -voms cms -rfc -valid 192:00&lt;br /&gt;
export RUCIO_ACCOUNT=`whoami`&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- in rucio, a transfer is called a rule. In order to create a rule:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rucio rule add cms:/CMS/DATA/SET/NAME 1 T2_MY_SITE  &lt;br /&gt;
rucio rule add cms:/CMS/DATA/SET/NAME#BLOCK-NAME 1 T2_MY_SITE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- if there is a lot of data, add &amp;lt;pre&amp;gt;--asynchronous&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- as a user, rules need to be approved by the admins. This is done with 2 extra modifiers:&lt;br /&gt;
&amp;lt;pre&amp;gt;--ask-approval&amp;lt;/pre&amp;gt; and &amp;lt;pre&amp;gt;--lifetime (in seconds; for reference, 30 days is 2592000 seconds)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Summary to request a rule as a user ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rucio add-rule cms:/CMS/DATA/SET/NAME 1 T2_BE_IIHE --asynchronous --ask-approval --lifetime 7776000 &lt;br /&gt;
(3 months)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- now wait for the admins to approve your rule (usually within the day)&lt;br /&gt;
&lt;br /&gt;
==== Getting more info about your request ====&lt;br /&gt;
- you can check your rules:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rucio list-rules --account $RUCIO_ACCOUNT List all the rules you have and their state&lt;br /&gt;
rucio rule-info [RULE_HASH] monitor the progress of your rule and any transfers it may have initiated&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rucio list-rules --account $RUCIO_ACCOUNT&lt;br /&gt;
ID                                ACCOUNT    SCOPE:NAME                                                                                                                                        STATE[OK/REPL/STUCK]    RSE_EXPRESSION      COPIES  EXPIRES (UTC)        CREATED (UTC)&lt;br /&gt;
--------------------------------  ---------  ------------------------------------------------------------------------------------------------------------------------------------------------  ----------------------  ----------------  --------  -------------------  -------------------&lt;br /&gt;
eafda759f4ae4128b49fede980db5622  odevroed   cms:/Neutrino_E-10_gun/RunIISummer17PrePremix-PUAutumn18_102X_upgrade2018_realistic_v15-v1/GEN-SIM-DIGI-RAW#0149acf0-6b06-43c9-b99f-dfc531b6eecb  OK[235/0/0]             T2_BE_IIHE               1  2021-02-19 15:11:47  2021-01-20 15:11:47&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
rucio rule-info eafda759f4ae4128b49fede980db5622&lt;br /&gt;
Id:                         eafda759f4ae4128b49fede980db5622&lt;br /&gt;
Account:                    odevroed&lt;br /&gt;
Scope:                      cms&lt;br /&gt;
Name:                       /Neutrino_E-10_gun/RunIISummer17PrePremix-PUAutumn18_102X_upgrade2018_realistic_v15-v1/GEN-SIM-DIGI-RAW#0149acf0-6b06-43c9-b99f-dfc531b6eecb&lt;br /&gt;
RSE Expression:             T2_BE_IIHE&lt;br /&gt;
Copies:                     1&lt;br /&gt;
State:                      OK&lt;br /&gt;
Locks OK/REPLICATING/STUCK: 235/0/0&lt;br /&gt;
Grouping:                   DATASET&lt;br /&gt;
Expires at:                 2021-02-19 15:11:47&lt;br /&gt;
Locked:                     False&lt;br /&gt;
Weight:                     None&lt;br /&gt;
Created at:                 2021-01-20 15:11:47&lt;br /&gt;
Updated at:                 2021-01-20 15:36:07&lt;br /&gt;
Error:                      None&lt;br /&gt;
Subscription Id:            None&lt;br /&gt;
Source replica expression:  None&lt;br /&gt;
Activity:                   User Subscriptions&lt;br /&gt;
Comment:                    None&lt;br /&gt;
Ignore Quota:               True&lt;br /&gt;
Ignore Availability:        False&lt;br /&gt;
Purge replicas:             False&lt;br /&gt;
Notification:               NO&lt;br /&gt;
End of life:                None&lt;br /&gt;
Child Rule Id:              None&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
More info [https://twiki.cern.ch/twiki/bin/view/CMSPublic/RucioUserDocsRules here]&lt;br /&gt;
&lt;br /&gt;
=== Information for the T2B admins ===&lt;br /&gt;
&lt;br /&gt;
- requests can also be done for users, but I have not tested this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- users can also be given [https://twiki.cern.ch/twiki/bin/view/CMSPublic/RucioSiteDocsQuotas  quota’s]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- datasets can be grouped into containers. This can be handy if several datasets are needed for a specific analysis. All of then can then also be removed together if the analysis is finished. This is done via rucio containers. More info [https://twiki.cern.ch/twiki/bin/view/CMSPublic/RucioUserDocsContainers here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the moment of writing this document, these were the settings for our site:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rucio list-rse-attributes T2_BE_IIHE&lt;br /&gt;
T2_BE_IIHE:              True&lt;br /&gt;
cms_type:                real&lt;br /&gt;
country:                 BE&lt;br /&gt;
ddm_quota:               3355000000000000&lt;br /&gt;
fts:                     https://fts3-cms.cern.ch:8446&lt;br /&gt;
lfn2pfn_algorithm:       cmstfc&lt;br /&gt;
pnn:                     T2_BE_IIHE&lt;br /&gt;
quota_approvers:         odevroed,rougny,srugovac&lt;br /&gt;
reaper:                  True&lt;br /&gt;
region:                  C&lt;br /&gt;
rule_approvers:          odevroed,rougny,srugovac&lt;br /&gt;
source_for_total_space:  static&lt;br /&gt;
source_for_used_space:   rucio&lt;br /&gt;
tier:                    2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can see the data stored on a T2 by issuing the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rucio list-rse-usage T2_BE_IIHE --show-accounts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=Main_Page&amp;diff=1419</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=Main_Page&amp;diff=1419"/>
		<updated>2025-06-23T09:05:46Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Welcome to the CMS Belgian T2 Wiki */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Welcome to the CMS Belgian T2 Wiki ==&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;span style=&amp;quot;font-size: 300%;&amp;quot;&amp;gt; [[first_access_to_t2b|=&amp;gt; FIRST ACCESS TO T2B &amp;lt;=]] &amp;lt;/span&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== General information for users ===&lt;br /&gt;
&lt;br /&gt;
*[[First_access_to_t2b|Getting access to T2B]]&lt;br /&gt;
&lt;br /&gt;
==== Information for new users ====&lt;br /&gt;
&lt;br /&gt;
*[[ Cluster_Overview | Overview of the cluster with all relevant information ]]&lt;br /&gt;
*[[Faq_t2b | FAQ]]&lt;br /&gt;
*[[Getting_a_certificate_for_the_T2|Certificates and VOs]]&lt;br /&gt;
*[[Introduction_to_Linux|Introduction to Linux]]&lt;br /&gt;
*[[CorrectWorkflow|Correct workflow, or how to use T2B resources efficiently]]&lt;br /&gt;
&lt;br /&gt;
==== Using the Tier2 computing resources ====&lt;br /&gt;
*[[HTCondor|Using the new HTCondor cluster]]&lt;br /&gt;
*[[GridStorageAccess| How to handle data on the &#039;&#039;&#039;/pnfs&#039;&#039;&#039; Grid Storage]]&lt;br /&gt;
*[[SingularityContainers|How to use EL7/EL8 on the cluster with containers]]&lt;br /&gt;
*[[Rucio|How to use rucio at T2B]]&lt;br /&gt;
*[[OtherSoftware| Other software available at the T2]]&lt;br /&gt;
*[[PublicWebpages|Having Public Webpages]]&lt;br /&gt;
*[[Crontab|Executing scripts regularly on the UIs using crontab]]&lt;br /&gt;
*[[Backup| Backups of /user , /group , /data , /ice3]]&lt;br /&gt;
*[[GPUs| About GPUs]]&lt;br /&gt;
&lt;br /&gt;
==== Other topics ====&lt;br /&gt;
*[[Basic_computing_skills| Basic computing skills]]&lt;br /&gt;
*[[Using_Git| Using Git]]&lt;br /&gt;
*[[CernLxplus| Useful info on use of lxplus.cern.ch and CERN facilities]]&lt;br /&gt;
*[[Using_htmap| Using htmap (HTCondor python library)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Dedicated experiments pages ===&lt;br /&gt;
!! Beware some pages might be obsolete !!&lt;br /&gt;
&lt;br /&gt;
==== Jupyter Notebook ====&lt;br /&gt;
*[[jupyterlabt2b|Using Jupyter Lab on T2B cluster]]&lt;br /&gt;
&lt;br /&gt;
==== CMS ====&lt;br /&gt;
*[[gridSubmission_withCrab| Submitting jobs with CRAB to the worldwide grid]]&lt;br /&gt;
*[[Getting_started_with_the_CMSSW_software| Getting started with the CMSSW software]]&lt;br /&gt;
*[[FAQ_CMSSW_on_the_Grid| FAQ CMSSW on the Grid on proxy and more!]]&lt;br /&gt;
*[[Getting_started_with_the_MadGraph_software| Getting started with the MadGraph software]]&lt;br /&gt;
*[[TtBar_Analysis_Framework| TtBar Analysis Framework (old)]]&lt;br /&gt;
*[[TopQuarkGroup| Top Quark Group wiki]]&lt;br /&gt;
*[[HEEP_Analysis_Framework| HEEP Analysis Framework]]&lt;br /&gt;
*[[V0_Analysis_wiki| V0 Analysis wiki]]&lt;br /&gt;
*[[Info_exchange| Higgs analysis]]&lt;br /&gt;
==== IceCube ====&lt;br /&gt;
* [[Transfer_from_Madison|Transfer files from Madison]]&lt;br /&gt;
* [[Register_to_the_IceCube_VO|Register to the IceCube VO]]&lt;br /&gt;
* [[IceCube_software|IceCube software]]&lt;br /&gt;
* [[Build_IceCube_software|Build IceCube software]]&lt;br /&gt;
* [[ipython_notebook|iPython notebook]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[ObsoletePages|Obsolete twiki pages]]&lt;br /&gt;
&lt;br /&gt;
== Admin section ==&lt;br /&gt;
*[[AdminPage| Pages for administrators]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=HTCFirstSubmissionGuide&amp;diff=1418</id>
		<title>HTCFirstSubmissionGuide</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=HTCFirstSubmissionGuide&amp;diff=1418"/>
		<updated>2025-04-10T12:39:43Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* T2B Specifics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== First time submitting a job ==&lt;br /&gt;
For new users, we recommend following [https://indico.cern.ch/event/936993/contributions/4022073/attachments/2105538/3540926/2020-Koch-User-Tutorial.pdf this presentation], that should give you an idea of how to submit jobs.&amp;lt;br&amp;gt;&lt;br /&gt;
Then to practice the basics of job submission on a HTCondor cluster, some exercises are proposed on this [https://en.wikitolearn.org/Course:HTCondor Wiki].&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;T2B Specifics&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;File Transfers:&#039;&#039;&#039;&lt;br /&gt;
: Please note that contrary to what is usually shown in documentation and examples, we recommend not using HTCondor file transfer mechanisms (&#039;&#039;&#039;should_transfer_files = NO&#039;&#039;&#039;) and copy files yourself within your script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Sending many jobs:&#039;&#039;&#039;&lt;br /&gt;
:If you plan on sending &amp;gt; 1k jobs at the same time (not a problem), please add &#039;&#039;&#039;max_idle = 200&#039;&#039;&#039; to your .sub file.&amp;lt;br&amp;gt;&lt;br /&gt;
:This will make sure only 200 jobs materialize in the queue at one time, not stressing the scheduler machine (even if you send &amp;gt;50k jobs in total).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Always adapt requested resources to your job&#039;&#039;&#039;&lt;br /&gt;
: You need to adapt the resources you request to what you estimate your job will need. Requesting more than what you really need is wasteful and deprive your fellow users from ressources they might require.&lt;br /&gt;
: To do so, just add to your submit file the following lines:&lt;br /&gt;
&amp;lt;pre&amp;gt;request_cpus = 1&lt;br /&gt;
request_memory = 200MB&lt;br /&gt;
request_disk = 1GB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: Note that for a job, if you need more than 1 cpu / 4GB of memory / 10GB of disk, please be careful and sure of what you are doing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Where am I when I start a job ?&#039;&#039;&#039;&lt;br /&gt;
:You should always prefer using $HOME, which in a job equates to a local unique directory in the /scratch of the local disk,eg: /scratch/condor/dir_275928.&lt;br /&gt;
: $TMPDIR = $HOME/tmp, so it is also on the local disk and unique&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Efficient use of local disks on worker nodes&#039;&#039;&#039;&lt;br /&gt;
:Note that local disks are now exclusively NVMEs which are much -much- faster than network protocols used in writing to /pnfs or /user.&amp;lt;br&amp;gt;&lt;br /&gt;
:So for repeated reads (like cycling through events with files O(1GB)) it is more efficient to copy file locally first then open it.&amp;lt;br&amp;gt;&lt;br /&gt;
:Same for write, prefer writing locally then copying the file to /pnfs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Can I have a shell/interactive job on the batch system ?&#039;&#039;&#039;&lt;br /&gt;
:Yes! If you want to make tests, or run things interactively, with dedicated core/memory for you, just run:&lt;br /&gt;
 condor_submit -i&lt;br /&gt;
:Note that if you want to reserve more than the standard 1 core / 600MB of memory, simply add your request_* [specified just above] like this:&lt;br /&gt;
 condor_submit -interactive request_cpus=2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Sending DAG jobs&#039;&#039;&#039;&lt;br /&gt;
:For now, sending DAG jobs only works when you are directly on the scheduler, so first add your ssh key to local keyring agent and then connect to any mX machine with the -A (forwarding agent) option:&lt;br /&gt;
 ssh-add&lt;br /&gt;
 ssh -A mshort.iihe.ac.be&lt;br /&gt;
:then connect to the scheduler:&lt;br /&gt;
 ssh schedd02.wn.iihe.ac.be&lt;br /&gt;
:there you can do the condor_submit_dag commands and it will work. Note than condor_q commands to see the advancements of your DAG jobs can still be performed on the mX machines.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;NB:&#039;&#039;&#039; as we are now having 2 OSes, some requirements - &#039;&#039;to put in your .sub file&#039;&#039; - are necessary to ensure your jobs arrive on the right cluster:&lt;br /&gt;
&amp;lt;pre&amp;gt;For EL7 workflows:&lt;br /&gt;
requirements = TARGET.OpSysAndVer == &amp;quot;CentOS7&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For EL9 workflows:&lt;br /&gt;
requirements = TARGET.OpSysAndVer == &amp;quot;AlmaLinux9&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== What is my job doing ? Is something wrong ? ===&lt;br /&gt;
For debugging jobs in queue or what jobs running are doing, please follow our [[HTCondorDebug|HTCondor Debug]] section&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== HTCondor Official Documentation ===&lt;br /&gt;
Have a look at the [https://htcondor.readthedocs.io/en/latest/users-manual/index.html official User Manual] on the HTCondor website.&amp;lt;br&amp;gt;&lt;br /&gt;
It is very well done and explains all available features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== HTCondor Workshop Presentation ===&lt;br /&gt;
Every 6 months, there is an HTCondor workshop. Presentations are usually very helpful, especially if you want to go into details of HTCondor (API, DAGMan, ...). You can find the agenda of the latest one [https://indico.cern.ch/event/936993/timetable/#20200921.detailed here]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=Main_Page&amp;diff=1417</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=Main_Page&amp;diff=1417"/>
		<updated>2025-04-08T11:50:00Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Using the Tier2 computing resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Welcome to the CMS Belgian T2 Wiki ==&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;span style=&amp;quot;font-size: 300%;&amp;quot;&amp;gt; [[first_access_to_t2b|=&amp;gt; FIRST ACCESS TO T2B &amp;lt;=]] &amp;lt;/span&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== General information for users ===&lt;br /&gt;
&lt;br /&gt;
*[[First_access_to_t2b|Getting access to T2B]]&lt;br /&gt;
&lt;br /&gt;
==== Information for new users ====&lt;br /&gt;
&lt;br /&gt;
*[[ Cluster_Overview | Overview of the cluster with all relevant information ]]&lt;br /&gt;
*[[Faq_t2b | FAQ]]&lt;br /&gt;
*[[Getting_a_certificate_for_the_T2|Certificates and VOs]]&lt;br /&gt;
*[[Introduction_to_Linux|Introduction to Linux]]&lt;br /&gt;
*[[CorrectWorkflow|Correct workflow, or how to use T2B resources efficiently]]&lt;br /&gt;
&lt;br /&gt;
==== Using the Tier2 computing resources ====&lt;br /&gt;
*[[HTCondor|Using the new HTCondor cluster]]&lt;br /&gt;
*[[GridStorageAccess| How to handle data on the &#039;&#039;&#039;/pnfs&#039;&#039;&#039; Grid Storage]]&lt;br /&gt;
*[[SingularityContainers|How to use EL7/EL8 on the cluster]]&lt;br /&gt;
*[[Rucio|How to use rucio at T2B]]&lt;br /&gt;
*[[OtherSoftware| Other software available at the T2]]&lt;br /&gt;
*[[PublicWebpages|Having Public Webpages]]&lt;br /&gt;
*[[Crontab|Executing scripts regularly on the UIs using crontab]]&lt;br /&gt;
*[[Backup| Backups of /user , /group , /data , /ice3]]&lt;br /&gt;
*[[GPUs| About GPUs]]&lt;br /&gt;
&lt;br /&gt;
==== Other topics ====&lt;br /&gt;
*[[Basic_computing_skills| Basic computing skills]]&lt;br /&gt;
*[[Using_Git| Using Git]]&lt;br /&gt;
*[[CernLxplus| Useful info on use of lxplus.cern.ch and CERN facilities]]&lt;br /&gt;
*[[Using_htmap| Using htmap (HTCondor python library)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Dedicated experiments pages ===&lt;br /&gt;
!! Beware some pages might be obsolete !!&lt;br /&gt;
&lt;br /&gt;
==== Jupyter Notebook ====&lt;br /&gt;
*[[jupyterlabt2b|Using Jupyter Lab on T2B cluster]]&lt;br /&gt;
&lt;br /&gt;
==== CMS ====&lt;br /&gt;
*[[gridSubmission_withCrab| Submitting jobs with CRAB to the worldwide grid]]&lt;br /&gt;
*[[Getting_started_with_the_CMSSW_software| Getting started with the CMSSW software]]&lt;br /&gt;
*[[FAQ_CMSSW_on_the_Grid| FAQ CMSSW on the Grid on proxy and more!]]&lt;br /&gt;
*[[Getting_started_with_the_MadGraph_software| Getting started with the MadGraph software]]&lt;br /&gt;
*[[TtBar_Analysis_Framework| TtBar Analysis Framework (old)]]&lt;br /&gt;
*[[TopQuarkGroup| Top Quark Group wiki]]&lt;br /&gt;
*[[HEEP_Analysis_Framework| HEEP Analysis Framework]]&lt;br /&gt;
*[[V0_Analysis_wiki| V0 Analysis wiki]]&lt;br /&gt;
*[[Info_exchange| Higgs analysis]]&lt;br /&gt;
==== IceCube ====&lt;br /&gt;
* [[Transfer_from_Madison|Transfer files from Madison]]&lt;br /&gt;
* [[Register_to_the_IceCube_VO|Register to the IceCube VO]]&lt;br /&gt;
* [[IceCube_software|IceCube software]]&lt;br /&gt;
* [[Build_IceCube_software|Build IceCube software]]&lt;br /&gt;
* [[ipython_notebook|iPython notebook]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[ObsoletePages|Obsolete twiki pages]]&lt;br /&gt;
&lt;br /&gt;
== Admin section ==&lt;br /&gt;
*[[AdminPage| Pages for administrators]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=OpenID&amp;diff=1416</id>
		<title>OpenID</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=OpenID&amp;diff=1416"/>
		<updated>2025-03-31T08:47:45Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Register your OpenID identity at T2B */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Grid facilities in general and CMS in particular are slowly moving from a certificate/proxy based authentication towards an OpenID/token based authentication.&lt;br /&gt;
&lt;br /&gt;
This page explains how to use them yourself at T2B [BR]&lt;br /&gt;
IMPORTANT: these instructions only work on M19 for the time being!!!!!!&lt;br /&gt;
&lt;br /&gt;
== Getting an OpenID identity ==&lt;br /&gt;
* Go the CMS IAM service at https://cms-auth.cern.ch/ and log in&lt;br /&gt;
* At the left, click &#039;Manage Active Tokens&#039;. At the moment, you have none.&lt;br /&gt;
* Go to the M machines and issue the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eval `oidc-agent-service use`&lt;br /&gt;
oidc-gen --iss https://cms-auth.cern.ch/ --scope openid -w device cms-id&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
iss:    IAM site of your virtual organisation&lt;br /&gt;
scope:  Set of pre-defined rules that limit what you can do with your tokens. The most encompassing is --scope max&lt;br /&gt;
w:      Way to connect the local &#039;id&#039; to the IAM one. &lt;br /&gt;
        In this case &#039;device&#039; means you will need to go a specific webpage and insert a code that oidc-gen will specify. &lt;br /&gt;
        The other options do not work well at T2B&lt;br /&gt;
cms-id: Your local id name.  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Follow the onscreen instructions.&lt;br /&gt;
* &#039;cms-id&#039; now contains the reference to your online identity and will be used in subsequent commands. Feel free to use your imagination here.&lt;br /&gt;
* You can now go back to the IAM site and see that you have just created this identity with the &#039;openid&#039; scope.&lt;br /&gt;
* It has also created 2 tokens for your. More on this in a later section.&lt;br /&gt;
* For more detailed information about the available options, you can see [https://indigo-dc.gitbook.io/oidc-agent/user/oidc-gen this page] &lt;br /&gt;
* You can make as many IDs a you wish. Each can have a different scope and thus different use cases.&lt;br /&gt;
* If you want basic information about your identity, issue the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
oidc-gen -p cms-id | jq .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Register your OpenID identity at T2B ==&lt;br /&gt;
&lt;br /&gt;
Go to your [https://cms-auth.cern.ch/manage/user/profile user page] on the IAM page and send us the value of the field labelled &#039;sub&#039;.&lt;br /&gt;
&lt;br /&gt;
It should be of this form:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creating a token ==&lt;br /&gt;
On the CMS IAM page, you saw that you have a short and long lived token. One is for direct usage, the other to easily renew without the need for a password. This is especially useful when running longer jobs.&lt;br /&gt;
&lt;br /&gt;
The renewal token can also be recreated, but this does require you to give in a password. &lt;br /&gt;
&lt;br /&gt;
A token is created via the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
oidc-token cms-id&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Notice the use of &#039;cms-id&#039; that must be the same name as the ID you created in the previous step.&lt;br /&gt;
&lt;br /&gt;
If you forgot the name of your ID, you can always find it back via this command:&lt;br /&gt;
&amp;lt;pre&amp;gt;oidc-add --list&amp;lt;/pre&amp;gt;&lt;br /&gt;
Details about your configuration can be retrieved via:&lt;br /&gt;
&amp;lt;pre&amp;gt;oidc-add --print cms-id&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can also limit your token to specific tasks. If you want to give read access to your files to a colleague, you can send her/him a token created like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
oidc-token -s storage.read:/ cms-id&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
When your long lived renewal token expires, it can be recreated via:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
oidc-gen --reauthenticate --flow=device cms-id&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information about the use of oidc-token can be found [https://indigo-dc.gitbook.io/oidc-agent/user/oidc-token here].&lt;br /&gt;
&lt;br /&gt;
== Using your token at T2B ==&lt;br /&gt;
&lt;br /&gt;
If your ID is registered at T2B and you made a new token, you can now use it easily via the usual &#039;gfal&#039; commands.&lt;br /&gt;
&lt;br /&gt;
The gfal commands can take either a proxy or a token, depending on an environment variable. In the case of tokens, the variable can be set in the following way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export BEARER_TOKEN=$(oidc-token cms-id)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now all the gfal commnads will use your token to identify. However, only the webdav protocol is supported as of now. This command will get you started:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gfal-ls https://dcache6-shadow.iihe.ac.be:2880/pnfs/iihe/cms/ph/sc4/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=OpenID&amp;diff=1415</id>
		<title>OpenID</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=OpenID&amp;diff=1415"/>
		<updated>2025-03-31T08:32:12Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Grid facilities in general and CMS in particular are slowly moving from a certificate/proxy based authentication towards an OpenID/token based authentication.&lt;br /&gt;
&lt;br /&gt;
This page explains how to use them yourself at T2B [BR]&lt;br /&gt;
IMPORTANT: these instructions only work on M19 for the time being!!!!!!&lt;br /&gt;
&lt;br /&gt;
== Getting an OpenID identity ==&lt;br /&gt;
* Go the CMS IAM service at https://cms-auth.cern.ch/ and log in&lt;br /&gt;
* At the left, click &#039;Manage Active Tokens&#039;. At the moment, you have none.&lt;br /&gt;
* Go to the M machines and issue the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eval `oidc-agent-service use`&lt;br /&gt;
oidc-gen --iss https://cms-auth.cern.ch/ --scope openid -w device cms-id&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
iss:    IAM site of your virtual organisation&lt;br /&gt;
scope:  Set of pre-defined rules that limit what you can do with your tokens. The most encompassing is --scope max&lt;br /&gt;
w:      Way to connect the local &#039;id&#039; to the IAM one. &lt;br /&gt;
        In this case &#039;device&#039; means you will need to go a specific webpage and insert a code that oidc-gen will specify. &lt;br /&gt;
        The other options do not work well at T2B&lt;br /&gt;
cms-id: Your local id name.  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Follow the onscreen instructions.&lt;br /&gt;
* &#039;cms-id&#039; now contains the reference to your online identity and will be used in subsequent commands. Feel free to use your imagination here.&lt;br /&gt;
* You can now go back to the IAM site and see that you have just created this identity with the &#039;openid&#039; scope.&lt;br /&gt;
* It has also created 2 tokens for your. More on this in a later section.&lt;br /&gt;
* For more detailed information about the available options, you can see [https://indigo-dc.gitbook.io/oidc-agent/user/oidc-gen this page] &lt;br /&gt;
* You can make as many IDs a you wish. Each can have a different scope and thus different use cases.&lt;br /&gt;
* If you want basic information about your identity, issue the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
oidc-gen -p cms-id | jq .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Register your OpenID identity at T2B ==&lt;br /&gt;
&lt;br /&gt;
Go to your [https://cms-auth.web.cern.ch/manage/user/profile user page] on the IAM page and send us the value of the field labelled &#039;sub&#039;.&lt;br /&gt;
&lt;br /&gt;
It should be of this form:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creating a token ==&lt;br /&gt;
On the CMS IAM page, you saw that you have a short and long lived token. One is for direct usage, the other to easily renew without the need for a password. This is especially useful when running longer jobs.&lt;br /&gt;
&lt;br /&gt;
The renewal token can also be recreated, but this does require you to give in a password. &lt;br /&gt;
&lt;br /&gt;
A token is created via the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
oidc-token cms-id&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Notice the use of &#039;cms-id&#039; that must be the same name as the ID you created in the previous step.&lt;br /&gt;
&lt;br /&gt;
If you forgot the name of your ID, you can always find it back via this command:&lt;br /&gt;
&amp;lt;pre&amp;gt;oidc-add --list&amp;lt;/pre&amp;gt;&lt;br /&gt;
Details about your configuration can be retrieved via:&lt;br /&gt;
&amp;lt;pre&amp;gt;oidc-add --print cms-id&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can also limit your token to specific tasks. If you want to give read access to your files to a colleague, you can send her/him a token created like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
oidc-token -s storage.read:/ cms-id&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
When your long lived renewal token expires, it can be recreated via:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
oidc-gen --reauthenticate --flow=device cms-id&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information about the use of oidc-token can be found [https://indigo-dc.gitbook.io/oidc-agent/user/oidc-token here].&lt;br /&gt;
&lt;br /&gt;
== Using your token at T2B ==&lt;br /&gt;
&lt;br /&gt;
If your ID is registered at T2B and you made a new token, you can now use it easily via the usual &#039;gfal&#039; commands.&lt;br /&gt;
&lt;br /&gt;
The gfal commands can take either a proxy or a token, depending on an environment variable. In the case of tokens, the variable can be set in the following way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export BEARER_TOKEN=$(oidc-token cms-id)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now all the gfal commnads will use your token to identify. However, only the webdav protocol is supported as of now. This command will get you started:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gfal-ls https://dcache6-shadow.iihe.ac.be:2880/pnfs/iihe/cms/ph/sc4/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=OpenID&amp;diff=1414</id>
		<title>OpenID</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=OpenID&amp;diff=1414"/>
		<updated>2025-03-31T08:31:46Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Grid facilities in general and CMS in particular are slowly moving from a certificate/proxy based authentication towards an OpenID/token based authentication.&lt;br /&gt;
&lt;br /&gt;
This page explains how to use them yourself at T2B [BR]&lt;br /&gt;
IMPORTANT: these instructions only work on M19 for the time being!!!!!!&lt;br /&gt;
&lt;br /&gt;
== Getting an OpenID identity ==&lt;br /&gt;
* Go the CMS IAM service at https://cms-auth.web.cern.ch/ and log in&lt;br /&gt;
* At the left, click &#039;Manage Active Tokens&#039;. At the moment, you have none.&lt;br /&gt;
* Go to the M machines and issue the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eval `oidc-agent-service use`&lt;br /&gt;
oidc-gen --iss https://cms-auth.cern.ch/ --scope openid -w device cms-id&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
iss:    IAM site of your virtual organisation&lt;br /&gt;
scope:  Set of pre-defined rules that limit what you can do with your tokens. The most encompassing is --scope max&lt;br /&gt;
w:      Way to connect the local &#039;id&#039; to the IAM one. &lt;br /&gt;
        In this case &#039;device&#039; means you will need to go a specific webpage and insert a code that oidc-gen will specify. &lt;br /&gt;
        The other options do not work well at T2B&lt;br /&gt;
cms-id: Your local id name.  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Follow the onscreen instructions.&lt;br /&gt;
* &#039;cms-id&#039; now contains the reference to your online identity and will be used in subsequent commands. Feel free to use your imagination here.&lt;br /&gt;
* You can now go back to the IAM site and see that you have just created this identity with the &#039;openid&#039; scope.&lt;br /&gt;
* It has also created 2 tokens for your. More on this in a later section.&lt;br /&gt;
* For more detailed information about the available options, you can see [https://indigo-dc.gitbook.io/oidc-agent/user/oidc-gen this page] &lt;br /&gt;
* You can make as many IDs a you wish. Each can have a different scope and thus different use cases.&lt;br /&gt;
* If you want basic information about your identity, issue the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
oidc-gen -p cms-id | jq .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Register your OpenID identity at T2B ==&lt;br /&gt;
&lt;br /&gt;
Go to your [https://cms-auth.web.cern.ch/manage/user/profile user page] on the IAM page and send us the value of the field labelled &#039;sub&#039;.&lt;br /&gt;
&lt;br /&gt;
It should be of this form:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creating a token ==&lt;br /&gt;
On the CMS IAM page, you saw that you have a short and long lived token. One is for direct usage, the other to easily renew without the need for a password. This is especially useful when running longer jobs.&lt;br /&gt;
&lt;br /&gt;
The renewal token can also be recreated, but this does require you to give in a password. &lt;br /&gt;
&lt;br /&gt;
A token is created via the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
oidc-token cms-id&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Notice the use of &#039;cms-id&#039; that must be the same name as the ID you created in the previous step.&lt;br /&gt;
&lt;br /&gt;
If you forgot the name of your ID, you can always find it back via this command:&lt;br /&gt;
&amp;lt;pre&amp;gt;oidc-add --list&amp;lt;/pre&amp;gt;&lt;br /&gt;
Details about your configuration can be retrieved via:&lt;br /&gt;
&amp;lt;pre&amp;gt;oidc-add --print cms-id&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can also limit your token to specific tasks. If you want to give read access to your files to a colleague, you can send her/him a token created like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
oidc-token -s storage.read:/ cms-id&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
When your long lived renewal token expires, it can be recreated via:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
oidc-gen --reauthenticate --flow=device cms-id&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information about the use of oidc-token can be found [https://indigo-dc.gitbook.io/oidc-agent/user/oidc-token here].&lt;br /&gt;
&lt;br /&gt;
== Using your token at T2B ==&lt;br /&gt;
&lt;br /&gt;
If your ID is registered at T2B and you made a new token, you can now use it easily via the usual &#039;gfal&#039; commands.&lt;br /&gt;
&lt;br /&gt;
The gfal commands can take either a proxy or a token, depending on an environment variable. In the case of tokens, the variable can be set in the following way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export BEARER_TOKEN=$(oidc-token cms-id)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now all the gfal commnads will use your token to identify. However, only the webdav protocol is supported as of now. This command will get you started:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gfal-ls https://dcache6-shadow.iihe.ac.be:2880/pnfs/iihe/cms/ph/sc4/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=GridStorageAccess&amp;diff=1413</id>
		<title>GridStorageAccess</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=GridStorageAccess&amp;diff=1413"/>
		<updated>2025-03-17T15:18:10Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Before starting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
This page describes how to handle data stored on our mass storage system.&lt;br /&gt;
== Introduction ==&lt;br /&gt;
T2B has an ever increasing amount of mass storage available. This system hosts both the centrally produced datasets as well as the user produced data. &amp;lt;br&amp;gt;&lt;br /&gt;
The mass storage is managed by a software called [https://www.dcache.org/ dCache]. As this software is in full development, new features are added continuously. This page contains an overview of the most used features of the software. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== General info ==&lt;br /&gt;
As dCache was designed for precious data, the files are immutable. This means that once they are written, they cannot be changed any more. So, if you want to make changes to a file on dCache, you need to first erase it and then write it anew. &lt;br /&gt;
Our dCache instance is mounted on all the M machines and can be browsed via the /pnfs directory. If you want to find your personal directory, the structure is the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;/pnfs/iihe/&amp;lt;Experiment&amp;gt;/store/user/&amp;lt;Username&amp;gt;     &amp;lt;-- Replace &amp;lt;Username&amp;gt; and &amp;lt;Experiment&amp;gt; accordingly.&amp;lt;/pre&amp;gt;&lt;br /&gt;
On the M machines as well as the whole cluster, /pnfs is mounted read-write via a protocol called &#039;nfs&#039;. Please be aware that you can now inadvertently remove a large portion of your files. As it is a mass storage system, you can easily delete several TBs of data. &lt;br /&gt;
&lt;br /&gt;
Writing and deleting files can still be done via via grid enable commands (see next section). These should still provide the best read/write speeds, compared to nfs access. These commands are mostly done via scripts, so the probability of an error is lessened. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Before starting ==&lt;br /&gt;
In what follows, most of the commands will require some type of authentication to access /pnfs. This is because these commands can be executed over WAN and your location is irrelevant. &amp;lt;br&amp;gt;&lt;br /&gt;
The way authentication is done on our mass storage instance is via an x509 proxy. This proxy is made through your grid certificate. If you do not have a grid certificate, see [https://t2bwiki.iihe.ac.be/Getting_a_certificate_for_the_T2 this page] on how to get one.&amp;lt;br&amp;gt;&lt;br /&gt;
The command to make a grid proxy is:&lt;br /&gt;
&amp;lt;pre&amp;gt;voms-proxy-init --voms &amp;lt;MYEXPERIMENT&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&amp;lt;MYEXPERIMENT&amp;gt;&#039;&#039; is one of &#039;cms, icecube, beapps&#039;&lt;br /&gt;
&lt;br /&gt;
NOTE: the proxy is created in /tmp, so it is local to the machine. For batch jobs to execute grid commands too, set in your &#039;&#039;&#039;.bashrc&#039;&#039;&#039; file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export X509_USER_PROXY=/user/$USER/x509up_u$UID&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Browser access ==&lt;br /&gt;
dCache now exposes files using the WebDav protocol. This means that the files are accessible to browse over https.&amp;lt;br&amp;gt;&lt;br /&gt;
For this, you need to have your certificate in your browser (to import your .p12 certificate, google is your friend).&amp;lt;br&amp;gt;&lt;br /&gt;
Then just point your browser to:&lt;br /&gt;
 https://maite.iihe.ac.be:2880/pnfs/iihe/cms/store/user/&lt;br /&gt;
&lt;br /&gt;
To be able to see and download your files. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
dCache has an even more powerful web interface. It is called dCache View and can be accessed via:&lt;br /&gt;
 https://maite.iihe.ac.be:3880/&lt;br /&gt;
Work is still in progress to make all actions work (12/2021).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Access via GFAL ==&lt;br /&gt;
GFAL is a wrapper around the latest grid commands. Learning to use it means that whatever middleware requires to be used in the future, you don&#039;t need to learn new commands (like srm, lcg, etc)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== gfal-commands ===&lt;br /&gt;
If you want more information on the options that can be used, please use the man pages of gfal !&lt;br /&gt;
&lt;br /&gt;
Here are all the commands that can be used:&lt;br /&gt;
*&#039;&#039;gfal-ls&#039;&#039;: get information on a file&lt;br /&gt;
*&#039;&#039;gfal-mkdir&#039;&#039;: remove a directory&lt;br /&gt;
*&#039;&#039;gfal-rm&#039;&#039;: removes a file. To remove an entire directory, use -r&lt;br /&gt;
*&#039;&#039;gfal-copy&#039;&#039;: copy files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Usage ===&lt;br /&gt;
There are 2 types of file url:&lt;br /&gt;
* &#039;&#039;&#039;Distant files&#039;&#039;&#039;: their url is of the type &amp;lt;protocol&amp;gt;://&amp;lt;name_of_server&amp;gt;:&amp;lt;port&amp;gt;/some/path, eg for IIHE:&lt;br /&gt;
:&amp;lt;pre&amp;gt;davs://maite.iihe.ac.be:2880/pnfs/iihe/&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Local files&#039;&#039;&#039;: their url is of the type file://path_of_the_file, eg for IIHE:&lt;br /&gt;
:&amp;lt;pre&amp;gt;file:///user/$USER/MyFile.root&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Exclamation-mark.jpg|left|40x30px|line=1|]] Be careful, the number of &#039;&#039;&#039;/&#039;&#039;&#039; is very -very- important [[File:Exclamation-mark.jpg|40x30px|line=1|]]&lt;br /&gt;
&lt;br /&gt;
*To get a list of all distant urls for all the Storage Elements, one can do:&lt;br /&gt;
:&amp;lt;pre&amp;gt;lcg-infosites --is grid-bdii.desy.de --vo cms se &amp;lt;/pre&amp;gt;&lt;br /&gt;
:or read more in the [[CERNGridUrls | CERN EOS urls page]].&lt;br /&gt;
&lt;br /&gt;
=== Protocols ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;https/WebDavs&#039;&#039;&#039;  [preferred] [try this one first]&lt;br /&gt;
::&amp;lt;pre&amp;gt;gfal-ls davs://maite.iihe.ac.be:2880/pnfs/iihe/cms/store/user/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;xrootd&#039;&#039;&#039;  [preferred]&lt;br /&gt;
::&amp;lt;pre&amp;gt;gfal-ls root://maite.iihe.ac.be:1094/pnfs/iihe/cms/store/user/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;srm&#039;&#039;&#039;  [deprecated]&lt;br /&gt;
::&amp;lt;pre&amp;gt;gfal-ls srm://maite.iihe.ac.be:8443/pnfs/iihe/cms/store/user/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;nfs&#039;&#039;&#039;  &#039;&#039;{local-only  |  no-cert}&#039;&#039;&lt;br /&gt;
::&amp;lt;pre&amp;gt;gfal-ls /pnfs/iihe/cms/store/user/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;dcap&#039;&#039;&#039;  &#039;&#039;{local-only  |  no-cert}&#039;&#039;&lt;br /&gt;
::&amp;lt;pre&amp;gt;gfal-ls dcap://maite.iihe.ac.be/pnfs/iihe/cms/store/user&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
*To list the contents of a directory &#039;&#039;/pnfs/iihe/cms&#039;&#039; :&lt;br /&gt;
::&amp;lt;pre&amp;gt; gfal-ls davs://maite.iihe.ac.be:2880/pnfs/iihe/cms &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To create a directory:&lt;br /&gt;
::&amp;lt;pre&amp;gt; gfal-mkdir davs://maite.iihe.ac.be:2880/pnfs/iihe/cms/store/user/$USER/NewDir &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*copy file from local disk to remote server &lt;br /&gt;
::&amp;lt;pre&amp;gt; gfal-copy file:///user/$USER/MyFile.root davs://maite.iihe.ac.be:2880/pnfs/iihe/cms/store/user/$USER/ &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To copy a file from remote server to our Storage Element:&lt;br /&gt;
::&amp;lt;pre&amp;gt; gfal-copy gsiftp://eosuserftp.cern.ch/eos/user/r/rougny/Documents/desktop.ini davs://maite.iihe.ac.be:2880/pnfs/iihe/cms/store/user/rougny/ &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To delete a file on remote server&lt;br /&gt;
::&amp;lt;pre&amp;gt; gfal-rm srm://maite.iihe.ac.be:8443/pnfs/iihe/cms/store/user/$USER/MyFile.root &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To remove a directory and its entire content on remote server ?!? not working for now ?):   &lt;br /&gt;
::&amp;lt;pre&amp;gt; gfal-rm -r srm://maite.iihe.ac.be:8443/pnfs/iihe/cms/store/user/$USER/NewDir &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Copy more than 1 file ==&lt;br /&gt;
&lt;br /&gt;
==== Copy Directories ====&lt;br /&gt;
&lt;br /&gt;
You can easily copy whole directories to/from our site using gfal commands. &amp;lt;br&amp;gt;&lt;br /&gt;
It is usually must faster than using scp or rsync commands.&lt;br /&gt;
 gfal-copy -r [--dry-run] gsiftp://eosuserftp.cern.ch/eos/user/r/rougny/Documents/ davs://maite.iihe.ac.be:2880/pnfs/iihe/cms/store/user/rougny/&lt;br /&gt;
&lt;br /&gt;
The magic option is &#039;&#039;&#039;-r&#039;&#039;&#039; for recursive copying.&amp;lt;br&amp;gt;&lt;br /&gt;
When you are sure you get what you want, remove the --dry-run option.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that by default, gfal-copy will not overwrite files already present at the destination. This means it is usually safe to run the command several times.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to force the copy over files already there, add the &#039;&#039;&#039;-f&#039;&#039;&#039; option to your gfal-copy command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Bulk copy from a list of files ====&lt;br /&gt;
&lt;br /&gt;
There is an elegant way to run gfal-copy through several files. This is done using the &#039;&#039;&#039;--from-file&#039;&#039;&#039; option.&lt;br /&gt;
&amp;lt;pre&amp;gt; gfal-copy -f [--dry-run] --from-file files.txt file://location/to/store/ &amp;lt;/pre&amp;gt;&lt;br /&gt;
where files.txt is a file where every line is a source like:&lt;br /&gt;
&amp;lt;pre&amp;gt;davs://maite.iihe.ac.be:2880/pnfs/iihe/cms/store/user/odevroed/eosTransfer-1.root&lt;br /&gt;
davs://maite.iihe.ac.be:2880/pnfs/iihe/cms/store/user/odevroed/eosTransfer-2.root&lt;br /&gt;
... &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make some tests with one line in datafile and make sure the url is OK for both source and destination before running over several files.&amp;lt;br&amp;gt;&lt;br /&gt;
When you are sure you get what you want, remove the --dry-run option.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== WebFTS web interface ====&lt;br /&gt;
If you prefer using a web interface to copy files to/from our /pnfs, you can use CERN&#039;s [https://webfts.cern.ch/ WebFTS feature].&amp;lt;br&amp;gt;&lt;br /&gt;
Not all experiments are allowed to use it, but you can always make a request to have it included.&lt;br /&gt;
&lt;br /&gt;
== Other ways to access the mass storage system ==&lt;br /&gt;
=== Read and copy access ===&lt;br /&gt;
&lt;br /&gt;
As stated in the introduction, dCache is an immutable file system, therefore files cannot be changed once they are written.&lt;br /&gt;
Files can be accessed from pnfs in several ways without the requirement of a grid certificate and grid tools.&lt;br /&gt;
&lt;br /&gt;
* Via the regular &#039;cp&#039; command (prefer the rsync command below):&lt;br /&gt;
::&amp;lt;pre&amp;gt;cp /pnfs/iihe/cms/store/user/odevroed/DQMfile_83_1_hF2.root /user/odevroed &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Via the regular &#039;rsync&#039; command:&lt;br /&gt;
::&amp;lt;pre&amp;gt;rsync -aP /pnfs/iihe/cms/store/user/odevroed/*.root /user/odevroed/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Via the dcache copy command (dccp):&lt;br /&gt;
::&amp;lt;pre&amp;gt;dccp dcap://maite.iihe.ac.be/pnfs/iihe/cms/store/user/odevroed/DQMfile_83_1_hF2.root ./ &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To open files directly using root, use eg&lt;br /&gt;
::&amp;lt;pre&amp;gt;root dcap://maite.iihe.ac.be/pnfs/iihe/some/file.root &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::When reading out the root files, if is rather slow or it doesn&#039;t work at all, and nothing is wrong with the root file (e.g. in an interactive analysis mX machines) you can increase your dCache readahead buffer. Don&#039;t make the buffer larger than 50MB!&lt;br /&gt;
::To enlarge the buffer set this in you environment:&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&#039;For csh&#039;&#039;&#039;&lt;br /&gt;
:::&amp;lt;pre&amp;gt;setenv DCACHE_RAHEAD 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
:::&amp;lt;pre&amp;gt;setenv DCACHE_RA_BUFFER 50000000&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::&#039;&#039;&#039;For bash&#039;&#039;&#039;&lt;br /&gt;
:::&amp;lt;pre&amp;gt;export DCACHE_RAHEAD=true&amp;lt;/pre&amp;gt;&lt;br /&gt;
:::&amp;lt;pre&amp;gt;export DCACHE_RA_BUFFER=50000000&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Via the &#039;curl&#039; command over https&lt;br /&gt;
:&#039;&#039;&#039;Copy from /pnfs:&#039;&#039;&#039;&lt;br /&gt;
::&amp;lt;pre&amp;gt;curl -L --cert $X509_USER_PROXY --key $X509_USER_PROXY --cacert $X509_USER_PROXY --capath $X509_CERT_DIR  -O https://maite.iihe.ac.be:2880/pnfs/iihe/cms/store/user/odevroed/testing_transfer&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Copy to /pnfs:&#039;&#039;&#039;&lt;br /&gt;
::&amp;lt;pre&amp;gt;curl -L --cert $X509_USER_PROXY --key $X509_USER_PROXY --cacert $X509_USER_PROXY --capath $X509_CERT_DIR  -T testing_transfer  https://maite.iihe.ac.be:2880/pnfs/iihe/cms/store/user/odevroed/testing_transfer_2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::This is equivalent to issuing the gfal-cp command via the https protocol:&lt;br /&gt;
::&amp;lt;pre&amp;gt;gfal-copy testing_transfer https://maite.iihe.ac.be:2880/pnfs/iihe/cms/store/user/odevroed/testing_transfer2&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=Cluster_Overview&amp;diff=1412</id>
		<title>Cluster Overview</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=Cluster_Overview&amp;diff=1412"/>
		<updated>2025-03-03T08:17:39Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Data Storage &amp;amp; Directory Structure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
The cluster is composed 3 groups of machines :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* The &#039;&#039;&#039;User Interfaces (UI)&#039;&#039;&#039;&lt;br /&gt;
::This is the cluster front-end, to use the cluster, you need to log into those machines&lt;br /&gt;
::::Servers : mshort [ m2 , m3 ] , mlong [ m0, m1 ]&lt;br /&gt;
:: The &#039;&#039;&#039;File Server&#039;&#039;&#039; provides the user home on the UIs. It is a highly efficient &amp;amp; redundant storage node of ~120 TB capacity with regular backups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* The &#039;&#039;&#039;Computing Machines&#039;&#039;&#039;&lt;br /&gt;
** The &#039;&#039;&#039;Computing Element (CE):&#039;&#039;&#039; This is the gateway between the World and the T2B cluster: it receives all Grid jobs and submit them to the local batch system.&lt;br /&gt;
::::Servers : testumd-htcondorce (temporary)&lt;br /&gt;
&lt;br /&gt;
:* The &#039;&#039;&#039;HTCondor Schedulers:&#039;&#039;&#039; This is the brain of the batch system: they manage all the submitted jobs, and send them to the worker nodes.&lt;br /&gt;
::::Servers : scheddXX&lt;br /&gt;
&lt;br /&gt;
:* The &#039;&#039;&#039;Worker Nodes (WN): &#039;&#039;&#039; This is the power of the cluster : they run multiple jobs in parallel and send the results &amp;amp; status back to the CE.&lt;br /&gt;
::::Servers : nodeXX-YY&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* The &#039;&#039;&#039;Mass Storage&#039;&#039;&#039;&lt;br /&gt;
** The &#039;&#039;&#039;Storage Element&#039;&#039;&#039;: it is the brain of the cluster storage. Grid accessible, it knows where all the files are, and manages all the storage nodes.&lt;br /&gt;
::::Server : maite&lt;br /&gt;
:* The &#039;&#039;&#039;Storage Nodes&#039;&#039;&#039;: This is the memory of the cluster : they contain big data files. In total, they provide ~8400 TB of grid-accessible storage.&lt;br /&gt;
::::Servers : beharXXX&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to Connect ==&lt;br /&gt;
&lt;br /&gt;
To connect to the cluster, you need to have sent us your public ssh key.&lt;br /&gt;
In a terminal, type the following (adapt &amp;lt;MYLOGIN&amp;gt; accordingly WITHOUT the brackets &amp;lt;&amp;gt;):&lt;br /&gt;
 ssh -X -o ServerAliveInterval=100 &amp;lt;MYLOGIN&amp;gt;@mshort.iihe.ac.be&lt;br /&gt;
:&#039;&#039;Tip: the &#039;&#039;-o ServerAliveInterval=100&#039;&#039; option is used to keep your session alive for a long period of time ! You should not be disconnected during a whole day of work.&#039;&#039;&lt;br /&gt;
:&#039;&#039;Tip: use aliases to connect easily! eg add to your &#039;&#039;~/.bashrc&#039;&#039; file the following: &#039;&#039;alias mshort=&#039;ssh -X -o ServerAliveInterval=100 &amp;lt;MYLOGIN&amp;gt;@mshort.iihe.ac.be&#039;&lt;br /&gt;
&lt;br /&gt;
If connecting does not work, please follow the help [[Faq_t2b#Debugging_SSH_connection_to_mX_machines:|here]]. After a successful login, you&#039;ll see this message :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&#039;color:green&#039;&amp;gt; 			(: Welcome to the T2B Cluster :) &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&#039;color:green&#039;&amp;gt;			________________________________&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&#039;color:green&#039;&amp;gt;			The cluster is working properly&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 ___________________________________________________________________________&amp;lt;br&amp;gt;&lt;br /&gt;
  Mail: &amp;lt;span style=&#039;color:blue&#039;&amp;gt;  grid_admin@listserv.vub.be&amp;lt;/span&amp;gt;   |  Chat: &amp;lt;span style=&#039;color:blue&#039;&amp;gt;  https://chat.iihe.ac.be&amp;lt;/span&amp;gt;&lt;br /&gt;
  Wiki: &amp;lt;span style=&#039;color:blue&#039;&amp;gt;  https://t2bwiki.iihe.ac.be&amp;lt;/span&amp;gt; |  Status: &amp;lt;span style=&#039;color:blue&#039;&amp;gt;https://status.iihe.ac.be&amp;lt;/span&amp;gt; &lt;br /&gt;
 ___________________________________________________________________________&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&#039;color:cyan&#039;&amp;gt;[/user]&amp;lt;/span&amp;gt;  =&amp;gt;  224 / 500 GB  &amp;lt;span style=&#039;color:green&#039;&amp;gt;[44%]&amp;lt;/span&amp;gt;  --|--  &amp;lt;span style=&#039;color:cyan&#039;&amp;gt;[/pnfs]&amp;lt;/span&amp;gt;  =&amp;gt;  &amp;lt;span style=&#039;color:green&#039;&amp;gt;101 GB&amp;lt;/span&amp;gt;  [01/12/2023]&lt;br /&gt;
 ___________________________________________________________________________&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&#039;color:blue&#039;&amp;gt;Welcome on [m7]&amp;lt;/span&amp;gt; ! You have &amp;lt;span style=&#039;color:purple&#039;&amp;gt;3600s (1 hours)&amp;lt;/span&amp;gt; of cpu time per processes.&lt;br /&gt;
  There are &amp;lt;span style=&#039;color:green&#039;&amp;gt;2 users&amp;lt;/span&amp;gt; here   |   Load: &amp;lt;span style=&#039;color:red&#039;&amp;gt;7.56 /4 CPUs (189%)&amp;lt;/span&amp;gt;  |   Mem: &amp;lt;span style=&#039;color:green&#039;&amp;gt;16% used&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please observe all the information in this message:&lt;br /&gt;
* The header, telling you the health of the cluster. When there is an issue, the header of the welcome message will transform to:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&#039;color:red&#039;&amp;gt; 			:( Welcome to the T2B Cluster ): &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&#039;color:red&#039;&amp;gt;			________________________________&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&#039;color:red&#039;&amp;gt;			THERE ARE ISSUES ON THE CLUSTER&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&#039;color:red&#039;&amp;gt;			More details at &amp;lt;/span&amp;gt;&amp;lt;span style=&#039;color:magenta&#039;&amp;gt;status.iihe.ac.be&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&#039;color:red&#039;&amp;gt;			(Register to receive updates)&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The email used for the cluster support (please use this one rather than personal mail, this way everyone on the support team can answer and track the progress.)&lt;br /&gt;
* The wiki link, where you should go first to find the information&lt;br /&gt;
* The chat link, where you can easily contact us for fast exchanges. IIHE users can use their intranet account, others can just create an account.&lt;br /&gt;
* The status link, where you can see if the cluster has any problems reported. Please make sure you are registered to receive updates.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* The space used on the mass storage /pnfs, where storing a few TB is no problem. No hard limits are applied, but please contact us if you plan to go over 20 TB!&lt;br /&gt;
* The quota used on /user (and /group). Here a hard limit is applied, so if you are at 100%, you will have many problems. Clean your space, and if you really need more contact us.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* The cpu time limit imposed per process, as we divided our UIs into 2 groups. Please note &#039;&#039;&#039;processes will be killed&#039;&#039;&#039; if they go over their CPU-time limit!&lt;br /&gt;
:: &#039;&#039;&#039;The light task&#039;&#039;&#039; UIs &amp;lt;span style=&#039;color:red&#039;&amp;gt;(max &#039;&#039;&#039;CPU&#039;&#039;&#039; time = 20 minutes)&amp;lt;/span&amp;gt; : they are used for crab/local job submission, writing code,  debugging ...&lt;br /&gt;
::&amp;lt;pre&amp;gt;mshort.iihe.ac.be :  m2.iihe.ac.be, m3.iihe.ac.be &amp;lt;/pre&amp;gt;&lt;br /&gt;
:: &#039;&#039;&#039;The CPU-intensive&#039;&#039;&#039; UIs &amp;lt;span style=&#039;color:red&#039;&amp;gt;(max &#039;&#039;&#039;CPU&#039;&#039;&#039; time = 5 hour)&amp;lt;/span&amp;gt; : they are available for CPU-intensive and testing tasks/workflows, although you should prefer using local job submission ...&lt;br /&gt;
::&amp;lt;pre&amp;gt;mlong.iihe.ac.be : m0.iihe.ac.be, m1.iihe.ac.be&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Information about how heavily this UI is used. If any of them is red (ie above optimal usage), please consider using another UI. Please be mindful of other users and don&#039;t start too many processes, especially if the UI is already under charge.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Sometimes announcements are printed at the end. Please make sure you read those.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Data Storage &amp;amp; Directory Structure ==&lt;br /&gt;
&lt;br /&gt;
There are 2 main directories to store your work and data:&lt;br /&gt;
* &#039;&#039;&#039;/user [/$USER]&#039;&#039;&#039; : this is your home directory. You have an enforced quota there, as it is an expensive storage with redundancy and daily backups (see below).&lt;br /&gt;
* &#039;&#039;&#039;/pnfs [/iihe/MYEXP/store/user/$USER]&#039;&#039;&#039; : this is where you can store a large amount of data, and is also [[GridStorageAccess|grid-accessible]]. If you need more than a few TB, please contact us. There is no backups there, so be careful of what you do !&lt;br /&gt;
** &#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; /pnfs is an immutable file system. This means that once data is written, it cannot be changed anymore. Therefore you should &#039;&#039;&#039;not&#039;&#039;&#039; put your scripts in this area.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There are other directories than you might want to take notice of:&lt;br /&gt;
* &#039;&#039;&#039;/group&#039;&#039;&#039; : same as /user , but if you need to share/produce in a group.&lt;br /&gt;
* &#039;&#039;&#039;/scratch&#039;&#039;&#039; : a temporary scratch space for your job. Use $TMPDIR on the WNs, it is cleanned after each job :)&lt;br /&gt;
* &#039;&#039;&#039;/cvmfs&#039;&#039;&#039; : Centralised CVMFS software repository. It should contain most of the software you will need for your experiment. Find [[OtherSoftware|here]] how to get a coherent environment for most tools you will need.&lt;br /&gt;
* &#039;&#039;&#039;/software&#039;&#039;&#039; : local area for shared software not in /cvmfs . You can use a [[OtherSoftware|nice tool]] to find the software and versions available.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Batch System ==&lt;br /&gt;
&lt;br /&gt;
The cluster is based on HTCondor (also used at CERN or Wisconsin for instance).&lt;br /&gt;
Please follow [[HTCondor|this page]] for details on how to use it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;1064&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Description&lt;br /&gt;
| nowrap=&amp;quot;nowrap&amp;quot; align=&amp;quot;center&amp;quot; | HTCondor batch ressources&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | # CPU&#039;s (Jobs)&lt;br /&gt;
| nowrap=&amp;quot;nowrap&amp;quot; align=&amp;quot;center&amp;quot; | 10700&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Walltime limit&lt;br /&gt;
| nowrap=&amp;quot;nowrap&amp;quot; align=&amp;quot;center&amp;quot; | 168 hours = 1 week &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Preferred Memory per job&lt;br /&gt;
| nowrap=&amp;quot;nowrap&amp;quot; align=&amp;quot;center&amp;quot; | 4 Gb&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | $TMPDIR/scratch max usable space&lt;br /&gt;
| nowrap=&amp;quot;nowrap&amp;quot; align=&amp;quot;center&amp;quot; | 10-20 Gb&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Max # jobs sent to the batch system / User&lt;br /&gt;
| nowrap=&amp;quot;nowrap&amp;quot; align=&amp;quot;center&amp;quot; | theoretically none (contact us if you plan on sending more than 10 000) &amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Backup ==&lt;br /&gt;
There are several areas that we regularly back up: &#039;&#039;&#039;/user&#039;&#039;&#039; , &#039;&#039;&#039;/group&#039;&#039;&#039; , &#039;&#039;&#039;/ice3&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
You can find more information on the backup frequency and how to access them [[Backup|here]].&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
[http://ganglia.iihe.ac.be/ganglia/  Ganglia Monitoring] : stats on all our servers.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://status.iihe.ac.be Cluster Status] : current status of all T2B services. Check here before sending us an email. Please also consider registering to receive T2B issues and be informed when things are resolved.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=HTCFirstSubmissionGuide&amp;diff=1411</id>
		<title>HTCFirstSubmissionGuide</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=HTCFirstSubmissionGuide&amp;diff=1411"/>
		<updated>2025-02-18T09:58:24Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== First time submitting a job ==&lt;br /&gt;
For new users, we recommend following [https://indico.cern.ch/event/936993/contributions/4022073/attachments/2105538/3540926/2020-Koch-User-Tutorial.pdf this presentation], that should give you an idea of how to submit jobs.&amp;lt;br&amp;gt;&lt;br /&gt;
Then to practice the basics of job submission on a HTCondor cluster, some exercises are proposed on this [https://en.wikitolearn.org/Course:HTCondor Wiki].&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;T2B Specifics&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;File Transfers:&#039;&#039;&#039;&lt;br /&gt;
: Please note that contrary to what is usually shown in documentation and examples, we recommend not using HTCondor file transfer mechanisms (&#039;&#039;&#039;should_transfer_files = NO&#039;&#039;&#039;) and copy files yourself within your script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Always adapt requested resources to your job&#039;&#039;&#039;&lt;br /&gt;
: You need to adapt the resources you request to what you estimate your job will need. Requesting more than what you really need is wasteful and deprive your fellow users from ressources they might require.&lt;br /&gt;
: To do so, just add to your submit file the following lines:&lt;br /&gt;
&amp;lt;pre&amp;gt;request_cpus = 1&lt;br /&gt;
request_memory = 200MB&lt;br /&gt;
request_disk = 1GB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: Note that for a job, if you need more than 1 cpu / 4GB of memory / 10GB of disk, please be careful and sure of what you are doing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Where am I when I start a job ?&#039;&#039;&#039;&lt;br /&gt;
:You should always prefer using $HOME, which in a job equates to a local unique directory in the /scratch of the local disk,eg: /scratch/condor/dir_275928.&lt;br /&gt;
: $TMPDIR = $HOME/tmp, so it is also on the local disk and unique&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Efficient use of local disks on worker nodes&#039;&#039;&#039;&lt;br /&gt;
:Note that local disks are now exclusively NVMEs which are much -much- faster than network protocols used in writing to /pnfs or /user.&amp;lt;br&amp;gt;&lt;br /&gt;
:So for repeated reads (like cycling through events with files O(1GB)) it is more efficient to copy file locally first then open it.&amp;lt;br&amp;gt;&lt;br /&gt;
:Same for write, prefer writing locally then copying the file to /pnfs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Can I have a shell/interactive job on the batch system ?&#039;&#039;&#039;&lt;br /&gt;
:Yes! If you want to make tests, or run things interactively, with dedicated core/memory for you, just run:&lt;br /&gt;
 condor_submit -i&lt;br /&gt;
:Note that if you want to reserve more than the standard 1 core / 600MB of memory, simply add your request_* [specified just above] like this:&lt;br /&gt;
 condor_submit -interactive request_cpus=2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Sending DAG jobs&#039;&#039;&#039;&lt;br /&gt;
:For now, sending DAG jobs only works when you are directly on the scheduler, so first add your ssh key to local keyring agent and then connect to any mX machine with the -A (forwarding agent) option:&lt;br /&gt;
 ssh-add&lt;br /&gt;
 ssh -A mshort.iihe.ac.be&lt;br /&gt;
:then connect to the scheduler:&lt;br /&gt;
 ssh schedd02.wn.iihe.ac.be&lt;br /&gt;
:there you can do the condor_submit_dag commands and it will work. Note than condor_q commands to see the advancements of your DAG jobs can still be performed on the mX machines.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;NB:&#039;&#039;&#039; as we are now having 2 OSes, some requirements - &#039;&#039;to put in your .sub file&#039;&#039; - are necessary to ensure your jobs arrive on the right cluster:&lt;br /&gt;
&amp;lt;pre&amp;gt;For EL7 workflows:&lt;br /&gt;
requirements = TARGET.OpSysAndVer == &amp;quot;CentOS7&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For EL9 workflows:&lt;br /&gt;
requirements = TARGET.OpSysAndVer == &amp;quot;AlmaLinux9&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== What is my job doing ? Is something wrong ? ===&lt;br /&gt;
For debugging jobs in queue or what jobs running are doing, please follow our [[HTCondorDebug|HTCondor Debug]] section&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== HTCondor Official Documentation ===&lt;br /&gt;
Have a look at the [https://htcondor.readthedocs.io/en/latest/users-manual/index.html official User Manual] on the HTCondor website.&amp;lt;br&amp;gt;&lt;br /&gt;
It is very well done and explains all available features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== HTCondor Workshop Presentation ===&lt;br /&gt;
Every 6 months, there is an HTCondor workshop. Presentations are usually very helpful, especially if you want to go into details of HTCondor (API, DAGMan, ...). You can find the agenda of the latest one [https://indico.cern.ch/event/936993/timetable/#20200921.detailed here]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=Faq_t2b&amp;diff=1410</id>
		<title>Faq t2b</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=Faq_t2b&amp;diff=1410"/>
		<updated>2024-11-19T14:19:37Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Debugging SSH connection to mX machines: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== List of the UIs / mX machines: ===&lt;br /&gt;
- mshort: m2 , m3 =&amp;gt; 20 minutes of CPU time per process &amp;lt;br&amp;gt;&lt;br /&gt;
- mlong: m0, m1 =&amp;gt; 5 hour of CPU time per process&lt;br /&gt;
&lt;br /&gt;
=== Keep ssh connection to UI open: ===&lt;br /&gt;
Add option  &#039; &#039;&#039;&#039;-o ServerAliveInterval=100&#039;&#039;&#039; &#039; to your ssh command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Debugging SSH connection to mX machines: ===&lt;br /&gt;
# Check permissions on ssh keys on your laptop:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; ll $HOME/.ssh&lt;br /&gt;
-rw------- 1 rougny rougny    411 avr 29  2019 id_ed25519&lt;br /&gt;
-rw-r--r-- 1 rougny rougny    102 avr 29  2019 id_ed25519.pub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: To have the correct permissions:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 600 $HOME/.ssh/id_ed25519&lt;br /&gt;
chmod 644 $HOME/.ssh/id_ed25519.pub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: 2a. If that does not fix it, send us the output of those commands via chat/email, as well as the content of your public key to crosscheck with what is in our system:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; ll $HOME/.ssh&lt;br /&gt;
&amp;gt; date &amp;amp;&amp;amp; ssh -vvv MYUSERNAME@m3.iihe.ac.be     &amp;lt;-- it needs to be on a specific machines (no mshort/mlong) so that we can read the logs!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: 2b. Also add your public IPv4 so that we can track your connection in the logs, via visiting for instance https://www.whatismyip.com/&lt;br /&gt;
: 2c. Just in case something went wrong: send us your public ssh key (the one ending in .pub!à&lt;br /&gt;
&lt;br /&gt;
=== MadGraph taking all the cores of a workernode ===&lt;br /&gt;
The default settings for MadGraph is to take all the available cores. This kills the site.&lt;br /&gt;
&lt;br /&gt;
that is why you need to uncomment and set 2 variables in the &#039;&#039;&#039;md5_configuration.txt&#039;&#039;&#039; file (not the &#039;&#039;&#039;dat&#039;&#039;&#039; file), &#039;&#039;&#039;run_mode&#039;&#039;&#039; &amp;amp; &#039;&#039;&#039;nb_core&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
The run mode should be set to 0, single machine, via:&lt;br /&gt;
 run_mode = 0&lt;br /&gt;
&lt;br /&gt;
If the number of cores used by MadGraph is higher than 1, this needs to be asked to the job scheduler with the following directive added to your HTCondor submit file:&lt;br /&gt;
&amp;lt;pre&amp;gt; request_cpus = &amp;quot;2&amp;quot; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To tell MadGraph the number of cores he can take per job, use the following recipe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./bin/mg5_aMC &lt;br /&gt;
set nb_core 1  #or 2 or whatever you want&lt;br /&gt;
save options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or in the &#039;&#039;&#039;md5_configuration.txt&#039;&#039;&#039;:&lt;br /&gt;
 nb_core = 1&lt;br /&gt;
Note &#039;nb_core&#039; and &#039;request_cpus&#039; must alway be the same value! &amp;lt;br&amp;gt;&lt;br /&gt;
Note also that if you ask for more than one core your time in the queue will probably be longer as the scheduler needs to find the correct amount of free slots on one single machine. &amp;lt;br&amp;gt;&lt;br /&gt;
We advise against putting this number higher than one unless you really need it for parallel jobs.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=T2B_News&amp;diff=1409</id>
		<title>T2B News</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=T2B_News&amp;diff=1409"/>
		<updated>2024-11-18T12:50:51Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [14/10/2024] New OS supported: AlmaLinux 9 (EL9) ==&lt;br /&gt;
&lt;br /&gt;
As of June 2024, the current OS on the cluster, Centos 7 (EL7), is not supported anymore, ie does not receive any new security patch.&amp;lt;br&amp;gt;&lt;br /&gt;
We have therefore started the migration to an EL9 variant, AlmaLinux 9.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;!! We ask you that you start migrating your workflows to EL9 as at some point we will decommission all EL7 related services !!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will have a transition period where you can access both versions of the OS:&lt;br /&gt;
* 4 mX machines in &#039;&#039;&#039;EL7&#039;&#039;&#039;:&lt;br /&gt;
** m0 &amp;amp; m1 (mlong), big hardware machines with 5h of CPU time and 56 cores&lt;br /&gt;
** m2 &amp;amp; m3 (mshort), virtual machines with 20min of CPU time, only meant for coding&lt;br /&gt;
&lt;br /&gt;
* 3 mX machines in &#039;&#039;&#039;EL9&#039;&#039;&#039;:&lt;br /&gt;
** m9, big hardware machines with 5h of CPU time and 56 cores&lt;br /&gt;
** m10 &amp;amp; m11, virtual machines with 20min of CPU time, only meant for coding&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note that this is emphasized in the &amp;quot;message of the day&amp;quot; when connecting via ssh.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The batch system also has now ~3000 slots in EL9, and we will continue migrating compute nodes.&amp;lt;br&amp;gt;&lt;br /&gt;
Please be patient as your jobs might spend more time in queue until transition is over.&amp;lt;br&amp;gt;&lt;br /&gt;
We will monitor and slowly give EL9 more resources with time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that to submit jobs to EL9 compute nodes, all you have to do is do so from the EL9 mX machines.&amp;lt;br&amp;gt;&lt;br /&gt;
All mX machines automatically append their OS version to your job as requirement for both EL7 &amp;amp; EL9, eg:&lt;br /&gt;
 TARGET.OpSysMajorVer == 9&lt;br /&gt;
and talk to a different scheduler, schedd02 for EL7 mX and schedd03 for EL9.&lt;br /&gt;
&lt;br /&gt;
You just have to be careful and adapt what you source for your environment.&amp;lt;br&amp;gt;&lt;br /&gt;
Note that containers will still available if you need to use workflows in EL7, even on EL9 machines.&lt;br /&gt;
&lt;br /&gt;
Do not hesitate to contact us if you have any questions or encounter problems !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [23/10/2024] new policies on mX machines: daily reboots and VSCode usage ==&lt;br /&gt;
&lt;br /&gt;
In view of the recurrent slowness of some mX machines, along with their heavy usage, we will set some new policies.&lt;br /&gt;
&lt;br /&gt;
1/ ALL mX machines will be rebooted &#039;&#039;&#039;every day at 5AM Brussels Time&#039;&#039;&#039;.&lt;br /&gt;
If you need to have processes that last longer, use the batch system.&lt;br /&gt;
&lt;br /&gt;
2/ VSCode has seen an increase in usage. Unfortunately, it seems to be heavy on usage resources, making some mX machines (eg m2 / m3) nearly unusable when several users open VSCode sessions.&lt;br /&gt;
Therefore any VSCode connection now has to go through only m0, m1 or m9. Starting next week, we will just kill any instance found on m2, m3, m10, m11.&lt;br /&gt;
&lt;br /&gt;
3/ mX machines are being reshuffled, with more coming to provide the new EL9 OS.&lt;br /&gt;
For now, m10 &amp;amp; m11 can be used to test EL9 code deployment and edit code.&lt;br /&gt;
No EL9 resources are deployed yet in the batch system, so jobs sent from m10 or m11 will  just stay idle.&lt;br /&gt;
More news on this will be coming in the following week(s)&lt;br /&gt;
&lt;br /&gt;
4/ Those policies are on a trial phase, and might be adapted in the future.&lt;br /&gt;
We welcome any comments or ideas on the situation !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [22/05/2017] Retirement of the mon.iihe.ac.be service ==&lt;br /&gt;
&lt;br /&gt;
We are retiring the server mon.iihe.ac.be . To get access to the services previously hosted on mon, please use the following new links:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Jobview&#039;&#039;&#039; : http://mon.iihe.ac.be/jobview/ ==&amp;gt; http://jobview.iihe.ac.be&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Your user dir&#039;&#039;&#039; : http://mon.iihe.ac.be/~USERNAME  ==&amp;gt; http://homepage.iihe.ac.be/~USERNAME , (http://mon.iihe.ac.be/~USERNAME will continue working for a while and redirect to the new server)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If something is missing or you have issues, please contact us !&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=T2B_News&amp;diff=1408</id>
		<title>T2B News</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=T2B_News&amp;diff=1408"/>
		<updated>2024-11-18T12:49:09Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [14/10/2024] New OS supported: AlmaLinux 9 (EL9) ==&lt;br /&gt;
&lt;br /&gt;
As of June 2024, the current OS on the cluster, Centos 7 (EL7), is not supported anymore, ie does not receive any new security patch.&amp;lt;br&amp;gt;&lt;br /&gt;
We have therefore started the migration to an EL9 variant, AlmaLinux 9.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;!! We ask you that you start migrating your workflows to EL9 as at some point we will decommission all EL7 related services !!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will have a transition period where you can access both versions of the OS:&lt;br /&gt;
* 4 mX machines in &#039;&#039;&#039;EL7&#039;&#039;&#039;:&lt;br /&gt;
** m0 &amp;amp; m1 (mlong), big hardware machines with 5h of CPU time and 56 cores&lt;br /&gt;
** m2 &amp;amp; m3 (mshort), virtual machines with 20min of CPU time, only meant for coding&lt;br /&gt;
&lt;br /&gt;
* 3 mX machines in &#039;&#039;&#039;EL9&#039;&#039;&#039;:&lt;br /&gt;
** m9, big hardware machines with 5h of CPU time and 56 cores&lt;br /&gt;
** m10 &amp;amp; m11, virtual machines with 20min of CPU time, only meant for coding&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The batch system also has now ~3000 slots in EL9, and we will continue migrating compute nodes.&amp;lt;br&amp;gt;&lt;br /&gt;
Please be patient as your jobs might spend more time in queue until transition is over.&amp;lt;br&amp;gt;&lt;br /&gt;
We will monitor and slowly give EL9 more resources with time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that to submit jobs to EL9 compute nodes, all you have to do is do so from the EL9 mX machines.&amp;lt;br&amp;gt;&lt;br /&gt;
All mX machines automatically append their OS version to your job as requirement for both EL7 &amp;amp; EL9, eg:&lt;br /&gt;
 TARGET.OpSysMajorVer == 9&lt;br /&gt;
and talk to a different scheduler, schedd02 for EL7 mX and schedd03 for EL9.&lt;br /&gt;
&lt;br /&gt;
You just have to be careful and adapt what you source for your environment.&amp;lt;br&amp;gt;&lt;br /&gt;
Note that containers will still available if you need to use workflows in EL7, even on EL9 machines.&lt;br /&gt;
&lt;br /&gt;
Do not hesitate to contact us if you have any questions or encounter problems !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [23/10/2024] new policies on mX machines: daily reboots and VSCode usage ==&lt;br /&gt;
&lt;br /&gt;
In view of the recurrent slowness of some mX machines, along with their heavy usage, we will set some new policies.&lt;br /&gt;
&lt;br /&gt;
1/ ALL mX machines will be rebooted &#039;&#039;&#039;every day at 5AM Brussels Time&#039;&#039;&#039;.&lt;br /&gt;
If you need to have processes that last longer, use the batch system.&lt;br /&gt;
&lt;br /&gt;
2/ VSCode has seen an increase in usage. Unfortunately, it seems to be heavy on usage resources, making some mX machines (eg m2 / m3) nearly unusable when several users open VSCode sessions.&lt;br /&gt;
Therefore any VSCode connection now has to go through only m0, m1 or m9. Starting next week, we will just kill any instance found on m2, m3, m10, m11.&lt;br /&gt;
&lt;br /&gt;
3/ mX machines are being reshuffled, with more coming to provide the new EL9 OS.&lt;br /&gt;
For now, m10 &amp;amp; m11 can be used to test EL9 code deployment and edit code.&lt;br /&gt;
No EL9 resources are deployed yet in the batch system, so jobs sent from m10 or m11 will  just stay idle.&lt;br /&gt;
More news on this will be coming in the following week(s)&lt;br /&gt;
&lt;br /&gt;
4/ Those policies are on a trial phase, and might be adapted in the future.&lt;br /&gt;
We welcome any comments or ideas on the situation !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [22/05/2017] Retirement of the mon.iihe.ac.be service ==&lt;br /&gt;
&lt;br /&gt;
We are retiring the server mon.iihe.ac.be . To get access to the services previously hosted on mon, please use the following new links:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Jobview&#039;&#039;&#039; : http://mon.iihe.ac.be/jobview/ ==&amp;gt; http://jobview.iihe.ac.be&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Your user dir&#039;&#039;&#039; : http://mon.iihe.ac.be/~USERNAME  ==&amp;gt; http://homepage.iihe.ac.be/~USERNAME , (http://mon.iihe.ac.be/~USERNAME will continue working for a while and redirect to the new server)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If something is missing or you have issues, please contact us !&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=T2B_News&amp;diff=1407</id>
		<title>T2B News</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=T2B_News&amp;diff=1407"/>
		<updated>2024-11-14T12:37:17Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [14/10/2024] New OS supported: AlmaLinux 9 (EL9) ==&lt;br /&gt;
&lt;br /&gt;
As of June 2024, the current OS on the cluster, Centos 7 (EL7), is not supported anymore, ie does not receive any new security patch.&amp;lt;br&amp;gt;&lt;br /&gt;
We have therefore started the migration to an EL9 variant, AlmaLinux 9.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;!! We ask you that you start migrating your workflows to EL9 as at some point we will decommission all EL7 related services !!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will have a transition period where you can access both versions of the OS:&lt;br /&gt;
* 4 mX machines in &#039;&#039;&#039;EL7&#039;&#039;&#039;:&lt;br /&gt;
** m0 &amp;amp; m1 (mlong), big hardware machines with 5h of CPU time and 56 cores&lt;br /&gt;
** m2 &amp;amp; m3 (mshort), virtual machines with 20min of CPU time, only meant for coding&lt;br /&gt;
&lt;br /&gt;
* 3 mX machines in &#039;&#039;&#039;EL9&#039;&#039;&#039;:&lt;br /&gt;
** m9, big hardware machines with 5h of CPU time and 56 cores&lt;br /&gt;
** m10 &amp;amp; m11, virtual machines with 20min of CPU time, only meant for coding&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The batch system also has now &amp;gt; 1000 slots in EL9, and we will continue migrating compute nodes.&amp;lt;br&amp;gt;&lt;br /&gt;
Please be patient as your jobs might spend more time in queue until transition is over.&amp;lt;br&amp;gt;&lt;br /&gt;
We will monitor and slowly give EL9 more resources with time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that to submit jobs to EL9 compute nodes, all you have to do is do so from the EL9 mX machines.&amp;lt;br&amp;gt;&lt;br /&gt;
All mX machines automatically append their OS version to your job as requirement for both EL7 &amp;amp; EL9, eg:&lt;br /&gt;
 TARGET.OpSysMajorVer == 9&lt;br /&gt;
and talk to a different scheduler, schedd02 for EL7 mX and schedd03 for EL9.&lt;br /&gt;
&lt;br /&gt;
You just have to be careful and adapt what you source for your environment.&amp;lt;br&amp;gt;&lt;br /&gt;
Note that containers will still available if you need to use workflows in EL7, even on EL9 machines.&lt;br /&gt;
&lt;br /&gt;
Do not hesitate to contact us if you have any questions or encounter problems !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [23/10/2024] new policies on mX machines: daily reboots and VSCode usage ==&lt;br /&gt;
&lt;br /&gt;
In view of the recurrent slowness of some mX machines, along with their heavy usage, we will set some new policies.&lt;br /&gt;
&lt;br /&gt;
1/ ALL mX machines will be rebooted &#039;&#039;&#039;every day at 5AM Brussels Time&#039;&#039;&#039;.&lt;br /&gt;
If you need to have processes that last longer, use the batch system.&lt;br /&gt;
&lt;br /&gt;
2/ VSCode has seen an increase in usage. Unfortunately, it seems to be heavy on usage resources, making some mX machines (eg m2 / m3) nearly unusable when several users open VSCode sessions.&lt;br /&gt;
Therefore any VSCode connection now has to go through only m0, m1 or m9. Starting next week, we will just kill any instance found on m2, m3, m10, m11.&lt;br /&gt;
&lt;br /&gt;
3/ mX machines are being reshuffled, with more coming to provide the new EL9 OS.&lt;br /&gt;
For now, m10 &amp;amp; m11 can be used to test EL9 code deployment and edit code.&lt;br /&gt;
No EL9 resources are deployed yet in the batch system, so jobs sent from m10 or m11 will  just stay idle.&lt;br /&gt;
More news on this will be coming in the following week(s)&lt;br /&gt;
&lt;br /&gt;
4/ Those policies are on a trial phase, and might be adapted in the future.&lt;br /&gt;
We welcome any comments or ideas on the situation !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [22/05/2017] Retirement of the mon.iihe.ac.be service ==&lt;br /&gt;
&lt;br /&gt;
We are retiring the server mon.iihe.ac.be . To get access to the services previously hosted on mon, please use the following new links:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Jobview&#039;&#039;&#039; : http://mon.iihe.ac.be/jobview/ ==&amp;gt; http://jobview.iihe.ac.be&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Your user dir&#039;&#039;&#039; : http://mon.iihe.ac.be/~USERNAME  ==&amp;gt; http://homepage.iihe.ac.be/~USERNAME , (http://mon.iihe.ac.be/~USERNAME will continue working for a while and redirect to the new server)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If something is missing or you have issues, please contact us !&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=SingularityContainers&amp;diff=1406</id>
		<title>SingularityContainers</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=SingularityContainers&amp;diff=1406"/>
		<updated>2024-11-05T14:44:07Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To make SL6/SL7/CC8/EL9 flavours available for everyone while the cluster is using another version, we make use of containers. This also works for SL8 and EL9 on the new HTCondor CC7 Cluster, just replace SL7 with the version you want.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
Helper scripts are in &#039;&#039;&#039;/group/userscripts/&#039;&#039;&#039;, so make sure either it is in your $PATH variable with:&lt;br /&gt;
 export PATH=$PATH:/group/userscripts/&lt;br /&gt;
or just call the full path:&lt;br /&gt;
 /group/userscripts/sl6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== To test code on the mX UIs ===&lt;br /&gt;
Simply go into an EL7 environment:&lt;br /&gt;
 sl7 bash&lt;br /&gt;
This should give you a prompt, where your SL7 code should work.&lt;br /&gt;
&lt;br /&gt;
Just to convince yourself, you can cross-check the OS release:&lt;br /&gt;
&amp;lt;pre&amp;gt;cat /etc/redhat-release&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== To use SL7 inside a cluster job ===&lt;br /&gt;
You can simply ask your script to be run inside the sl7 container:&lt;br /&gt;
 sl7 /user/$USER/MYSUPERSCRIPT.sh&lt;br /&gt;
&lt;br /&gt;
To send it to the cluster, the job.sh file you now will send to qsub should contain:&lt;br /&gt;
 /group/userscripts/sl7 /user/$USER/MYSUPERSCRIPT.sh&lt;br /&gt;
&lt;br /&gt;
Please note that you then need, in your script, to go to TMPDIR.&lt;br /&gt;
&amp;lt;br&amp;gt;It is &#039;&#039;&#039;HIGHLY&#039;&#039;&#039; recommended to play with this first, by printing path and env variables, to check everything inside the container.&lt;br /&gt;
&lt;br /&gt;
To be more exhaustive, what the script &#039;&#039;&#039;sl7&#039;&#039;&#039; does is first to add your PATH &amp;amp; LD_LIBRARY_PATH to singularity, and then launch your script using the following line:&lt;br /&gt;
 singularity exec -B /cvmfs -B /pnfs -B /user -B /scratch /cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el7:latest MYSCRIPT.sh&lt;br /&gt;
&lt;br /&gt;
where: &lt;br /&gt;
* &#039;&#039;&#039;exec&#039;&#039;&#039;: action to do for singularity, here will just execute your command in the container specified&lt;br /&gt;
* &#039;&#039;&#039;-B /mountpoint&#039;&#039;&#039;: is used to have the path present in the container if needed.&lt;br /&gt;
* &#039;&#039;&#039;/cvmfs/.../cms:rhel7&#039;&#039;&#039;: the path on /cvmfs of the container used.&lt;br /&gt;
* &#039;&#039;&#039;MYSCRIPT.sh&#039;&#039;&#039;: script or command to execute&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;N.B.&#039;&#039;&#039; You can look at more containers inside &#039;&#039;&#039;/cvmfs/singularity.opensciencegrid.org/opensciencegrid/&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;Or you can also create your own container, with for instance specific software versions, it is quite simple.&lt;br /&gt;
&amp;lt;br&amp;gt;You can use the guide [[SingularityContainerCreation|here]], or google &#039;&#039;singularity container&#039;&#039; in your favorite search engine :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== To use EL9 inside a cluster job ===&lt;br /&gt;
&lt;br /&gt;
As Centos 7 is soon to be EOL (30/06/2024), we plan on changing the OS of the cluster to an EL9 flavor. Until then, you can use the following to get access to a containter in EL9:&lt;br /&gt;
 singularity exec -B /cvmfs -B /pnfs -B /user -B /scratch /cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el9:latest MYSCRIPT.sh&lt;br /&gt;
&lt;br /&gt;
=== If you need grid commands ===&lt;br /&gt;
The above containers work perfectly on our cluster. However, they have the drawback of not being updated often. Unfortunately, to be able to work in a grid environment, the CA (certificate authority) files need to be kept up-to-date.&amp;lt;br&amp;gt;&lt;br /&gt;
For this reason, CMS also provides some containers. Unfortunately, not all software is inside (python in el9 is lacking atm). But the grid commands do work. For them, run the scrip:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/cvmfs/cms.cern.ch/common/cmssw-el8&lt;br /&gt;
or&lt;br /&gt;
/cvmfs/cms.cern.ch/common/cmssw-el9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Some more info on these containers can be found [http://cms-sw.github.io/singularity.html here]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=SingularityContainers&amp;diff=1405</id>
		<title>SingularityContainers</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=SingularityContainers&amp;diff=1405"/>
		<updated>2024-11-05T14:43:50Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To make SL6/SL7/CC8/EL9 flavours available for everyone while the cluster is using another version, we make use of containers. This also works for SL8 and EL9 on the new HTCondor CC7 Cluster, just replace SL7 with the version you want.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
Helper scripts are in &#039;&#039;&#039;/group/userscripts/&#039;&#039;&#039;, so make sure either it is in your $PATH variable with:&lt;br /&gt;
 export PATH=$PATH:/group/userscripts/&lt;br /&gt;
or just call the full path:&lt;br /&gt;
 /group/userscripts/sl6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== To test code on the mX UIs ===&lt;br /&gt;
Simply go into an EL7 environment:&lt;br /&gt;
 sl7 bash&lt;br /&gt;
This should give you a prompt, where your SL7 code should work.&lt;br /&gt;
&lt;br /&gt;
Just to convince yourself, you can cross-check the OS release:&lt;br /&gt;
&amp;lt;pre&amp;gt;cat /etc/redhat-release&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== To use SL7 inside a cluster job ===&lt;br /&gt;
You can simply ask your script to be run inside the sl7 container:&lt;br /&gt;
 sl7 /user/$USER/MYSUPERSCRIPT.sh&lt;br /&gt;
&lt;br /&gt;
To send it to the cluster, the job.sh file you now will send to qsub should contain:&lt;br /&gt;
 /group/userscripts/sl7 /user/$USER/MYSUPERSCRIPT.sh&lt;br /&gt;
&lt;br /&gt;
Please note that you then need, in your script, to go to TMPDIR.&lt;br /&gt;
&amp;lt;br&amp;gt;It is &#039;&#039;&#039;HIGHLY&#039;&#039;&#039; recommended to play with this first, by printing path and env variables, to check everything inside the container.&lt;br /&gt;
&lt;br /&gt;
To be more exhaustive, what the script &#039;&#039;&#039;sl7&#039;&#039;&#039; does is first to add your PATH &amp;amp; LD_LIBRARY_PATH to singularity, and then launch your script using the following line:&lt;br /&gt;
 singularity exec -B /cvmfs -B /pnfs -B /user -B /scratch /cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el7:latest MYSCRIPT.sh&lt;br /&gt;
&lt;br /&gt;
where: &lt;br /&gt;
* &#039;&#039;&#039;exec&#039;&#039;&#039;: action to do for singularity, here will just execute your command in the container specified&lt;br /&gt;
* &#039;&#039;&#039;-B /mountpoint&#039;&#039;&#039;: is used to have the path present in the container if needed.&lt;br /&gt;
* &#039;&#039;&#039;/cvmfs/.../cms:rhel7&#039;&#039;&#039;: the path on /cvmfs of the container used.&lt;br /&gt;
* &#039;&#039;&#039;MYSCRIPT.sh&#039;&#039;&#039;: script or command to execute&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;N.B.&#039;&#039;&#039; You can look at more containers inside &#039;&#039;&#039;/cvmfs/singularity.opensciencegrid.org/opensciencegrid/&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;Or you can also create your own container, with for instance specific software versions, it is quite simple.&lt;br /&gt;
&amp;lt;br&amp;gt;You can use the guide [[SingularityContainerCreation|here]], or google &#039;&#039;singularity container&#039;&#039; in your favorite search engine :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== To use EL9 inside a cluster job ===&lt;br /&gt;
&lt;br /&gt;
As Centos 7 is soon to be EOL (30/06/2024), we plan on changing the OS of the cluster to an EL9 flavor. Until then, you can use the following to get access to a containter in EL9:&lt;br /&gt;
 singularity exec -B /cvmfs -B /pnfs -B /user -B /scratch /cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el9:latest MYSCRIPT.sh&lt;br /&gt;
&lt;br /&gt;
=== If you need grid commands ===&lt;br /&gt;
The above containers work perfectly on our cluster. However, they have the drawback of not being updated often. Unfortunately, to be able to work in a grid environment, the CA (certificate authority) files need to be kept up-to-date.&amp;lt;br&amp;gt;&lt;br /&gt;
For this reason, CMS also provides some containers. Unfortunately, not all software is inside (python in el9 is lacking atm). But the grid commands do work. For them, run the scrip:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/cvmfs/cms.cern.ch/common/cmssw-el9&lt;br /&gt;
or&lt;br /&gt;
/cvmfs/cms.cern.ch/common/cmssw-el9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Some more info on these containers can be found [http://cms-sw.github.io/singularity.html here]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=SingularityContainers&amp;diff=1404</id>
		<title>SingularityContainers</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=SingularityContainers&amp;diff=1404"/>
		<updated>2024-11-05T14:41:15Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To make SL6/SL7/CC8/EL9 flavours available for everyone while the cluster is using another version, we make use of containers. This also works for SL8 and EL9 on the new HTCondor CC7 Cluster, just replace SL7 with the version you want.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
Helper scripts are in &#039;&#039;&#039;/group/userscripts/&#039;&#039;&#039;, so make sure either it is in your $PATH variable with:&lt;br /&gt;
 export PATH=$PATH:/group/userscripts/&lt;br /&gt;
or just call the full path:&lt;br /&gt;
 /group/userscripts/sl6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== To test code on the mX UIs ===&lt;br /&gt;
Simply go into an EL7 environment:&lt;br /&gt;
 sl7 bash&lt;br /&gt;
This should give you a prompt, where your SL7 code should work.&lt;br /&gt;
&lt;br /&gt;
Just to convince yourself, you can cross-check the OS release:&lt;br /&gt;
&amp;lt;pre&amp;gt;cat /etc/redhat-release&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== To use SL7 inside a cluster job ===&lt;br /&gt;
You can simply ask your script to be run inside the sl7 container:&lt;br /&gt;
 sl7 /user/$USER/MYSUPERSCRIPT.sh&lt;br /&gt;
&lt;br /&gt;
To send it to the cluster, the job.sh file you now will send to qsub should contain:&lt;br /&gt;
 /group/userscripts/sl7 /user/$USER/MYSUPERSCRIPT.sh&lt;br /&gt;
&lt;br /&gt;
Please note that you then need, in your script, to go to TMPDIR.&lt;br /&gt;
&amp;lt;br&amp;gt;It is &#039;&#039;&#039;HIGHLY&#039;&#039;&#039; recommended to play with this first, by printing path and env variables, to check everything inside the container.&lt;br /&gt;
&lt;br /&gt;
To be more exhaustive, what the script &#039;&#039;&#039;sl7&#039;&#039;&#039; does is first to add your PATH &amp;amp; LD_LIBRARY_PATH to singularity, and then launch your script using the following line:&lt;br /&gt;
 singularity exec -B /cvmfs -B /pnfs -B /user -B /scratch /cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el7:latest MYSCRIPT.sh&lt;br /&gt;
&lt;br /&gt;
where: &lt;br /&gt;
* &#039;&#039;&#039;exec&#039;&#039;&#039;: action to do for singularity, here will just execute your command in the container specified&lt;br /&gt;
* &#039;&#039;&#039;-B /mountpoint&#039;&#039;&#039;: is used to have the path present in the container if needed.&lt;br /&gt;
* &#039;&#039;&#039;/cvmfs/.../cms:rhel7&#039;&#039;&#039;: the path on /cvmfs of the container used.&lt;br /&gt;
* &#039;&#039;&#039;MYSCRIPT.sh&#039;&#039;&#039;: script or command to execute&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;N.B.&#039;&#039;&#039; You can look at more containers inside &#039;&#039;&#039;/cvmfs/singularity.opensciencegrid.org/opensciencegrid/&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;Or you can also create your own container, with for instance specific software versions, it is quite simple.&lt;br /&gt;
&amp;lt;br&amp;gt;You can use the guide [[SingularityContainerCreation|here]], or google &#039;&#039;singularity container&#039;&#039; in your favorite search engine :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== To use EL9 inside a cluster job ===&lt;br /&gt;
&lt;br /&gt;
As Centos 7 is soon to be EOL (30/06/2024), we plan on changing the OS of the cluster to an EL9 flavor. Until then, you can use the following to get access to a containter in EL9:&lt;br /&gt;
 singularity exec -B /cvmfs -B /pnfs -B /user -B /scratch /cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el9:latest MYSCRIPT.sh&lt;br /&gt;
&lt;br /&gt;
=== If you need grid commands ===&lt;br /&gt;
The above containers work perfectly on our cluster. However, they have the drawback of not being updated often. Unfortunately, to be able to work in a grid environment, the CA (certificate authority) files need to be kept up-to-date.&amp;lt;br&amp;gt;&lt;br /&gt;
For this reason, CMS also provides some containers. Unfortunately, not all software is inside (python in el9 is lacking atm). But the grid commands do work. For them, run the scrip:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/cvmfs/cms.cern.ch/common/cmssw-el9&lt;br /&gt;
or&lt;br /&gt;
/cvmfs/cms.cern.ch/common/cmssw-el9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=HTCFirstSubmissionGuide&amp;diff=1403</id>
		<title>HTCFirstSubmissionGuide</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=HTCFirstSubmissionGuide&amp;diff=1403"/>
		<updated>2024-11-05T13:14:29Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* T2B Specifics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== First time submitting a job ==&lt;br /&gt;
For new users, we recommend following [https://indico.cern.ch/event/936993/contributions/4022073/attachments/2105538/3540926/2020-Koch-User-Tutorial.pdf this presentation], that should give you an idea of how to submit jobs.&amp;lt;br&amp;gt;&lt;br /&gt;
Then to practice the basics of job submission on a HTCondor cluster, some exercises are proposed on this [https://en.wikitolearn.org/Course:HTCondor Wiki].&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;T2B Specifics&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;File Transfers:&#039;&#039;&#039;&lt;br /&gt;
: Please note that contrary to what is usually shown in documentation and examples, we recommend not using HTCondor file transfer mechanisms (&#039;&#039;&#039;should_transfer_files = NO&#039;&#039;&#039;) and copy files yourself within your script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Always adapt requested resources to your job&#039;&#039;&#039;&lt;br /&gt;
: You need to adapt the resources you request to what you estimate your job will need. Requesting more than what you really need is wasteful and deprive your fellow users from ressources they might require.&lt;br /&gt;
: To do so, just add to your submit file the following lines:&lt;br /&gt;
&amp;lt;pre&amp;gt;request_cpus = 1&lt;br /&gt;
request_memory = 200MB&lt;br /&gt;
request_disk = 1GB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: Note that for a job, if you need more than 1 cpu / 4GB of memory / 10GB of disk, please be careful and sure of what you are doing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Where am I when I start a job ?&#039;&#039;&#039;&lt;br /&gt;
:You should always prefer using $HOME, which in a job equates to a local unique directory in the /scratch of the local disk,eg: /scratch/condor/dir_275928.&lt;br /&gt;
: $TMPDIR = $HOME/tmp, so it is also on the local disk and unique&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Efficient use of local disks on worker nodes&#039;&#039;&#039;&lt;br /&gt;
:Note that local disks are now exclusively NVMEs which are much -much- faster than network protocols used in writing to /pnfs or /user.&amp;lt;br&amp;gt;&lt;br /&gt;
:So for repeated reads (like cycling through events with files O(1GB)) it is more efficient to copy file locally first then open it.&amp;lt;br&amp;gt;&lt;br /&gt;
:Same for write, prefer writing locally then copying the file to /pnfs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Can I have a shell/interactive job on the batch system ?&#039;&#039;&#039;&lt;br /&gt;
:Yes! If you want to make tests, or run things interactively, with dedicated core/memory for you, just run:&lt;br /&gt;
 condor_submit -i&lt;br /&gt;
:Note that if you want to reserve more than the standard 1 core / 600MB of memory, simply add your request_* [specified just above] like this:&lt;br /&gt;
 condor_submit -interactive request_cpus=2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Sending DAG jobs&#039;&#039;&#039;&lt;br /&gt;
:For now, sending DAG jobs only works when you are directly on the scheduler, so first add your ssh key to local keyring agent and then connect to any mX machine with the -A (forwarding agent) option:&lt;br /&gt;
 ssh-add&lt;br /&gt;
 ssh -A mshort.iihe.ac.be&lt;br /&gt;
:then connect to the scheduler:&lt;br /&gt;
 ssh schedd02.wn.iihe.ac.be&lt;br /&gt;
:there you can do the condor_submit_dag commands and it will work. Note than condor_q commands to see the advancements of your DAG jobs can still be performed on the mX machines.&lt;br /&gt;
&lt;br /&gt;
=== What is my job doing ? Is something wrong ? ===&lt;br /&gt;
For debugging jobs in queue or what jobs running are doing, please follow our [[HTCondorDebug|HTCondor Debug]] section&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== HTCondor Official Documentation ===&lt;br /&gt;
Have a look at the [https://htcondor.readthedocs.io/en/latest/users-manual/index.html official User Manual] on the HTCondor website.&amp;lt;br&amp;gt;&lt;br /&gt;
It is very well done and explains all available features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== HTCondor Workshop Presentation ===&lt;br /&gt;
Every 6 months, there is an HTCondor workshop. Presentations are usually very helpful, especially if you want to go into details of HTCondor (API, DAGMan, ...). You can find the agenda of the latest one [https://indico.cern.ch/event/936993/timetable/#20200921.detailed here]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=HTCFirstSubmissionGuide&amp;diff=1402</id>
		<title>HTCFirstSubmissionGuide</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=HTCFirstSubmissionGuide&amp;diff=1402"/>
		<updated>2024-11-05T10:19:06Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* First time submitting a job = */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== First time submitting a job ==&lt;br /&gt;
For new users, we recommend following [https://indico.cern.ch/event/936993/contributions/4022073/attachments/2105538/3540926/2020-Koch-User-Tutorial.pdf this presentation], that should give you an idea of how to submit jobs.&amp;lt;br&amp;gt;&lt;br /&gt;
Then to practice the basics of job submission on a HTCondor cluster, some exercises are proposed on this [https://en.wikitolearn.org/Course:HTCondor Wiki].&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;T2B Specifics&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;File Transfers:&#039;&#039;&#039;&lt;br /&gt;
: Please note that contrary to what is usually shown in documentation and examples, we recommend not using HTCondor file transfer mechanisms (&#039;&#039;&#039;should_transfer_files = NO&#039;&#039;&#039;) and copy files yourself within your script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Always adapt requested resources to your job&#039;&#039;&#039;&lt;br /&gt;
: You need to adapt the resources you request to what you estimate your job will need. Requesting more than what you really need is wasteful and deprive your fellow users from ressources they might require.&lt;br /&gt;
: To do so, just add to your submit file the following lines:&lt;br /&gt;
&amp;lt;pre&amp;gt;request_cpus = 1&lt;br /&gt;
request_memory = 200MB&lt;br /&gt;
request_disk = 1GB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: Note that for a job, if you need more than 1 cpu / 4GB of memory / 10GB of disk, please be careful and sure of what you are doing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Where am I when I start a job ?&#039;&#039;&#039;&lt;br /&gt;
:You should always prefer using $HOME, which in a job equates to a local unique directory in the /scratch of the local disk,eg: /scratch/condor/dir_275928.&lt;br /&gt;
: $TMPDIR = $HOME/tmp, so it is also on the local disk and unique&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Efficient use of local disks on worker nodes&#039;&#039;&#039;&lt;br /&gt;
:Note that local disks are now exclusively NVMEs which are much -much- faster than network protocols used in writing to /pnfs or /user.&amp;lt;br&amp;gt;&lt;br /&gt;
:So for repeated reads (like cycling through events with files O(1GB)) it is more efficient to copy file locally first then open it.&amp;lt;br&amp;gt;&lt;br /&gt;
:Same for write, prefer writing locally then copying the file to /pnfs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Can I have a shell/interactive job on the batch system ?&#039;&#039;&#039;&lt;br /&gt;
:Yes! If you want to make tests, or run things interactively, with dedicated core/memory for you, just run:&lt;br /&gt;
 condor_submit -i&lt;br /&gt;
:Note that if you want to reserve more than the standard 1 core / 600MB of memory, simply add your request_* [specified just above] like this:&lt;br /&gt;
 condor_submit -interactive request_cpus=2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Sending DAG jobs&#039;&#039;&#039;&lt;br /&gt;
:For now, sending DAG jobs only works when you are directly on the scheduler, so first connect to any mX machine with the -A (forwarding agent) option:&lt;br /&gt;
 ssh -A mshort.iihe.ac.be&lt;br /&gt;
:then connect to the scheduler:&lt;br /&gt;
 ssh schedd02.wn.iihe.ac.be&lt;br /&gt;
:there you can do the condor_submit_dag commands and it will work. Note than condor_q commands to see the advancements of your DAG jobs can still be performed on the mX machines.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What is my job doing ? Is something wrong ? ===&lt;br /&gt;
For debugging jobs in queue or what jobs running are doing, please follow our [[HTCondorDebug|HTCondor Debug]] section&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== HTCondor Official Documentation ===&lt;br /&gt;
Have a look at the [https://htcondor.readthedocs.io/en/latest/users-manual/index.html official User Manual] on the HTCondor website.&amp;lt;br&amp;gt;&lt;br /&gt;
It is very well done and explains all available features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== HTCondor Workshop Presentation ===&lt;br /&gt;
Every 6 months, there is an HTCondor workshop. Presentations are usually very helpful, especially if you want to go into details of HTCondor (API, DAGMan, ...). You can find the agenda of the latest one [https://indico.cern.ch/event/936993/timetable/#20200921.detailed here]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=Backup&amp;diff=1401</id>
		<title>Backup</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=Backup&amp;diff=1401"/>
		<updated>2024-10-24T12:02:12Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Backups ==&lt;br /&gt;
&lt;br /&gt;
=== User space on T2B ===&lt;br /&gt;
The &#039;&#039;&#039;/user, /group, /software &amp;amp; /ice3&#039;&#039;&#039; are backed up every day to a secondary ceph storage cluster, in case our production cluster goes down.&amp;lt;br&amp;gt;&lt;br /&gt;
Backups can be found in &#039;&#039;&#039;/backup/$DATE/{user,group,software,ice3}&#039;&#039;&#039;:&lt;br /&gt;
* There is one done every day at 8.30am, we keep the last seven of those (so a complete week), eg: &lt;br /&gt;
:: &amp;lt;pre&amp;gt;scheduled-2024-02-04-08_30_00_UTC&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* We also keep the last 4 Sunday snapshots, equivalent to a month.&lt;br /&gt;
* All backups are READ-ONLY, so extract the files you want from them into your personal directory&lt;br /&gt;
&lt;br /&gt;
=== Mass Storage ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;/pnfs&#039;&#039;&#039; is &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; backed-up, as it is a massive storage.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=Register_to_the_CMS_VO&amp;diff=1400</id>
		<title>Register to the CMS VO</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=Register_to_the_CMS_VO&amp;diff=1400"/>
		<updated>2024-10-24T11:55:48Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Since July 2024, there is no need to register to the VO CMS anymore. Anyone who is a member of CMS is automatically added.&amp;lt;br&amp;gt;&lt;br /&gt;
You still need to add your DN to the DB. The instructions can be found [https://twiki.cern.ch/twiki/bin/view/CMSPublic/UsernameForCRAB#Adding_your_DN_to_your_profile  here].&amp;lt;br&amp;gt;&lt;br /&gt;
Notice that there are a few entries already present on your cern profile. You can safely ignore those.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;OSOLETED&#039;&#039;&#039;&lt;br /&gt;
* Go to the [https://voms2.cern.ch:8443/voms/cms/register/start.action  VOMS page]. On the possible certificate prompt, select the one you just created. &amp;lt;br&amp;gt;&lt;br /&gt;
** [ If you don&#039;t arrive in the page below, then you might already be registered to the CMS VO. Make the [[SiteDB|SiteDB check]] to be sure. ]&lt;br /&gt;
** Enter the email address registered at cern, then click submit.&amp;lt;br&amp;gt;&lt;br /&gt;
** You should appear just below. If it&#039;s you, well click on the correct button !&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: [[ File:vocms1.png|center]]&amp;lt;br&amp;gt;&lt;br /&gt;
:* If it doesn&#039;t find you with the email you entered after clicking on submit, then look in the [https://phonebook.cern.ch/phonebook/ CERN phonebook] for your email. If you cannot find yourself, then make sure you are registered to CERN or CMS at least.&lt;br /&gt;
:: [[File:cern_phonebook.png|center]]&lt;br /&gt;
:* Fill in all fields, accept the policy, then submit.&lt;br /&gt;
:: [[File:vocms_form.png|center]]&lt;br /&gt;
:* The procedure is nearly finished, look at your inbox corresponding to the CERN email.&lt;br /&gt;
[[File:vocms_email.png|center]]&lt;br /&gt;
:* Just click on the confirmation link in the email received.&lt;br /&gt;
[[File:vocms_end.png|center]]&lt;br /&gt;
&lt;br /&gt;
* Now you only need to wait &#039;&#039;&#039;a few hours&#039;&#039;&#039; for your membership to be approved !&lt;br /&gt;
&lt;br /&gt;
* You can [[SiteDB | follow the wiki]] to check SiteDB if your certificate as well as membership are fine and got approved.&lt;br /&gt;
&lt;br /&gt;
=== IMPORTANT!!! ===&lt;br /&gt;
Once you are a member of the cms VO, you should also request to be a part of the group becms. This needs to be done on the [https://voms2.cern.ch:8443/voms/cms/register/start.action  VOMS page] also. &amp;lt;br&amp;gt;&lt;br /&gt;
This attribute will grant you higher priority when you crab job lands at T2B. So it is best to always make your proxy in this way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
voms-proxy-init --voms cms:/cms/becms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=Register_to_the_CMS_VO&amp;diff=1399</id>
		<title>Register to the CMS VO</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=Register_to_the_CMS_VO&amp;diff=1399"/>
		<updated>2024-10-24T11:53:30Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Since July 2024, there is no need to register to the VO CMS anymore.&amp;lt;br&amp;gt;&lt;br /&gt;
Anyone you is a member of CMS is already added. You still need to add your DN to the DB. The instructions can be found [https://twiki.cern.ch/twiki/bin/view/CMSPublic/UsernameForCRAB#Adding_your_DN_to_your_profile  here].&amp;lt;br&amp;gt;&lt;br /&gt;
Notice that you there are a few entries already present on your cern profile. You can safely ignore those.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
OSOLETED&lt;br /&gt;
* Go to the [https://voms2.cern.ch:8443/voms/cms/register/start.action  VOMS page]. On the possible certificate prompt, select the one you just created. &amp;lt;br&amp;gt;&lt;br /&gt;
** [ If you don&#039;t arrive in the page below, then you might already be registered to the CMS VO. Make the [[SiteDB|SiteDB check]] to be sure. ]&lt;br /&gt;
** Enter the email address registered at cern, then click submit.&amp;lt;br&amp;gt;&lt;br /&gt;
** You should appear just below. If it&#039;s you, well click on the correct button !&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: [[ File:vocms1.png|center]]&amp;lt;br&amp;gt;&lt;br /&gt;
:* If it doesn&#039;t find you with the email you entered after clicking on submit, then look in the [https://phonebook.cern.ch/phonebook/ CERN phonebook] for your email. If you cannot find yourself, then make sure you are registered to CERN or CMS at least.&lt;br /&gt;
:: [[File:cern_phonebook.png|center]]&lt;br /&gt;
:* Fill in all fields, accept the policy, then submit.&lt;br /&gt;
:: [[File:vocms_form.png|center]]&lt;br /&gt;
:* The procedure is nearly finished, look at your inbox corresponding to the CERN email.&lt;br /&gt;
[[File:vocms_email.png|center]]&lt;br /&gt;
:* Just click on the confirmation link in the email received.&lt;br /&gt;
[[File:vocms_end.png|center]]&lt;br /&gt;
&lt;br /&gt;
* Now you only need to wait &#039;&#039;&#039;a few hours&#039;&#039;&#039; for your membership to be approved !&lt;br /&gt;
&lt;br /&gt;
* You can [[SiteDB | follow the wiki]] to check SiteDB if your certificate as well as membership are fine and got approved.&lt;br /&gt;
&lt;br /&gt;
=== IMPORTANT!!! ===&lt;br /&gt;
Once you are a member of the cms VO, you should also request to be a part of the group becms. This needs to be done on the [https://voms2.cern.ch:8443/voms/cms/register/start.action  VOMS page] also. &amp;lt;br&amp;gt;&lt;br /&gt;
This attribute will grant you higher priority when you crab job lands at T2B. So it is best to always make your proxy in this way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
voms-proxy-init --voms cms:/cms/becms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=Register_to_the_CMS_VO&amp;diff=1398</id>
		<title>Register to the CMS VO</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=Register_to_the_CMS_VO&amp;diff=1398"/>
		<updated>2024-10-24T11:52:13Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Since July 2024, there is no need to register to the VO CMS anymore.&amp;lt;br&amp;gt;&lt;br /&gt;
Anyone you is a member of CMS is already added. You still need to add your DN to the DB. The instructions can be found [https://twiki.cern.ch/twiki/bin/view/CMSPublic/UsernameForCRAB#Adding_your_DN_to_your_profile | here].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
OSOLETED&lt;br /&gt;
* Go to the [https://voms2.cern.ch:8443/voms/cms/register/start.action  VOMS page]. On the possible certificate prompt, select the one you just created. &amp;lt;br&amp;gt;&lt;br /&gt;
** [ If you don&#039;t arrive in the page below, then you might already be registered to the CMS VO. Make the [[SiteDB|SiteDB check]] to be sure. ]&lt;br /&gt;
** Enter the email address registered at cern, then click submit.&amp;lt;br&amp;gt;&lt;br /&gt;
** You should appear just below. If it&#039;s you, well click on the correct button !&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: [[ File:vocms1.png|center]]&amp;lt;br&amp;gt;&lt;br /&gt;
:* If it doesn&#039;t find you with the email you entered after clicking on submit, then look in the [https://phonebook.cern.ch/phonebook/ CERN phonebook] for your email. If you cannot find yourself, then make sure you are registered to CERN or CMS at least.&lt;br /&gt;
:: [[File:cern_phonebook.png|center]]&lt;br /&gt;
:* Fill in all fields, accept the policy, then submit.&lt;br /&gt;
:: [[File:vocms_form.png|center]]&lt;br /&gt;
:* The procedure is nearly finished, look at your inbox corresponding to the CERN email.&lt;br /&gt;
[[File:vocms_email.png|center]]&lt;br /&gt;
:* Just click on the confirmation link in the email received.&lt;br /&gt;
[[File:vocms_end.png|center]]&lt;br /&gt;
&lt;br /&gt;
* Now you only need to wait &#039;&#039;&#039;a few hours&#039;&#039;&#039; for your membership to be approved !&lt;br /&gt;
&lt;br /&gt;
* You can [[SiteDB | follow the wiki]] to check SiteDB if your certificate as well as membership are fine and got approved.&lt;br /&gt;
&lt;br /&gt;
=== IMPORTANT!!! ===&lt;br /&gt;
Once you are a member of the cms VO, you should also request to be a part of the group becms. This needs to be done on the [https://voms2.cern.ch:8443/voms/cms/register/start.action  VOMS page] also. &amp;lt;br&amp;gt;&lt;br /&gt;
This attribute will grant you higher priority when you crab job lands at T2B. So it is best to always make your proxy in this way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
voms-proxy-init --voms cms:/cms/becms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=Backup&amp;diff=1397</id>
		<title>Backup</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=Backup&amp;diff=1397"/>
		<updated>2024-10-21T08:27:41Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Backups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Backups ==&lt;br /&gt;
&lt;br /&gt;
All backups can be found in the &#039;&#039;&#039;/backup&#039;&#039;&#039; directory on the UIs (M Machines).&amp;lt;br&amp;gt;&lt;br /&gt;
The /user, /group, /software &amp;amp; /ice3 are backed up every day to a secondary ceph storage cluster, in case our production cluster goes down.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!! NOTE: &#039;&#039;&#039;/pnfs&#039;&#039;&#039; is &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; backed-up, as it is a massive storage !!&lt;br /&gt;
&lt;br /&gt;
!! NOTE2: Those backups are READ-ONLY, so extract the files you want from them into your normal directory !!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== /user, /group, /software &amp;amp; /ice3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Our ceph cluster allows us to do regular snapshots, they can be found in &#039;&#039;&#039;/backup/$DATE/{user,group,software,ice3}&#039;&#039;&#039;:&lt;br /&gt;
* There is one done every day at 8.30am, we keep the last seven of those (so a complete week), eg: &lt;br /&gt;
:: &amp;lt;pre&amp;gt;scheduled-2024-02-04-08_30_00_UTC&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* We also keep the last 4 Sunday snapshots, equivalent to a month.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=Cluster_Overview&amp;diff=1396</id>
		<title>Cluster Overview</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=Cluster_Overview&amp;diff=1396"/>
		<updated>2024-10-16T11:07:48Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* How to Connect */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
The cluster is composed 3 groups of machines :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* The &#039;&#039;&#039;User Interfaces (UI)&#039;&#039;&#039;&lt;br /&gt;
::This is the cluster front-end, to use the cluster, you need to log into those machines&lt;br /&gt;
::::Servers : mshort [ m2 , m3 ] , mlong [ m0, m1 ]&lt;br /&gt;
:: The &#039;&#039;&#039;File Server&#039;&#039;&#039; provides the user home on the UIs. It is a highly efficient &amp;amp; redundant storage node of ~120 TB capacity with regular backups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* The &#039;&#039;&#039;Computing Machines&#039;&#039;&#039;&lt;br /&gt;
** The &#039;&#039;&#039;Computing Element (CE):&#039;&#039;&#039; This is the gateway between the World and the T2B cluster: it receives all Grid jobs and submit them to the local batch system.&lt;br /&gt;
::::Servers : testumd-htcondorce (temporary)&lt;br /&gt;
&lt;br /&gt;
:* The &#039;&#039;&#039;HTCondor Schedulers:&#039;&#039;&#039; This is the brain of the batch system: they manage all the submitted jobs, and send them to the worker nodes.&lt;br /&gt;
::::Servers : scheddXX&lt;br /&gt;
&lt;br /&gt;
:* The &#039;&#039;&#039;Worker Nodes (WN): &#039;&#039;&#039; This is the power of the cluster : they run multiple jobs in parallel and send the results &amp;amp; status back to the CE.&lt;br /&gt;
::::Servers : nodeXX-YY&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* The &#039;&#039;&#039;Mass Storage&#039;&#039;&#039;&lt;br /&gt;
** The &#039;&#039;&#039;Storage Element&#039;&#039;&#039;: it is the brain of the cluster storage. Grid accessible, it knows where all the files are, and manages all the storage nodes.&lt;br /&gt;
::::Server : maite&lt;br /&gt;
:* The &#039;&#039;&#039;Storage Nodes&#039;&#039;&#039;: This is the memory of the cluster : they contain big data files. In total, they provide ~8400 TB of grid-accessible storage.&lt;br /&gt;
::::Servers : beharXXX&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to Connect ==&lt;br /&gt;
&lt;br /&gt;
To connect to the cluster, you need to have sent us your public ssh key.&lt;br /&gt;
In a terminal, type the following (adapt &amp;lt;MYLOGIN&amp;gt; accordingly WITHOUT the brackets &amp;lt;&amp;gt;):&lt;br /&gt;
 ssh -X -o ServerAliveInterval=100 &amp;lt;MYLOGIN&amp;gt;@mshort.iihe.ac.be&lt;br /&gt;
:&#039;&#039;Tip: the &#039;&#039;-o ServerAliveInterval=100&#039;&#039; option is used to keep your session alive for a long period of time ! You should not be disconnected during a whole day of work.&#039;&#039;&lt;br /&gt;
:&#039;&#039;Tip: use aliases to connect easily! eg add to your &#039;&#039;~/.bashrc&#039;&#039; file the following: &#039;&#039;alias mshort=&#039;ssh -X -o ServerAliveInterval=100 &amp;lt;MYLOGIN&amp;gt;@mshort.iihe.ac.be&#039;&lt;br /&gt;
&lt;br /&gt;
If connecting does not work, please follow the help [[Faq_t2b#Debugging_SSH_connection_to_mX_machines:|here]]. After a successful login, you&#039;ll see this message :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&#039;color:green&#039;&amp;gt; 			(: Welcome to the T2B Cluster :) &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&#039;color:green&#039;&amp;gt;			________________________________&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&#039;color:green&#039;&amp;gt;			The cluster is working properly&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 ___________________________________________________________________________&amp;lt;br&amp;gt;&lt;br /&gt;
  Mail: &amp;lt;span style=&#039;color:blue&#039;&amp;gt;  grid_admin@listserv.vub.be&amp;lt;/span&amp;gt;   |  Chat: &amp;lt;span style=&#039;color:blue&#039;&amp;gt;  https://chat.iihe.ac.be&amp;lt;/span&amp;gt;&lt;br /&gt;
  Wiki: &amp;lt;span style=&#039;color:blue&#039;&amp;gt;  https://t2bwiki.iihe.ac.be&amp;lt;/span&amp;gt; |  Status: &amp;lt;span style=&#039;color:blue&#039;&amp;gt;https://status.iihe.ac.be&amp;lt;/span&amp;gt; &lt;br /&gt;
 ___________________________________________________________________________&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&#039;color:cyan&#039;&amp;gt;[/user]&amp;lt;/span&amp;gt;  =&amp;gt;  224 / 500 GB  &amp;lt;span style=&#039;color:green&#039;&amp;gt;[44%]&amp;lt;/span&amp;gt;  --|--  &amp;lt;span style=&#039;color:cyan&#039;&amp;gt;[/pnfs]&amp;lt;/span&amp;gt;  =&amp;gt;  &amp;lt;span style=&#039;color:green&#039;&amp;gt;101 GB&amp;lt;/span&amp;gt;  [01/12/2023]&lt;br /&gt;
 ___________________________________________________________________________&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&#039;color:blue&#039;&amp;gt;Welcome on [m7]&amp;lt;/span&amp;gt; ! You have &amp;lt;span style=&#039;color:purple&#039;&amp;gt;3600s (1 hours)&amp;lt;/span&amp;gt; of cpu time per processes.&lt;br /&gt;
  There are &amp;lt;span style=&#039;color:green&#039;&amp;gt;2 users&amp;lt;/span&amp;gt; here   |   Load: &amp;lt;span style=&#039;color:red&#039;&amp;gt;7.56 /4 CPUs (189%)&amp;lt;/span&amp;gt;  |   Mem: &amp;lt;span style=&#039;color:green&#039;&amp;gt;16% used&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please observe all the information in this message:&lt;br /&gt;
* The header, telling you the health of the cluster. When there is an issue, the header of the welcome message will transform to:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&#039;color:red&#039;&amp;gt; 			:( Welcome to the T2B Cluster ): &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&#039;color:red&#039;&amp;gt;			________________________________&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&#039;color:red&#039;&amp;gt;			THERE ARE ISSUES ON THE CLUSTER&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&#039;color:red&#039;&amp;gt;			More details at &amp;lt;/span&amp;gt;&amp;lt;span style=&#039;color:magenta&#039;&amp;gt;status.iihe.ac.be&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&#039;color:red&#039;&amp;gt;			(Register to receive updates)&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The email used for the cluster support (please use this one rather than personal mail, this way everyone on the support team can answer and track the progress.)&lt;br /&gt;
* The wiki link, where you should go first to find the information&lt;br /&gt;
* The chat link, where you can easily contact us for fast exchanges. IIHE users can use their intranet account, others can just create an account.&lt;br /&gt;
* The status link, where you can see if the cluster has any problems reported. Please make sure you are registered to receive updates.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* The space used on the mass storage /pnfs, where storing a few TB is no problem. No hard limits are applied, but please contact us if you plan to go over 20 TB!&lt;br /&gt;
* The quota used on /user (and /group). Here a hard limit is applied, so if you are at 100%, you will have many problems. Clean your space, and if you really need more contact us.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* The cpu time limit imposed per process, as we divided our UIs into 2 groups. Please note &#039;&#039;&#039;processes will be killed&#039;&#039;&#039; if they go over their CPU-time limit!&lt;br /&gt;
:: &#039;&#039;&#039;The light task&#039;&#039;&#039; UIs &amp;lt;span style=&#039;color:red&#039;&amp;gt;(max &#039;&#039;&#039;CPU&#039;&#039;&#039; time = 20 minutes)&amp;lt;/span&amp;gt; : they are used for crab/local job submission, writing code,  debugging ...&lt;br /&gt;
::&amp;lt;pre&amp;gt;mshort.iihe.ac.be :  m2.iihe.ac.be, m3.iihe.ac.be &amp;lt;/pre&amp;gt;&lt;br /&gt;
:: &#039;&#039;&#039;The CPU-intensive&#039;&#039;&#039; UIs &amp;lt;span style=&#039;color:red&#039;&amp;gt;(max &#039;&#039;&#039;CPU&#039;&#039;&#039; time = 5 hour)&amp;lt;/span&amp;gt; : they are available for CPU-intensive and testing tasks/workflows, although you should prefer using local job submission ...&lt;br /&gt;
::&amp;lt;pre&amp;gt;mlong.iihe.ac.be : m0.iihe.ac.be, m1.iihe.ac.be&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Information about how heavily this UI is used. If any of them is red (ie above optimal usage), please consider using another UI. Please be mindful of other users and don&#039;t start too many processes, especially if the UI is already under charge.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Sometimes announcements are printed at the end. Please make sure you read those.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Data Storage &amp;amp; Directory Structure ==&lt;br /&gt;
&lt;br /&gt;
There are 2 main directories to store your work and data:&lt;br /&gt;
* &#039;&#039;&#039;/user [/$USER]&#039;&#039;&#039; : this is your home directory. You have an enforced quota there, as it is an expensive storage with redundancy and daily backups (see below).&lt;br /&gt;
* &#039;&#039;&#039;/pnfs [/iihe/MYEXP/store/user/$USER]&#039;&#039;&#039; : this is where you can store a large amount of data, and is also [[GridStorageAccess|grid-accessible]]. If you need more than a few TB, please contact us. There is no backups there, so be careful of what you do !&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There are other directories than you might want to take notice of:&lt;br /&gt;
* &#039;&#039;&#039;/group&#039;&#039;&#039; : same as /user , but if you need to share/produce in a group.&lt;br /&gt;
* &#039;&#039;&#039;/scratch&#039;&#039;&#039; : a temporary scratch space for your job. Use $TMPDIR on the WNs, it is cleanned after each job :)&lt;br /&gt;
* &#039;&#039;&#039;/cvmfs&#039;&#039;&#039; : Centralised CVMFS software repository. It should contain most of the software you will need for your experiment. Find [[OtherSoftware|here]] how to get a coherent environment for most tools you will need.&lt;br /&gt;
* &#039;&#039;&#039;/software&#039;&#039;&#039; : local area for shared software not in /cvmfs . You can use a [[OtherSoftware|nice tool]] to find the software and versions available.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Batch System ==&lt;br /&gt;
&lt;br /&gt;
The cluster is based on HTCondor (also used at CERN or Wisconsin for instance).&lt;br /&gt;
Please follow [[HTCondor|this page]] for details on how to use it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;1064&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Description&lt;br /&gt;
| nowrap=&amp;quot;nowrap&amp;quot; align=&amp;quot;center&amp;quot; | HTCondor batch ressources&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | # CPU&#039;s (Jobs)&lt;br /&gt;
| nowrap=&amp;quot;nowrap&amp;quot; align=&amp;quot;center&amp;quot; | 10700&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Walltime limit&lt;br /&gt;
| nowrap=&amp;quot;nowrap&amp;quot; align=&amp;quot;center&amp;quot; | 168 hours = 1 week &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Preferred Memory per job&lt;br /&gt;
| nowrap=&amp;quot;nowrap&amp;quot; align=&amp;quot;center&amp;quot; | 4 Gb&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | $TMPDIR/scratch max usable space&lt;br /&gt;
| nowrap=&amp;quot;nowrap&amp;quot; align=&amp;quot;center&amp;quot; | 10-20 Gb&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Max # jobs sent to the batch system / User&lt;br /&gt;
| nowrap=&amp;quot;nowrap&amp;quot; align=&amp;quot;center&amp;quot; | theoretically none (contact us if you plan on sending more than 10 000) &amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Backup ==&lt;br /&gt;
There are several areas that we regularly back up: &#039;&#039;&#039;/user&#039;&#039;&#039; , &#039;&#039;&#039;/group&#039;&#039;&#039; , &#039;&#039;&#039;/ice3&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
You can find more information on the backup frequency and how to access them [[Backup|here]].&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
[http://ganglia.iihe.ac.be/ganglia/  Ganglia Monitoring] : stats on all our servers.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://status.iihe.ac.be Cluster Status] : current status of all T2B services. Check here before sending us an email. Please also consider registering to receive T2B issues and be informed when things are resolved.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=RestoringCloudFrontendFromBackup&amp;diff=1395</id>
		<title>RestoringCloudFrontendFromBackup</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=RestoringCloudFrontendFromBackup&amp;diff=1395"/>
		<updated>2024-07-25T13:24:41Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Context =&lt;br /&gt;
In July 2024, we have lost our OpenNebula frontend VM (cloud2) after an attempt to reboot it. It was hosted on domz02, a basic QEMU/KVM standalone hypervizor managed with libvirt. The problem seemed to be that the system was not able to find the partition table in the qcow2 image. As there was no backup of the OpenNebula data and config files, the only solution to recover these things was to attach the image to a new VM and to recreate the partition table in the mounted image using the tool gpart. It eventually worked, but things would have far more easier if we had a simple backup of the directories containing the important ONE data and configuration files of our cloud system. And above all, the procedure we followed to restore the machine was sketched in a situation of emergency with no warranty that it would succeed.&lt;br /&gt;
&lt;br /&gt;
= Data and configuration items to backup =&lt;br /&gt;
Here is a list of the important files/directories to backup:&lt;br /&gt;
* /var/lib/one&lt;br /&gt;
* /var/lib/mysql&lt;br /&gt;
* /etc/one&lt;br /&gt;
* /etc/my.cnf&lt;br /&gt;
* /etc/my.cnf.d&lt;br /&gt;
&lt;br /&gt;
You will find all of them in &#039;&#039;&#039;/backup_mnt/backup/BACKUPS/cloud2/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Procedure to restore the frontend =&lt;br /&gt;
On the standalone hypervizor, create a new VM with same hardware characteristics as the previous (mac address, disk size, memory, cpu,...). The easiest way is to copy-paste the xml of the previous. Be careful that libvirt will complain about the fact that you reuse the mac address. The solution is simple: remove the nic of the previous VM to free the mac address. Here are some commands that might be useful for this step:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
virsh list&lt;br /&gt;
virsh edit &amp;lt;machine_name&amp;gt;&lt;br /&gt;
virsh create &amp;lt;xml_description_of_vm&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Of course, you can also use the GUI &#039;&#039;&#039;virt-manager&#039;&#039;&#039; for most tasks. Be especially careful with the drivers (it should be &#039;&#039;&#039;virtio&#039;&#039;&#039; for the NIC and the drive). Also double-check that the drive and the memory have the same sizes as on the previous VM. And of course, don&#039;t reuse the disk of the previous VM, you have to create a new one (it&#039;s easy to do from the &#039;&#039;&#039;virt-manager&#039;&#039;&#039; GUI).&lt;br /&gt;
&lt;br /&gt;
Once the VM is running, you&#039;ll have to reinstall the frontend on it with Quattor and Puppet. However, the VM must initially be reinstalled with machine-type &#039;puppet_node&#039; and Puppet app set to &#039;servers&#039; and role to &#039;none&#039;. Why? Because if you directly reinstall the VM as frontend, the initization scripts that come with the ONE packages and also with Puppet will generate some new settings that might be tricky to overwrite with the backup. So to say, in the beginning of the restore process, the machine must be a vanilla one. Here is the vanilla profile used to reinstall the VM:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
object template cloud2.wn.iihe.ac.be;&lt;br /&gt;
include &#039;machine-types/puppet_node&#039;;&lt;br /&gt;
&lt;br /&gt;
# Mounting backup&lt;br /&gt;
include &#039;config/nfs/common&#039;;&lt;br /&gt;
include &#039;config/ceph/cephfs.backup&#039;;&lt;br /&gt;
&lt;br /&gt;
# software repositories (should be last)&lt;br /&gt;
include PKG_REPOSITORY_CONFIG;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And in the Quattor file &#039;&#039;&#039;site/puppet/database&#039;&#039;&#039;, here is the setting for the hiera &#039;&#039;&#039;app&#039;&#039;&#039; and &#039;&#039;&#039;role&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &#039;cloud2.wn.iihe.ac.be&#039;, dict(&lt;br /&gt;
        &#039;environment&#039;, &#039;prod&#039;,&lt;br /&gt;
        &#039;app&#039;, &#039;servers&#039;,&lt;br /&gt;
        &#039;role&#039;, &#039;none&#039;,&lt;br /&gt;
        &#039;cloud&#039;, &#039;cloud2&#039;,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once these changes have been pushed in Quattor repo, and before doing the aii-shellfe configure and install on the aii server, there are two things to do to avoid problems (note those 2 steps are done when using &#039;&#039;&#039;quat -ri&#039;&#039;&#039;):&lt;br /&gt;
* revoke the SinDES certificate of the machine on the aii server (if you don&#039;t do that, no SinDES ACL will be created since there is already a valid certificate for the machine);&lt;br /&gt;
* revoke the Puppet certificate on the Puppet master machine.&lt;br /&gt;
&lt;br /&gt;
When the Quattor installation is finished, you have to mount the &#039;&#039;&#039;backup&#039;&#039;&#039; share on the VM, and then you restore the files and directories with the command of your taste (in my case, I just used &#039;&#039;&#039;cp -ap&#039;&#039;&#039;). Of course, it is really important to preserve the permissions and ownerships of the source files.&lt;br /&gt;
&lt;br /&gt;
With the data and configuration files being restored, it is now time to switch the VM back as a good old OpenNebula frontend. Revert the profile to something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
object template cloud2.wn.iihe.ac.be;&lt;br /&gt;
&lt;br /&gt;
include &#039;machine-types/puppet_node&#039;;&lt;br /&gt;
&lt;br /&gt;
variable ONE_RELEASE = &#039;6.6&#039;;&lt;br /&gt;
include &#039;features/one_frontend/light_config&#039;;&lt;br /&gt;
include &#039;features/one_frontend/one6.X/sunstone_apache_ssl&#039;;&lt;br /&gt;
&lt;br /&gt;
# Mounting backup&lt;br /&gt;
include &#039;config/nfs/common&#039;;&lt;br /&gt;
include &#039;config/ceph/cephfs.backup&#039;;&lt;br /&gt;
&lt;br /&gt;
# Making backup of everything that is needed&lt;br /&gt;
include &#039;components/cron/config&#039;;&lt;br /&gt;
&#039;/software/components/cron/entries&#039; = push(&lt;br /&gt;
    dict(&lt;br /&gt;
        &#039;name&#039;,       &#039;backup_config_db_one&#039;,&lt;br /&gt;
        &#039;user&#039;,       &#039;root&#039;,&lt;br /&gt;
        &#039;frequency&#039;,  &#039;30 */2 * * *&#039;,&lt;br /&gt;
        &#039;log&#039;, dict(&#039;disabled&#039;, false),&lt;br /&gt;
        &#039;command&#039;,    &#039;/usr/bin/rsync -avR /var/lib/one /var/lib/mysql /etc/one /etc/my.cnf /etc/my.cnf.d /backup_mnt/backup/BACKUPS/cloud2/.&#039;&lt;br /&gt;
    )&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
# software repositories (should be last)&lt;br /&gt;
include PKG_REPOSITORY_CONFIG;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and don&#039;t forget the Puppet database to generate the correct hiera description in the file &#039;&#039;&#039;/etc/puppetlabs/facter/facts.d/provisionning.yaml&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &#039;cloud2.wn.iihe.ac.be&#039;, dict(&lt;br /&gt;
        &#039;environment&#039;, &#039;prod&#039;,&lt;br /&gt;
        &#039;app&#039;, &#039;opennebula&#039;,&lt;br /&gt;
        &#039;role&#039;, &#039;frontend&#039;,&lt;br /&gt;
        &#039;cloud&#039;, &#039;cloud2&#039;,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=RestoringCloudFrontendFromBackup&amp;diff=1394</id>
		<title>RestoringCloudFrontendFromBackup</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=RestoringCloudFrontendFromBackup&amp;diff=1394"/>
		<updated>2024-07-25T13:23:41Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Context =&lt;br /&gt;
In July 2024, we have lost our OpenNebula frontend VM (cloud2) after an attempt to reboot it. It was hosted on domz02, a basic QEMU/KVM standalone hypervizor managed with libvirt. The problem seemed to be that the system was not able to find the partition table in the qcow2 image. As there was no backup of the OpenNebula data and config files, the only solution to recover these things was to attach the image to a new VM and to recreate the partition table in the mounted image using the tool gpart. It eventually worked, but things would have far more easier if we had a simple backup of the directories containing the important ONE data and configuration files of our cloud system. And above all, the procedure we followed to restore the machine was sketched in a situation of emergency with no warranty that it would succeed.&lt;br /&gt;
&lt;br /&gt;
= Data and configuration items to backup =&lt;br /&gt;
Here is a list of the important files/directories to backup:&lt;br /&gt;
* /var/lib/one&lt;br /&gt;
* /var/lib/mysql&lt;br /&gt;
* /etc/one&lt;br /&gt;
* /etc/my.cnf&lt;br /&gt;
* /etc/my.cnf.d&lt;br /&gt;
&lt;br /&gt;
= Procedure to restore the frontend =&lt;br /&gt;
On the standalone hypervizor, create a new VM with same hardware characteristics as the previous (mac address, disk size, memory, cpu,...). The easiest way is to copy-paste the xml of the previous. Be careful that libvirt will complain about the fact that you reuse the mac address. The solution is simple: remove the nic of the previous VM to free the mac address. Here are some commands that might be useful for this step:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
virsh list&lt;br /&gt;
virsh edit &amp;lt;machine_name&amp;gt;&lt;br /&gt;
virsh create &amp;lt;xml_description_of_vm&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Of course, you can also use the GUI &#039;&#039;&#039;virt-manager&#039;&#039;&#039; for most tasks. Be especially careful with the drivers (it should be &#039;&#039;&#039;virtio&#039;&#039;&#039; for the NIC and the drive). Also double-check that the drive and the memory have the same sizes as on the previous VM. And of course, don&#039;t reuse the disk of the previous VM, you have to create a new one (it&#039;s easy to do from the &#039;&#039;&#039;virt-manager&#039;&#039;&#039; GUI).&lt;br /&gt;
&lt;br /&gt;
Once the VM is running, you&#039;ll have to reinstall the frontend on it with Quattor and Puppet. However, the VM must initially be reinstalled with machine-type &#039;puppet_node&#039; and Puppet app set to &#039;servers&#039; and role to &#039;none&#039;. Why? Because if you directly reinstall the VM as frontend, the initization scripts that come with the ONE packages and also with Puppet will generate some new settings that might be tricky to overwrite with the backup. So to say, in the beginning of the restore process, the machine must be a vanilla one. Here is the vanilla profile used to reinstall the VM:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
object template cloud2.wn.iihe.ac.be;&lt;br /&gt;
include &#039;machine-types/puppet_node&#039;;&lt;br /&gt;
&lt;br /&gt;
# Mounting backup&lt;br /&gt;
include &#039;config/nfs/common&#039;;&lt;br /&gt;
include &#039;config/ceph/cephfs.backup&#039;;&lt;br /&gt;
&lt;br /&gt;
# software repositories (should be last)&lt;br /&gt;
include PKG_REPOSITORY_CONFIG;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And in the Quattor file &#039;&#039;&#039;site/puppet/database&#039;&#039;&#039;, here is the setting for the hiera &#039;&#039;&#039;app&#039;&#039;&#039; and &#039;&#039;&#039;role&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &#039;cloud2.wn.iihe.ac.be&#039;, dict(&lt;br /&gt;
        &#039;environment&#039;, &#039;prod&#039;,&lt;br /&gt;
        &#039;app&#039;, &#039;servers&#039;,&lt;br /&gt;
        &#039;role&#039;, &#039;none&#039;,&lt;br /&gt;
        &#039;cloud&#039;, &#039;cloud2&#039;,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once these changes have been pushed in Quattor repo, and before doing the aii-shellfe configure and install on the aii server, there are two things to do to avoid problems (note those 2 steps are done when using &#039;&#039;&#039;quat -ri&#039;&#039;&#039;):&lt;br /&gt;
* revoke the SinDES certificate of the machine on the aii server (if you don&#039;t do that, no SinDES ACL will be created since there is already a valid certificate for the machine);&lt;br /&gt;
* revoke the Puppet certificate on the Puppet master machine.&lt;br /&gt;
&lt;br /&gt;
When the Quattor installation is finished, you have to mount the &#039;&#039;&#039;backup&#039;&#039;&#039; share on the VM, and then you restore the files and directories with the command of your taste (in my case, I just used &#039;&#039;&#039;cp -ap&#039;&#039;&#039;). Of course, it is really important to preserve the permissions and ownerships of the source files.&lt;br /&gt;
&lt;br /&gt;
With the data and configuration files being restored, it is now time to switch the VM back as a good old OpenNebula frontend. Revert the profile to something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
object template cloud2.wn.iihe.ac.be;&lt;br /&gt;
&lt;br /&gt;
include &#039;machine-types/puppet_node&#039;;&lt;br /&gt;
&lt;br /&gt;
variable ONE_RELEASE = &#039;6.6&#039;;&lt;br /&gt;
include &#039;features/one_frontend/light_config&#039;;&lt;br /&gt;
include &#039;features/one_frontend/one6.X/sunstone_apache_ssl&#039;;&lt;br /&gt;
&lt;br /&gt;
# Mounting backup&lt;br /&gt;
include &#039;config/nfs/common&#039;;&lt;br /&gt;
include &#039;config/ceph/cephfs.backup&#039;;&lt;br /&gt;
&lt;br /&gt;
# Making backup of everything that is needed&lt;br /&gt;
include &#039;components/cron/config&#039;;&lt;br /&gt;
&#039;/software/components/cron/entries&#039; = push(&lt;br /&gt;
    dict(&lt;br /&gt;
        &#039;name&#039;,       &#039;backup_config_db_one&#039;,&lt;br /&gt;
        &#039;user&#039;,       &#039;root&#039;,&lt;br /&gt;
        &#039;frequency&#039;,  &#039;30 */2 * * *&#039;,&lt;br /&gt;
        &#039;log&#039;, dict(&#039;disabled&#039;, false),&lt;br /&gt;
        &#039;command&#039;,    &#039;/usr/bin/rsync -avR /var/lib/one /var/lib/mysql /etc/one /etc/my.cnf /etc/my.cnf.d /backup_mnt/backup/BACKUPS/cloud2/.&#039;&lt;br /&gt;
    )&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
# software repositories (should be last)&lt;br /&gt;
include PKG_REPOSITORY_CONFIG;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and don&#039;t forget the Puppet database to generate the correct hiera description in the file &#039;&#039;&#039;/etc/puppetlabs/facter/facts.d/provisionning.yaml&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &#039;cloud2.wn.iihe.ac.be&#039;, dict(&lt;br /&gt;
        &#039;environment&#039;, &#039;prod&#039;,&lt;br /&gt;
        &#039;app&#039;, &#039;opennebula&#039;,&lt;br /&gt;
        &#039;role&#039;, &#039;frontend&#039;,&lt;br /&gt;
        &#039;cloud&#039;, &#039;cloud2&#039;,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=RestoringCloudFrontendFromBackup&amp;diff=1393</id>
		<title>RestoringCloudFrontendFromBackup</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=RestoringCloudFrontendFromBackup&amp;diff=1393"/>
		<updated>2024-07-25T13:22:50Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Procedure to restore the frontend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Context =&lt;br /&gt;
In July 2024, we have lost our OpenNebula frontend VM (cloud2) after an attempt to reboot it. It was hosted on domz02, a basic QEMU/KVM standalone hypervizor managed with libvirt. The problem seemed to be that the system was not able to find the partition table in the qcow2 image. As there was no backup of the OpenNebula data and config files, the only solution to recover these things was to attach the image to a new VM and to recreate the partition table in the mounted image using the tool gpart. It eventually worked, but things would have far more easier if we had a simple backup of the directories containing the important ONE data and configuration files of our cloud system. And above all, the procedure we followed to restore the machine was sketched in a situation of emergency with no warranty that it would succeed.&lt;br /&gt;
&lt;br /&gt;
= Data and configuration items to backup =&lt;br /&gt;
Here is a list of the important files/directories to backup:&lt;br /&gt;
* /var/lib/one&lt;br /&gt;
* /var/lib/mysql&lt;br /&gt;
* /etc/one&lt;br /&gt;
* /etc/my.cnf&lt;br /&gt;
* /etc/my.cnf.d&lt;br /&gt;
&lt;br /&gt;
= Procedure to restore the frontend =&lt;br /&gt;
On the standalone hypervizor, create a new VM with same hardware characteristics as the previous (mac address, disk size, memory, cpu,...). The easiest way is to copy-paste the xml of the previous. Be careful that libvirt will complain about the fact that you reuse the mac address. The solution is simple: remove the nic of the previous VM to free the mac address. Here are some commands that might be useful for this step:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
virsh list&lt;br /&gt;
virsh edit &amp;lt;machine_name&amp;gt;&lt;br /&gt;
virsh create &amp;lt;xml_description_of_vm&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Of course, you can also use the GUI &#039;&#039;&#039;virt-manager&#039;&#039;&#039; for most tasks. Be especially careful with the drivers (it should be &#039;&#039;&#039;virtio&#039;&#039;&#039; for the NIC and the drive). Also double-check that the drive and the memory have the same sizes as on the previous VM. And of course, don&#039;t reuse the disk of the previous VM, you have to create a new one (it&#039;s easy to do from the &#039;&#039;&#039;virt-manager&#039;&#039;&#039; GUI).&lt;br /&gt;
&lt;br /&gt;
Once the VM is running, you&#039;ll have to reinstall the frontend on it with Quattor and Puppet. However, the VM must initially be reinstalled with machine-type &#039;puppet_node&#039; and Puppet app set to &#039;servers&#039; and role to &#039;none&#039;. Why? Because if you directly reinstall the VM as frontend, the initization scripts that come with the ONE packages and also with Puppet will generate some new settings that might be tricky to overwrite with the backup. So to say, in the beginning of the restore process, the machine must be a vanilla one. Here is the vanilla profile used to reinstall the VM:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
object template cloud2.wn.iihe.ac.be;&lt;br /&gt;
include &#039;machine-types/puppet_node&#039;;&lt;br /&gt;
&lt;br /&gt;
# Mounting backup&lt;br /&gt;
include &#039;config/nfs/common&#039;;&lt;br /&gt;
include &#039;config/ceph/cephfs.backup&#039;;&lt;br /&gt;
&lt;br /&gt;
# software repositories (should be last)&lt;br /&gt;
include PKG_REPOSITORY_CONFIG;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And in the Quattor file &#039;&#039;&#039;site/puppet/database&#039;&#039;&#039;, here is the setting for the hiera &#039;&#039;&#039;app&#039;&#039;&#039; and &#039;&#039;&#039;role&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &#039;cloud2.wn.iihe.ac.be&#039;, dict(&lt;br /&gt;
        &#039;environment&#039;, &#039;prod&#039;,&lt;br /&gt;
        &#039;app&#039;, &#039;servers&#039;,&lt;br /&gt;
        &#039;role&#039;, &#039;none&#039;,&lt;br /&gt;
        &#039;cloud&#039;, &#039;cloud2&#039;,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once these changes have been pushed in Quattor repo, and before doing the aii-shellfe configure and install on the aii server, there are two things to do to avoid problems (note those 2 steps are done when using quat -ri):&lt;br /&gt;
* revoke the SinDES certificate of the machine on the aii server (if you don&#039;t do that, no SinDES ACL will be created since there is already a valid certificate for the machine);&lt;br /&gt;
* revoke the Puppet certificate on the Puppet master machine.&lt;br /&gt;
&lt;br /&gt;
When the Quattor installation is finished, you have to mount the &#039;&#039;&#039;backup&#039;&#039;&#039; share on the VM, and then you restore the files and directories with the command of your taste (in my case, I just used &#039;&#039;&#039;cp -ap&#039;&#039;&#039;). Of course, it is really important to preserve the permissions and ownerships of the source files.&lt;br /&gt;
&lt;br /&gt;
With the data and configuration files being restored, it is now time to switch the VM back as a good old OpenNebula frontend. Revert the profile to something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
object template cloud2.wn.iihe.ac.be;&lt;br /&gt;
&lt;br /&gt;
include &#039;machine-types/puppet_node&#039;;&lt;br /&gt;
&lt;br /&gt;
variable ONE_RELEASE = &#039;6.6&#039;;&lt;br /&gt;
include &#039;features/one_frontend/light_config&#039;;&lt;br /&gt;
include &#039;features/one_frontend/one6.X/sunstone_apache_ssl&#039;;&lt;br /&gt;
&lt;br /&gt;
# Mounting backup&lt;br /&gt;
include &#039;config/nfs/common&#039;;&lt;br /&gt;
include &#039;config/ceph/cephfs.backup&#039;;&lt;br /&gt;
&lt;br /&gt;
# Making backup of everything that is needed&lt;br /&gt;
include &#039;components/cron/config&#039;;&lt;br /&gt;
&#039;/software/components/cron/entries&#039; = push(&lt;br /&gt;
    dict(&lt;br /&gt;
        &#039;name&#039;,       &#039;backup_config_db_one&#039;,&lt;br /&gt;
        &#039;user&#039;,       &#039;root&#039;,&lt;br /&gt;
        &#039;frequency&#039;,  &#039;30 */2 * * *&#039;,&lt;br /&gt;
        &#039;log&#039;, dict(&#039;disabled&#039;, false),&lt;br /&gt;
        &#039;command&#039;,    &#039;/usr/bin/rsync -avR /var/lib/one /var/lib/mysql /etc/one /etc/my.cnf /etc/my.cnf.d /backup_mnt/backup/BACKUPS/cloud2/.&#039;&lt;br /&gt;
    )&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
# software repositories (should be last)&lt;br /&gt;
include PKG_REPOSITORY_CONFIG;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and don&#039;t forget the Puppet database to generate the correct hiera description in the file &#039;&#039;&#039;/etc/puppetlabs/facter/facts.d/provisionning.yaml&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &#039;cloud2.wn.iihe.ac.be&#039;, dict(&lt;br /&gt;
        &#039;environment&#039;, &#039;prod&#039;,&lt;br /&gt;
        &#039;app&#039;, &#039;opennebula&#039;,&lt;br /&gt;
        &#039;role&#039;, &#039;frontend&#039;,&lt;br /&gt;
        &#039;cloud&#039;, &#039;cloud2&#039;,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=RestoringCloudFrontendFromBackup&amp;diff=1392</id>
		<title>RestoringCloudFrontendFromBackup</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=RestoringCloudFrontendFromBackup&amp;diff=1392"/>
		<updated>2024-07-25T13:18:07Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Procedure to restore the frontend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Context =&lt;br /&gt;
In July 2024, we have lost our OpenNebula frontend VM (cloud2) after an attempt to reboot it. It was hosted on domz02, a basic QEMU/KVM standalone hypervizor managed with libvirt. The problem seemed to be that the system was not able to find the partition table in the qcow2 image. As there was no backup of the OpenNebula data and config files, the only solution to recover these things was to attach the image to a new VM and to recreate the partition table in the mounted image using the tool gpart. It eventually worked, but things would have far more easier if we had a simple backup of the directories containing the important ONE data and configuration files of our cloud system. And above all, the procedure we followed to restore the machine was sketched in a situation of emergency with no warranty that it would succeed.&lt;br /&gt;
&lt;br /&gt;
= Data and configuration items to backup =&lt;br /&gt;
Here is a list of the important files/directories to backup:&lt;br /&gt;
* /var/lib/one&lt;br /&gt;
* /var/lib/mysql&lt;br /&gt;
* /etc/one&lt;br /&gt;
* /etc/my.cnf&lt;br /&gt;
* /etc/my.cnf.d&lt;br /&gt;
&lt;br /&gt;
= Procedure to restore the frontend =&lt;br /&gt;
On the standalone hypervizor, create a new VM with same hardware characteristics as the previous (mac address, disk size, memory, cpu,...). The easiest way is to copy-paste the xml of the previous. Be careful that libvirt will complain about the fact that you reuse the mac address. The solution is simple: remove the nic of the previous VM to free the mac address. Here are some commands that might be useful for this step:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
virsh list&lt;br /&gt;
virsh edit &amp;lt;machine_name&amp;gt;&lt;br /&gt;
virsh create &amp;lt;xml_description_of_vm&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Of course, you can also use the GUI &#039;&#039;&#039;virt-manager&#039;&#039;&#039; for most tasks. Be especially careful with the drivers (it should be &#039;&#039;&#039;virtio&#039;&#039;&#039; for the NIC and the drive). Also double-check that the drive and the memory have the same sizes as on the previous VM. And of course, don&#039;t reuse the disk of the previous VM, you have to create a new one (it&#039;s easy to do from the &#039;&#039;&#039;virt-manager&#039;&#039;&#039; GUI).&lt;br /&gt;
&lt;br /&gt;
Once the VM is running, you&#039;ll have to reinstall the frontend on it with Quattor and Puppet. However, the VM must initially be reinstalled with machine-type &#039;puppet_node&#039; and Puppet app set to &#039;servers&#039; and role to &#039;none&#039;. Why? Because if you directly reinstall the VM as frontend, the initization scripts that come with the ONE packages and also with Puppet will generate some new settings that might be tricky to overwrite with the backup. So to say, in the beginning of the restore process, the machine must be a vanilla one. Here is the vanilla profile used to reinstall the VM:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
object template cloud2.wn.iihe.ac.be;&lt;br /&gt;
include &#039;machine-types/puppet_node&#039;;&lt;br /&gt;
# software repositories (should be last)&lt;br /&gt;
include PKG_REPOSITORY_CONFIG;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And in the Quattor file &#039;&#039;&#039;site/puppet/database&#039;&#039;&#039;, here is the setting for the hiera &#039;&#039;&#039;app&#039;&#039;&#039; and &#039;&#039;&#039;role&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &#039;cloud2.wn.iihe.ac.be&#039;, dict(&lt;br /&gt;
        &#039;environment&#039;, &#039;prod&#039;,&lt;br /&gt;
        &#039;app&#039;, &#039;servers&#039;,&lt;br /&gt;
        &#039;role&#039;, &#039;none&#039;,&lt;br /&gt;
        &#039;cloud&#039;, &#039;cloud2&#039;,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once these changes have been pushed in Quattor repo, and before doing the aii-shellfe configure and install on the aii server, there are two things to do to avoid problems :&lt;br /&gt;
* revoke the SinDES certificate of the machine on the aii server (if you don&#039;t do that, no SinDES ACL will be created since there is already a valid certificate for the machine);&lt;br /&gt;
* revoke the Puppet certificate on the Puppet master machine.&lt;br /&gt;
&lt;br /&gt;
When the Quattor installation is finished, you have to mount the &#039;&#039;&#039;backup&#039;&#039;&#039; share on the VM, and then you restore the files and directories with the command of your taste (in my case, I just used &#039;&#039;&#039;cp -ap&#039;&#039;&#039;). Of course, it is really important to preserve the permissions and ownerships of the source files.&lt;br /&gt;
&lt;br /&gt;
With the data and configuration files being restored, it is now time to switch the VM back as a good old OpenNebula frontend. Revert the profile to something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
object template cloud2.wn.iihe.ac.be;&lt;br /&gt;
include &#039;machine-types/puppet_node&#039;;&lt;br /&gt;
variable ONE_RELEASE = &#039;6.6&#039;;&lt;br /&gt;
include &#039;features/one_frontend/light_config&#039;;&lt;br /&gt;
include &#039;features/one_frontend/one6.X/sunstone_apache_ssl&#039;;&lt;br /&gt;
# software repositories (should be last)&lt;br /&gt;
include PKG_REPOSITORY_CONFIG;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and don&#039;t forget the Puppet database to generate the correct hiera description in the file &#039;&#039;&#039;/etc/puppetlabs/facter/facts.d/provisionning.yaml&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &#039;cloud2.wn.iihe.ac.be&#039;, dict(&lt;br /&gt;
        &#039;environment&#039;, &#039;prod&#039;,&lt;br /&gt;
        &#039;app&#039;, &#039;opennebula&#039;,&lt;br /&gt;
        &#039;role&#039;, &#039;frontend&#039;,&lt;br /&gt;
        &#039;cloud&#039;, &#039;cloud2&#039;,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=RestoringCloudFrontendFromBackup&amp;diff=1391</id>
		<title>RestoringCloudFrontendFromBackup</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=RestoringCloudFrontendFromBackup&amp;diff=1391"/>
		<updated>2024-07-25T13:11:19Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Procedure to restore the backup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Context =&lt;br /&gt;
In July 2024, we have lost our OpenNebula frontend VM (cloud2) after an attempt to reboot it. It was hosted on domz02, a basic QEMU/KVM standalone hypervizor managed with libvirt. The problem seemed to be that the system was not able to find the partition table in the qcow2 image. As there was no backup of the OpenNebula data and config files, the only solution to recover these things was to attach the image to a new VM and to recreate the partition table in the mounted image using the tool gpart. It eventually worked, but things would have far more easier if we had a simple backup of the directories containing the important ONE data and configuration files of our cloud system. And above all, the procedure we followed to restore the machine was sketched in a situation of emergency with no warranty that it would succeed.&lt;br /&gt;
&lt;br /&gt;
= Data and configuration items to backup =&lt;br /&gt;
Here is a list of the important files/directories to backup:&lt;br /&gt;
* /var/lib/one&lt;br /&gt;
* /var/lib/mysql&lt;br /&gt;
* /etc/one&lt;br /&gt;
* /etc/my.cnf&lt;br /&gt;
* /etc/my.cnf.d&lt;br /&gt;
&lt;br /&gt;
= Procedure to restore the frontend =&lt;br /&gt;
On the standalone hypervizor, create a new VM with same hardware characteristics as the previous (mac address, disk size, memory, cpu,...). The easiest way is to copy-paste the xml of the previous. Be careful that libvirt will complain about the fact that you reuse the mac address. The solution is simple: remove the nic of the previous VM to free the mac address. Here are some commands that might be useful for this step:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
virsh list&lt;br /&gt;
virsh edit &amp;lt;machine_name&amp;gt;&lt;br /&gt;
virsh create &amp;lt;xml_description_of_vm&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Of course, you can also use the GUI &#039;&#039;&#039;virt-manager&#039;&#039;&#039; for most tasks. Be especially careful with the drivers (it should be &#039;&#039;&#039;virtio&#039;&#039;&#039; for the NIC and the drive). Also double-check that the drive and the memory have the same sizes as on the previous VM. And of course, don&#039;t reuse the disk of the previous VM, you have to create a new one (it&#039;s easy to do from the &#039;&#039;&#039;virt-manager&#039;&#039;&#039; GUI).&lt;br /&gt;
&lt;br /&gt;
Once the VM is running, you&#039;ll have to reinstall the frontend on it with Quattor and Puppet. However, the VM must initially be reinstalled with machine-type &#039;puppet_node&#039; and Puppet app set to &#039;servers&#039; and role to &#039;none&#039;. Why? Because if you directly reinstall the VM as frontend, the initization scripts that come with the ONE packages and also with Puppet will generate some new settings that might be tricky to overwrite with the backup. So to say, in the beginning of the restore process, the machine must be a vanilla one. Here is the vanilla profile used to reinstall the VM:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
object template cloud2.wn.iihe.ac.be;&lt;br /&gt;
include &#039;machine-types/puppet_node&#039;;&lt;br /&gt;
# software repositories (should be last)&lt;br /&gt;
include PKG_REPOSITORY_CONFIG;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And in the Quattor file &#039;&#039;&#039;site/puppet/database&#039;&#039;&#039;, here is the setting for the hiera &#039;&#039;&#039;app&#039;&#039;&#039; and &#039;&#039;&#039;role&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &#039;cloud2.wn.iihe.ac.be&#039;, dict(&lt;br /&gt;
        &#039;environment&#039;, &#039;prod&#039;,&lt;br /&gt;
        &#039;app&#039;, &#039;servers&#039;,&lt;br /&gt;
        &#039;role&#039;, &#039;none&#039;,&lt;br /&gt;
        &#039;cloud&#039;, &#039;cloud2&#039;,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once these changes have been pushed in Quattor repo, and before doing the aii-shellfe configure and install on the aii server, there are two things to do to avoid problems :&lt;br /&gt;
* revoke the SinDES certificate of the machine on the aii server (if you don&#039;t do that, no SinDES ACL will be created since there is already a valid certificate for the machine);&lt;br /&gt;
* revoke the Puppet certificate on the Puppet master machine.&lt;br /&gt;
&lt;br /&gt;
When the Quattor installation is finished, you have to mount the &#039;&#039;&#039;backup&#039;&#039;&#039; share on the VM, and then you restore the files and directories with the command of your taste (in my case, I just used &#039;&#039;&#039;cp -ap&#039;&#039;&#039;). Of course, it is really important to preserve the permissions and ownerships of the source files.&lt;br /&gt;
&lt;br /&gt;
With the data and configuration files being restored, it is now time to switch the VM as a good old OpenNebula frontend. Revert the profile to something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
object template cloud2.wn.iihe.ac.be;&lt;br /&gt;
include &#039;machine-types/puppet_node&#039;;&lt;br /&gt;
variable ONE_RELEASE = &#039;6.6&#039;;&lt;br /&gt;
include &#039;features/one_frontend/light_config&#039;;&lt;br /&gt;
include &#039;features/one_frontend/one6.X/sunstone_apache_ssl&#039;;&lt;br /&gt;
# software repositories (should be last)&lt;br /&gt;
include PKG_REPOSITORY_CONFIG;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and don&#039;t forget the Puppet database to generate the correct hiera description in the file &#039;&#039;&#039;/etc/puppetlabs/facter/facts.d/provisionning.yaml&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &#039;cloud2.wn.iihe.ac.be&#039;, dict(&lt;br /&gt;
        &#039;environment&#039;, &#039;prod&#039;,&lt;br /&gt;
        &#039;app&#039;, &#039;opennebula&#039;,&lt;br /&gt;
        &#039;role&#039;, &#039;frontend&#039;,&lt;br /&gt;
        &#039;cloud&#039;, &#039;cloud2&#039;,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=RestoringCloudFrontendFromBackup&amp;diff=1390</id>
		<title>RestoringCloudFrontendFromBackup</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=RestoringCloudFrontendFromBackup&amp;diff=1390"/>
		<updated>2024-07-25T13:00:40Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Procedure to restore the backup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Context =&lt;br /&gt;
In July 2024, we have lost our OpenNebula frontend VM (cloud2) after an attempt to reboot it. It was hosted on domz02, a basic QEMU/KVM standalone hypervizor managed with libvirt. The problem seemed to be that the system was not able to find the partition table in the qcow2 image. As there was no backup of the OpenNebula data and config files, the only solution to recover these things was to attach the image to a new VM and to recreate the partition table in the mounted image using the tool gpart. It eventually worked, but things would have far more easier if we had a simple backup of the directories containing the important ONE data and configuration files of our cloud system. And above all, the procedure we followed to restore the machine was sketched in a situation of emergency with no warranty that it would succeed.&lt;br /&gt;
&lt;br /&gt;
= Data and configuration items to backup =&lt;br /&gt;
Here is a list of the important files/directories to backup:&lt;br /&gt;
* /var/lib/one&lt;br /&gt;
* /var/lib/mysql&lt;br /&gt;
* /etc/one&lt;br /&gt;
* /etc/my.cnf&lt;br /&gt;
* /etc/my.cnf.d&lt;br /&gt;
&lt;br /&gt;
= Procedure to restore the backup =&lt;br /&gt;
On the standalone hypervizor, create a new VM with same hardware characteristics as the previous (mac address, disk size, memory, cpu,...). The easiest way is to copy-paste the xml of the previous. Be careful that libvirt will complain about the fact that you reuse the mac address. The solution is simple: remove the nic of the previous VM to free the mac address. Here are some commands that might be useful for this step:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
virsh list&lt;br /&gt;
virsh edit &amp;lt;machine_name&amp;gt;&lt;br /&gt;
virsh create &amp;lt;xml_description_of_vm&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Of course, you can also use the GUI &#039;&#039;&#039;virt-manager&#039;&#039;&#039; for most tasks. Be especially careful with the drivers (it should be &#039;&#039;&#039;virtio&#039;&#039;&#039; for the NIC and the drive). Also double-check that the drive and the memory have the same sizes as on the previous VM. And of course, don&#039;t reuse the disk of the previous VM, you have to create a new one (it&#039;s easy to do from the &#039;&#039;&#039;virt-manager&#039;&#039;&#039; GUI).&lt;br /&gt;
&lt;br /&gt;
Once the VM is running, you&#039;ll have to reinstall the frontend on it with Quattor and Puppet. However, the VM must initially be reinstalled with machine-type &#039;puppet_node&#039; and Puppet app set to &#039;servers&#039; and role to &#039;none&#039;. Why? Because if you directly reinstall the VM as frontend, the initization scripts that come with the ONE packages and also with Puppet will generate some new settings that might be tricky to overwrite with the backup. So to say, in the beginning of the restore process, the machine must be a vanilla one. Here is the vanilla profile used to reinstall the VM:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
object template cloud2.wn.iihe.ac.be;&lt;br /&gt;
include &#039;machine-types/puppet_node&#039;;&lt;br /&gt;
# software repositories (should be last)&lt;br /&gt;
include PKG_REPOSITORY_CONFIG;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And in the Quattor file &#039;&#039;&#039;site/puppet/database&#039;&#039;&#039;, here is the setting for the hiera &#039;&#039;&#039;app&#039;&#039;&#039; and &#039;&#039;&#039;role&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &#039;cloud2.wn.iihe.ac.be&#039;, dict(&lt;br /&gt;
        &#039;environment&#039;, &#039;prod&#039;,&lt;br /&gt;
        &#039;app&#039;, &#039;servers&#039;,&lt;br /&gt;
        &#039;role&#039;, &#039;none&#039;,&lt;br /&gt;
        &#039;cloud&#039;, &#039;cloud2&#039;,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once these changes have been pushed in Quattor repo, and before doing the aii-shellfe configure and install on the aii server, there are two things to do to avoid problems :&lt;br /&gt;
* revoke the SinDES certificate of the machine on the aii server (if you don&#039;t do that, no SinDES ACL will be created since there is already a valid certificate for the machine);&lt;br /&gt;
* revoke the Puppet certificate on the Puppet master machine.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>