# The role of this script is to measure the size of the directories in $SHARED_DISK_ROOT and send an e-mail to $DEST_EMAIL if its fullness goes beyond $FULLNESS_THRESHOLD
# see https://bugzilla.ipr.univ-rennes1.fr/show_bug.cgi?id=3193 for details
html_content="${html_content}<p>This is an automatic message, please don't reply.</p>\n"
html_content="${html_content}<p>The shared disk <code>${disk_public_path}</code> (${disk_size_in_gb} Gb) is $disk_fullness%% full. As a full disk will cause the jobs to unnecessarily fail, it's urgent to do some cleanup especially for the top biggest users:</p>\n"
html_content="${html_content}<table>\n"
html_content="${html_content}<th>rank</th><th>used size (in Mb)</th><th>owner</th><th>folder</th>\n"
html_content="${html_content}<p>This message is automatically sent daily to all cluster users until the disk usage goes below ${fullness_threshold}%%. So if you're wondering \"All this is good, but can I do something to avoid this annoying message?\", then you'll probably be happy to hear that the answer is yes:</p>\n"
html_content="${html_content}<ul>\n"
html_content="${html_content}<li>if your name is not on the list above, then you can go and harrass a random user that is in the list;\n</li>\n"
html_content="${html_content}<li>if your name is high on the list above, then you'd better do a cleanup of your files before the other cluster users find you! 😉\n</li>\n"
html_content="${html_content}</ul>\n"
html_content="${html_content}Reminder (cf <a href=http://intranet.ipr.univ-rennes1.fr/simpaweb/cluster/PhysixUserGuide>IPR cluster user guide</a>): the disk <code>${disk_public_path}</code> is not intended to be used for archiving (it's not even backed up!); it's a workspace whose purpose is to temporarily store the data required to make the jobs work. Except in some special use cases (eg reuse the output data as input for future jobs), the users are expected to transfer or delete the output files on <code>${disk_public_path}</code> once their job has ended.\n"
html_content="${html_content}<p>The cluster user committee decided not to put quotas per user on <code>${disk_public_path}</code> because it would result in significantly less disk space per user and less flexibility. However, using this shared disk without quotas can only work if all users act in a responsible manner, cleaning up their own data after usage. Please make this work, it's in the interest of all users, including you. If you think the size of <code>${disk_public_path}</code> is too small for your needs, please contact the cluster administrators.</p>\n"
html_content="${html_content}<p>Thank you for your understanding</p>\n"
html_content="${html_content}<p>Ceci est un message automatique, ne pas répondre svp.</p>\n"
html_content="${html_content}<p>Le disque partagé <code>${disk_public_path}</code> (${disk_size_in_gb} Gb) est plein $disk_fullness%%. Etant donné qu'un disque plein fait échouer les jobs et que cela peut être évité, il est urgent de procéder à un nettoyage, surtout pour les plus gros consommateurs:</p>\n"
html_content="${html_content}<table>\n"
html_content="${html_content}<th>rang</th><th>espace occupé (en Mb)</th><th>propriétaire</th><th>dossier</th>\n"
html_content="${html_content}<p>Ce message est quotidiennement et automatiquement envoyé à tous les utilisateurs du cluster, jusqu'à ce que le taux de remplissage du disque retombe en dessous de ${fullness_threshold}%%. Si vous vous demandez \"c'est très bien tout ça, mais qu'est-ce que je peux y faire ?\", voici quelques éléments de réponse:</p>\n"
html_content="${html_content}<ul>\n"
html_content="${html_content}<li>si votre nom ne figure pas dans la liste ci-dessus, vous avez toujours la possibilité d'aller harceler un utilisateur dont le nom y figure;\n</li>\n"
html_content="${html_content}<li>si votre nom figure dans la liste, il vous est chaudement recommandé de procéder à un nettoyage de vos fichiers avant que les autres utilisateurs ne vous trouvent! 😉\n</li>\n"
html_content="${html_content}</ul>\n"
html_content="${html_content}Pour rappel (cf <a href=http://intranet.ipr.univ-rennes1.fr/simpaweb/cluster/PhysixUserGuide>guide d'utilisation du cluster IPR</a>), le disque <code>${disk_public_path}</code> n'a pas vocation à servir pour de l'archivage (il n'est d'ailleurs pas sauvegardé!); c'est un espace de travail don't le rôle est de stocker temporairement les données nécéssaires à vos jobs. Sauf exception (par exemple, réutilisation des données de sortie pour des jobs futurs), les utilisteurs sont censés rapatrier ou effacer leurs données une fois leurs jobs terminés.\n"
html_content="${html_content}<p>Le comité des utilisateurs du cluster n'a pas opté pour la mise en place de quotas sur <code>${disk_public_path}</code>, jugeant que non seulement cela affecterait la flexibilité, mais que les utilisateurs auraient au final moins d'espace disponible en pratique. Cependant, l'utilisation de ce disque partagé sans quotas ne peut fonctionner que si tout le monde joue le jeu et agit de façon responsable, en nettoyant ses données après utilisation. Svp faites en sorte que l'on puisse continuer de fonctionner ainsi, dans l'intérêt de tous. Si vous estimez que la taille du disque <code>${disk_public_path}</code> est trop petite pour vos besoins, n'hésitez pas à contacter les administrateurs du cluster.</p>\n"
html_content="${html_content}<small>disk-watchdog.ipr.univ-rennes1.fr v1.0 - triggered from $(hostname --fqdn) by : $(whoami) (${trigger_reason}) on ${trigger_date}</small>"