From d4d74e6f6f59e3c3389f8dd272f318d4ab4723bb Mon Sep 17 00:00:00 2001 From: Grant Date: Wed, 2 Oct 2024 13:24:30 -0500 Subject: [PATCH] use `pod_log` in `grep_logs` Also, use BITCOINCORE_CONTAINER constant. --- src/warnet/bitcoin.py | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/src/warnet/bitcoin.py b/src/warnet/bitcoin.py index 8ac3863f6..6d9969a54 100644 --- a/src/warnet/bitcoin.py +++ b/src/warnet/bitcoin.py @@ -10,7 +10,7 @@ from urllib3.exceptions import MaxRetryError from .constants import BITCOINCORE_CONTAINER -from .k8s import get_default_namespace, get_mission +from .k8s import get_default_namespace, get_mission, pod_log from .process import run_command @@ -79,25 +79,18 @@ def grep_logs(pattern: str, show_k8s_timestamps: bool, no_sort: bool): for tank in tanks: pod_name = tank.metadata.name - # Get container names for this pod - containers = tank.spec.containers - if not containers: - continue - - # Use the first container name - container_name = containers[0].name - if not container_name: - continue - - # Get logs from the specific container - command = f"kubectl logs {pod_name} -c {container_name} --timestamps" - logs = run_command(command) + logs = pod_log(pod_name, BITCOINCORE_CONTAINER) if logs is not False: - # Process logs - for log_entry in logs.splitlines(): - if re.search(pattern, log_entry): - matching_logs.append((log_entry, pod_name)) + try: + for line in logs: + log_entry = line.decode("utf-8").rstrip() + if re.search(pattern, log_entry): + matching_logs.append((log_entry, pod_name)) + except Exception as e: + print(e) + except KeyboardInterrupt: + print("Interrupted streaming log!") # Sort logs if needed if not no_sort: