Project

General

Profile

Tâche #30452

Scénario #30421: La restauration doit être fonctionnelle en 2.8.0

Étude du problème

Added by Benjamin Bohard almost 4 years ago. Updated over 3 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
07/20/2020
Due date:
% Done:

100%

Estimated time:
0.00 h
Remaining (hours):
0.0

History

#1 Updated by Benjamin Bohard almost 4 years ago

Les plugins de restauration sont chargés puis recherchés dans le dictionnaire sys.modules.
Un changement récent avait été effectué pour changer la clé de recherche. La nouvelle clé ne correspond toutefois plus à ce qui est dans le dictionnaire.
Le script de restauration ne déclenche plus d’erreur si l’ancienne clé est utilisée.
Voir les implications de ce retour en arrière.

diff --git a/scripts/bareosrestore.py b/scripts/bareosrestore.py
index 111a801..a1db388 100644
--- a/scripts/bareosrestore.py
+++ b/scripts/bareosrestore.py
@@ -52,7 +52,7 @@ def add_options(option_names):
     descr.append(option)
     list_bareos = list_bareos_restore()
     for name in option_names:
-        func = sys.modules[name]
+        func = sys.modules['restore.' + name]
         jobid = list_bareos.index(name)+1
         option = Option(name, func.__doc__, jobid)
         setattr(option, 'callback', func.execute)
@@ -68,7 +68,7 @@ def opt_all(option, opt_str, value, parser, fake_jobid):
     list_bareos = list_bareos_restore()
     #gestion des priorites lors de l'appel du module
     for plug in plug_options:
-        func = sys.modules[plug]
+        func = sys.modules['restore.' + plug]
         jobid = list_bareos.index(plug)+1
         if not dir(func).__contains__('priority'):
             print("need priority for {0}".format(str(func)))

#2 Updated by Benjamin Bohard almost 4 years ago

  • Status changed from Nouveau to En cours

#3 Updated by Benjamin Bohard almost 4 years ago

Également nécessaire :

@@ -76,7 +76,7 @@ def opt_all(option, opt_str, value, parser, fake_jobid):
         if func.priority != 0:
             plug_options_ordered.append((func.priority, func.execute, jobid))

-    plug_options_ordered = sorted(plug_options_ordered)
+    plug_options_ordered = sorted(plug_options_ordered, key=lambda option: option[0])
     for plug in plug_options_ordered:
         plug[1](option, opt_str, value, parser, plug[2], False)
         print()

#4 Updated by Benjamin Bohard almost 4 years ago

Les quotas ainsi que l’entrée ldap ne semblent pas correctement restaurés. Les changements n’avaient pas été effectués

python -c "from fichier.quota import get_quota;print get_quota('admin')" 
0

ldapsearch -x uid=admin loginShell | grep ^loginShell
loginShell: /bin/false

#5 Updated by Benjamin Bohard almost 4 years ago

  • Status changed from En cours to Résolu

#6 Updated by Fabrice Barconnière over 3 years ago

  • Status changed from Résolu to Fermé
  • Remaining (hours) set to 0.0

#7 Updated by Joël Cuissinat over 3 years ago

  • % Done changed from 0 to 100
  • Estimated time set to 0.00 h

Also available in: Atom PDF