Scénario #24324
Bareos : une tâche ancienne encore en cours devrait générer une erreur
100%
Description
Demande originale¶
Sur un serveur, la sauvegarde s'en lancé à un moment ou /tmp était plein.
Cela a généré un erreur :
2018-05-22T22:00:06.866734+02:00 scribe.colysepedago.lan bareos-dir: scribe-dir JobId 1208: Fatal error: Client "" RunScript failed. 2018-05-22T22:00:06.910038+02:00 scribe.colysepedago.lan bareos-dir: scribe-dir JobId 1208: Fatal error: sql_get.c:380 sql_get.c:380 query SELECT VolumeName,MAX(VolIndex) FROM JobMedia,Media WHERE JobMedia.JobId=1208 AND JobMedia.MediaId=Media.MediaId GROUP BY VolumeName ORDER BY 2 ASC failed: 2018-05-22T22:00:06.910042+02:00 scribe.colysepedago.lan bareos-dir: Got error 28 from storage engine
aucun mail n'est parti (a cause du problème de place ... ballot) :
2018-05-22T22:00:06.866734+02:00 scribe.colysepedago.lan bareos-dir: scribe-dir JobId 1208: Fatal error: Client "" RunScript failed. 2018-05-22T22:00:06.910038+02:00 scribe.colysepedago.lan bareos-dir: scribe-dir JobId 1208: Fatal error: sql_get.c:380 sql_get.c:380 query SELECT VolumeName,MAX(VolIndex) FROM JobMedia,Media WHERE JobMedia.JobId=1208 AND JobMedia.MediaId=Media.MediaId GROUP BY VolumeName ORDER BY 2 ASC failed: 2018-05-22T22:00:06.910042+02:00 scribe.colysepedago.lan bareos-dir: Got error 28 from storage engine
La sauvegarde se retrouve bloqué mais encore en cours. Les autres tâches s'empile donc derrière sans jamais se faire.
Aujourd'hui on défini bien " Max Run Time = <time> ", mais comme la tâche n'est pas démarré, elle n'est jamais annulé automatiquement.
Je propose qu'on puisse maintenant définir également " Max Start Delay = <time> " et/ou " Max Run Sched Time = <time> ". Voir http://doc.bareos.org/master/html/bareos-manual-main-reference.html#directiveDirJobMax%20Run%20Time pour les explications.
Solutions à mettre en œuvre¶
- A faire en 2.7.1
- Vérifier que le répertoire /tmp a un minimum d'espace (1Mo ?)
- Définir un "Max Start Delay = 43200" et "Max Run Sched Time = 86000" (sans variable Creole dans un premier temps)
Critères d'acceptation¶
- Crée les mêmes conditions d'erreur, vérifier que les Job sont bien annulés automatiquement au bout des délai. (pour la démo, nous pouvons utiliser des durées inférieures ...)
- Vérifier que le mail est bien émis
- Dans diagnose, la sauvegarde doit être en erreur.
Sous-tâches
Demandes liées
Révisions associées
vérifier l'espace disque disponible dans /tmp avant d'exécuter la sauvegarde (ref #24324)
utilisation de Max Run Sched Time au lieu de Max Run Time (ref #24324)
le répertoire temporaire de création du mail est maintenant dans le home de l'utilisateur bareos (ref #24324)
le répertoire temporaire de création du mail est maintenant dans le home de l'utilisateur bareos (ref #24324)
Historique
#1 Mis à jour par Gilles Grandgérard il y a environ 5 ans
- Tracker changé de Demande à Scénario
- Projet changé de Distribution EOLE à eole-bareos
- Début
24/06/2018supprimé
#2 Mis à jour par Gilles Grandgérard il y a plus de 4 ans
- Release mis à Carnet de produit (Cadoles)
#3 Mis à jour par Joël Cuissinat il y a plus de 4 ans
- Points de scénarios mis à 2.0
#4 Mis à jour par Gilles Grandgérard il y a plus de 4 ans
- Description mis à jour (diff)
- Points de scénarios changé de 2.0 à 3.0
#5 Mis à jour par Joël Cuissinat il y a plus de 4 ans
- Echéance mis à 11/10/2019
- Version cible mis à Prestation Cadoles 39-41
- Début mis à 23/09/2019
#6 Mis à jour par Emmanuel GARETTE il y a plus de 4 ans
Si je reprends le schéma suivant : https://www.bacula.org/5.2.x-manuals/en/main/main/img24.png
Il y a incohérence entre la valeur proposée de "Max Run Sched Time" et la valeur par défaut de "Max Run Time". Je propose d'utiliser la variable utilisé par Max Run Time pour remplir la variable Max Run Sched Time.
Dans ce cas, je ne vois pas l'utilité de mettre en dure la valeur de "Max Start Delay".
#7 Mis à jour par Emmanuel GARETTE il y a plus de 4 ans
Si je met un valeur courte pour bareos_max_run_time, j'ai bien :
23-sept. 15:22 scribe-dir JobId 36: Fatal error: Max run sched time exceeded. Job canceled.
Un mail d'erreur est bien envoyé :
From: bareos <fromuser@ac-test.fr> To: egarette2@cadoles.com Subject: Canceled : 00000001 sauvegarde "JobSauvegarde"
Si /tmp est plein j'ai bien un mail d'erreur :
23-sept. 16:12 scribe-dir JobId 61: shell command: run BeforeJob "sudo /usr/share/eole/sbin/bareosconfig.py --lock --daemon=scribe-dir --jobID=61 --backup_progress --jobType=catalogue" 23-sept. 16:12 scribe-dir JobId 61: BeforeJob: Erreur au test de montage : Espace disponible dans /tmp trop juste 23-sept. 16:12 scribe-dir JobId 61: Error: Runscript: BeforeJob returned non-zero status=1. ERR=Child exited with code 1
Par contre si ~bareos est plein, il n'y aura pas de notification.
#8 Mis à jour par Daniel Dehennin il y a plus de 4 ans
- Lié à Tâche #29060: Validation du scénario : bareos - une tâche ancienne encore en cours devrait générer une erreur ajouté
#9 Mis à jour par Laurent Flori il y a plus de 4 ans
- Statut changé de Nouveau à Terminé (Sprint)
#10 Mis à jour par Joël Cuissinat il y a plus de 4 ans
- Release changé de Carnet de produit (Cadoles) à EOLE 2.7.1.2