← Back to team overview

canonical-ubuntu-qa team mailing list archive

[Merge] ~andersson123/autopkgtest-cloud:db-backup-add-checksum-to-filename into autopkgtest-cloud:master

 

Tim Andersson has proposed merging ~andersson123/autopkgtest-cloud:db-backup-add-checksum-to-filename into autopkgtest-cloud:master.

Requested reviews:
  Canonical's Ubuntu QA (canonical-ubuntu-qa)

For more details, see:
https://code.launchpad.net/~andersson123/autopkgtest-cloud/+git/autopkgtest-cloud/+merge/462687
-- 
Your team Canonical's Ubuntu QA is requested to review the proposed merge of ~andersson123/autopkgtest-cloud:db-backup-add-checksum-to-filename into autopkgtest-cloud:master.
diff --git a/charms/focal/autopkgtest-web/webcontrol/db-backup b/charms/focal/autopkgtest-web/webcontrol/db-backup
index 4ca6a20..259c561 100755
--- a/charms/focal/autopkgtest-web/webcontrol/db-backup
+++ b/charms/focal/autopkgtest-web/webcontrol/db-backup
@@ -12,6 +12,7 @@ import logging
 import os
 import shutil
 import sqlite3
+import hashlib
 import sys
 from pathlib import Path
 
@@ -96,6 +97,12 @@ def create_container_if_it_doesnt_exist(swift_conn: swiftclient.Connection):
         )
 
 
+def get_db_backup_checksum():
+    with open("%s.gz" % DB_BACKUP_PATH, "rb") as bkp_f:
+        md5 = hashlib.md5(bkp_f.read()).hexdigest()
+    return md5
+
+
 def upload_backup_to_db(
     swift_conn: swiftclient.Connection,
 ) -> swiftclient.Connection:
@@ -103,7 +110,8 @@ def upload_backup_to_db(
     Upload compressed database to swift storage under container db-backups
     """
     now = datetime.datetime.utcnow().strftime("%Y/%m/%d/%H_%M_%S")
-    object_path = "%s/%s" % (now, DB_PATH.name + ".gz")
+    checksum = get_db_backup_checksum()
+    object_path = "%s/%s/%s" % (now, checksum, DB_PATH.name + ".gz")
     for retry in range(SWIFT_RETRIES):
         try:
             swift_conn.put_object(

Follow ups