Projet

Général

Profil

Scénario #24324

Bareos : une tâche ancienne encore en cours devrait générer une erreur

Ajouté par Emmanuel GARETTE il y a presque 6 ans. Mis à jour il y a plus de 4 ans.

Statut:
Terminé (Sprint)
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Début:
26/09/2019
Echéance:
11/10/2019
% réalisé:

100%

Points de scénarios:
3.0
Restant à faire (heures):
0.00 heure
Estimation basée sur la vélocité:
Release:
Liens avec la release:
Auto

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

Tâche #29022: vérifier l'espace disque disponible dans /tmp avant d'exécuter la sauvegardeFerméEmmanuel GARETTE

Tâche #29024: Si /tmp est plein, il faut pouvoir envoyer le mailFerméEmmanuel GARETTE

Tâche #29025: utiliser "Max Run Sched Time" au lieu de "Max Run Time"FerméEmmanuel GARETTE

Tâche #29035: Documenter les changementsFerméBenjamin Bohard


Demandes liées

Lié à Distribution EOLE - Tâche #29060: Validation du scénario : bareos - une tâche ancienne encore en cours devrait générer une erreur Fermé 04/10/2019

Révisions associées

Révision 31086621 (diff)
Ajouté par Emmanuel GARETTE il y a plus de 4 ans

vérifier l'espace disque disponible dans /tmp avant d'exécuter la sauvegarde (ref #24324)

Révision 916b19fe (diff)
Ajouté par Emmanuel GARETTE il y a plus de 4 ans

utilisation de Max Run Sched Time au lieu de Max Run Time (ref #24324)

Révision b0345db8 (diff)
Ajouté par Emmanuel GARETTE il y a plus de 4 ans

le répertoire temporaire de création du mail est maintenant dans le home de l'utilisateur bareos (ref #24324)

Révision 78e43c93 (diff)
Ajouté par Emmanuel GARETTE il y a plus de 4 ans

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/2018 supprimé

#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

Formats disponibles : Atom PDF