Просмотр исходного кода

Adds exception subclasses for checksum verification

Claudiu Belu 2 недель назад
Родитель
Сommit
8d49cb3f9d
2 измененных файлов с 20 добавлено и 8 удалено
  1. 12 0
      coriolis/exception.py
  2. 8 8
      coriolis/providers/replicator.py

+ 12 - 0
coriolis/exception.py

@@ -529,6 +529,18 @@ class OSMorphingWinRMOperationTimeout(OSMorphingOperationTimeout):
         "in Coriolis' static configuration file.")
 
 
+class ChecksumAlgorithmMismatch(CoriolisException):
+    message = (
+        "Checksum algorithm mismatch for disk '%(disk)s': "
+        "source=%(source_alg)s, destination=%(dest_alg)s")
+
+
+class ChecksumMismatch(CoriolisException):
+    message = (
+        "Checksum mismatch for disk '%(disk)s': "
+        "source=%(source_checksum)s, destination=%(dest_checksum)s")
+
+
 class MigrationLicenceFulfilledException(Invalid):
     message = (
         "The Live Migration operation with ID '%(action_id)s' (licensing "

+ 8 - 8
coriolis/providers/replicator.py

@@ -797,16 +797,16 @@ class Replicator(object):
             return
 
         if source["algorithm"] != writer["algorithm"]:
-            raise exception.CoriolisException(
-                "Checksum algorithm mismatch for disk '%s': "
-                "source=%s, destination=%s" % (
-                    dev_name, source["algorithm"], writer["algorithm"]))
+            raise exception.ChecksumAlgorithmMismatch(
+                disk=dev_name,
+                source_alg=source["algorithm"],
+                dest_alg=writer["algorithm"])
 
         if source["checksum"] != writer["checksum"]:
-            raise exception.CoriolisException(
-                "Checksum mismatch for disk '%s': "
-                "source=%s, destination=%s" % (
-                    dev_name, source["checksum"], writer["checksum"]))
+            raise exception.ChecksumMismatch(
+                disk=dev_name,
+                source_checksum=source["checksum"],
+                dest_checksum=writer["checksum"])
 
         self._event_manager.progress_update(
             "Disk integrity verified for /dev/%s (checksum: %s)" % (