Projet

Général

Profil

Tâche #34468

Scénario #34467: EOLE 2.9 : Modifications de comportement étranges avec Bareos

scribe-fd ou scribe_fd

Ajouté par Joël Cuissinat il y a plus de 3 ans. Mis à jour il y a plus de 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
23/08/2022
Echéance:
% réalisé:

100%

Restant à faire (heures):
0.0

Description

Reproduction simplifiée avec aca.scribe-2.9.0a-instance-default :
  • bareosconfig.py -s manual
  • bareosconfig.py -n --level=Full
  • attente du résulat
    bconsole -c /etc/bareos/bconsole.conf <<EOD
    @output /dev/null
    messages
    @output
    status dir
    quit
    EOD
    
  • Recherche d'un fichier
    root@scribe:~# bareosrestore.py --search Administration.url
    Recherche dans la sauvegarde
    Erreur à la recherche du fichier : ['Administration.url']
    Le retour de la commande bconsole : Connecting to Director 127.0.0.1:9101
     Encryption: TLS_CHACHA20_POLY1305_SHA256 TLSv1.3
    1000 OK: scribe-dir Version: 20.0.0 (16 December 2020)
    bareos.org build binary
    bareos.org binaries are UNSUPPORTED by bareos.com.
    Get official binaries and vendor support on https://www.bareos.com
    You are connected using the default console
    
    Enter a period (.) to cancel a command.
    restore FileSet=FileSetSauvegarde Client=scribe-fd select current yes 
    Automatically selected Catalog: MyCatalog
    Using Catalog "MyCatalog" 
    Could not find Client "scribe-fd": ERR=Client record not found in Catalog.
    Defined Clients:
         1: bareos-fd
         2: scribe_fd
    Select the Client (1-2): @output
    find Administration.url
    Expected a positive integer, got: find Administration.url
    Select the Client (1-2): 
    

Si je modifie '-fd' en '_fd' à la ligne 151 du fichier /usr/lib/python3/dist-packages/pyeole/bareosrestore.py, j'obtiens le résultat attendu mais c'est pas normal...

root@scribe:/usr/lib/python3/dist-packages/pyeole# bareosrestore.py --search Administration.url
Recherche dans la sauvegarde
/home/workgroups/professeurs/Administration.url
/home/adhomes/admin/perso/Administration.url

Révisions associées

Révision 61a32ee9 (diff)
Ajouté par Joël Cuissinat il y a plus de 3 ans

run-bareos-restaure-complete.sh : hack temporaire pour 2.9.0 (ref: #34468)

Révision 1542bf49 (diff)
Ajouté par Benjamin Bohard il y a plus de 3 ans

Utiliser la variable existante plutôt que de reconstruire la valeur.

Ref #34468

Révision 8971a627 (diff)
Ajouté par Joël Cuissinat il y a plus de 3 ans

Revert "run-bareos-restaure-complete.sh : hack temporaire pour 2.9.0 (ref: #34468)"

This reverts commit 61a32ee9b72f8fe175e062df4f5309009024ba9e.

Historique

#1 Mis à jour par Joël Cuissinat il y a plus de 3 ans

  • Copié vers Tâche #34469: EOLE2.9 : bareos JobBytes ou result ajouté

#2 Mis à jour par Joël Cuissinat il y a plus de 3 ans

Ce "soucis" impacte directement la procédure de restauration puisque ce code est notamment utilisé pour la restauration de la base de données postgresql :

bareosrestore.py --postgresql

Restauration postgressql
Erreur lors de la récupération du catalogue

Je vais injecter un hack dans les tests Jenkins le temps que la lumière soit faite sur cette affaire ;)

#3 Mis à jour par Gilles Grandgérard il y a plus de 3 ans

  • Tâche parente #34467 supprimé

#4 Mis à jour par Gilles Grandgérard il y a plus de 3 ans

  • Tracker changé de Tâche à Scénario
  • Début 19/07/2022 supprimé
  • Release mis à Carnet de produit Cadoles - MEN
  • Points de scénarios mis à 1.0

#5 Mis à jour par Gilles Grandgérard il y a plus de 3 ans

  • Tracker changé de Scénario à Tâche

#6 Mis à jour par Gilles Grandgérard il y a plus de 3 ans

  • Tâche parente mis à #34467

#7 Mis à jour par Joël Cuissinat il y a plus de 3 ans

  • Copié vers Tâche #34469: EOLE2.9 : bareos JobBytes ou result supprimé

#8 Mis à jour par Benjamin Bohard il y a plus de 3 ans

Dans le dictionnaire 23_bareos.xml, on pré-remplit le nom du service de fichier bareos avec nom_machine + _fd (changement de cette dernière partie de -fd à _fd en raison du fonctionnement du code python de l’ead3 : le nom doit être un nom de variable python valide). Par contre, le changement n’a pas été répercuté dans le code de pyeole.bareosrestore. Le nom du serveur de fichier y est construit de son côté, indépendamment de la valeur de la variable bareos_fd_name.

Le changement dans le dictionnaire est présent depuis la version 2.7.0. Il faut envisager de corriger pyeole.bareosrestore à partir de 2.7.2 en utilisant la variable bareos_fd_name plutôt qu’en construisant à partir de nom_machine et de -fd

#9 Mis à jour par Benjamin Bohard il y a plus de 3 ans

  • Statut changé de Nouveau à En cours
  • Début mis à 23/08/2022

#10 Mis à jour par Benjamin Bohard il y a plus de 3 ans

  • Assigné à mis à Benjamin Bohard

#11 Mis à jour par Benjamin Bohard il y a plus de 3 ans

Le code est incohérent pour les versions antérieures à 2.9 mais il est possible qu’un changement de comportement de bareos ne le rende problématique que sur les versions récentes.

En 2.8.1, la commande passée à bconsole se dispense du paramètre Client alors qu’elle semble nécessaire en 2.9. À moins qu’autre chose dans l’environnement d’exécution court-circuite ce choix du client en 2.8.1.

En 2.8.1, donc :

restore FileSet=FileSetSauvegarde Client=bareos-fd select current yes
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog" 
Could not find Client "bareos-fd": ERR=Client record not found in Catalog.
Automatically selected Client: scribe_fd

En 2.9.0 :

restore FileSet=FileSetSauvegarde Client=scribe-fd select current yes
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog" 
Could not find Client "scribe-fd": ERR=Client record not found in Catalog.
Defined Clients:
     1: bareos-fd
     2: scribe_fd
Select the Client (1-2):

#12 Mis à jour par Benjamin Bohard il y a plus de 3 ans

  • Statut changé de En cours à À valider
  • % réalisé changé de 0 à 100

#13 Mis à jour par Ludwig Seys il y a plus de 3 ans

  • Statut changé de À valider à Résolu

#14 Mis à jour par Joël Cuissinat il y a plus de 3 ans

  • Statut changé de Résolu à Fermé
  • Restant à faire (heures) mis à 0.0

C'est fonctionnel et les tests sont toujours verts sans le hack ;)

Formats disponibles : Atom PDF