← Back to team overview

canonical-ubuntu-qa team mailing list archive

[Merge] ~andersson123/autopkgtest-cloud:reactive-cloud-fixes into autopkgtest-cloud:master

 

Tim Andersson has proposed merging ~andersson123/autopkgtest-cloud:reactive-cloud-fixes 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/477330

Couple of small bugfixes for issues I encountered on my travels (terraform config development)
-- 
Your team Canonical's Ubuntu QA is requested to review the proposed merge of ~andersson123/autopkgtest-cloud:reactive-cloud-fixes into autopkgtest-cloud:master.
diff --git a/charms/focal/autopkgtest-cloud-worker/reactive/autopkgtest_cloud_worker.py b/charms/focal/autopkgtest-cloud-worker/reactive/autopkgtest_cloud_worker.py
index 39ca0c7..159c9a8 100644
--- a/charms/focal/autopkgtest-cloud-worker/reactive/autopkgtest_cloud_worker.py
+++ b/charms/focal/autopkgtest-cloud-worker/reactive/autopkgtest_cloud_worker.py
@@ -347,12 +347,12 @@ def update_nova_rcs():
     rcs_file_path = os.path.expanduser("~ubuntu/novarcs.tar")
 
     rctar = config().get("nova-rcs")
-    b64_rctar = BytesIO(base64.b64decode(rctar))
-
     if not rctar:
         # set to the empty value
         return
 
+    b64_rctar = BytesIO(base64.b64decode(rctar))
+
     with open(rcs_file_path, "wb") as f:
         f.write(b64_rctar.getbuffer())
 
@@ -365,10 +365,11 @@ def update_nova_rcs():
 
     with tarfile.open(rcs_file_path) as tar:
         for member in tar:
-            member_name = Path(member.name)
-            rc_filepath = rc_dest / member_name.name
-            log(f"Writing file {rc_filepath}", "INFO")
-            tar.makefile(member, rc_filepath)
+            if member.isfile():
+                member_name = Path(member.name)
+                rc_filepath = rc_dest / member_name.name
+                log(f"Writing file {rc_filepath}", "INFO")
+                tar.makefile(member, rc_filepath)
 
     os.remove(rcs_file_path)
     status.maintenance("Done updating nova rc files")