From 3745a2fa3dd3662a3ccfdc5bd97c7dd18899abe0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20=C5=98ezn=C3=AD=C4=8Dek?=
 <246254@mail.muni.cz>
Date: Fri, 24 May 2024 10:28:59 +0200
Subject: [PATCH] feat: add possibility to guide user how to resolve asserted
 issue

---
 ci/lib.py  | 4 ++--
 ci/olib.py | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/ci/lib.py b/ci/lib.py
index 6b7face..c6efd53 100644
--- a/ci/lib.py
+++ b/ci/lib.py
@@ -206,12 +206,12 @@ def assert_entity_ownership(entities, project):
 
 
 
-def log_or_assert(args, msg, condition, trace_details=None):
+def log_or_assert(args, msg, condition, trace_details=None, msg_guidance=''):
     """ log, assert, dump state """
     if not condition:
         with open(args.exception_trace_file, "w", encoding="utf-8") as file:
             file.write(f"{msg}\n{pprint.pformat(trace_details)}\n\n{locals()}\n")
-    assert condition, msg
+    assert condition, "\n".join([msg, msg_guidance]) if msg_guidance else msg
     args.logger.info(msg)
 
 
diff --git a/ci/olib.py b/ci/olib.py
index 4e44343..d365a3a 100644
--- a/ci/olib.py
+++ b/ci/olib.py
@@ -246,10 +246,10 @@ def get_or_create_dst_server_keypair(args, source_keypairs, src_server, dst_osta
                                                src_server.key_name,
                                                src_server.user_id)
     log_or_assert(args,
-                  f"F.7 Source OpenStack server keypair found ({src_server.key_name}). " \
-                  "Current source OpenStack cloud keypair dump is outdated already and does not contain mentioned keypair. " \
-                  "Re-dump source OpenStack keypairs to ceph migrator server node and retry migration.",
-                  source_server_keypair)
+                  f"F.7 Source OpenStack server keypair found ({src_server.key_name}).",
+                  source_server_keypair,
+                  msg_guidance="Current source OpenStack cloud keypair dump is outdated already and does not contain mentioned keypair." \
+                               "Re-dump source OpenStack keypairs to ceph migrator server node and retry migration.")
 
     destination_server_keypair = None
     if destination_server_keypairs := [i_keypair for i_keypair in dst_ostack_conn.list_keypairs()
-- 
GitLab