Skip to content

Commit

Permalink
improved logging info, also remmoved some useless prints
Browse files Browse the repository at this point in the history
  • Loading branch information
joseEnrique committed Jan 29, 2025
1 parent 5896c0b commit 899b7bf
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 28 deletions.
54 changes: 29 additions & 25 deletions quix_install_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,32 @@ def generate_configmap(logs, configmap_name='quix-manager-log-configmap', namesp
}
return configmap

def setup_logging(verbose: bool):
# Define the log format
log_format = '# %(asctime)s - %(name)s - %(levelname)s - %(message)s'
# Create an in-memory stream to capture logs
log_stream = io.StringIO()

# Configure logger for both stdout and in-memory logging
logger = logging.getLogger('quix-manager')
logger.propagate = False # Prevent log messages from propagating to the root logger

if not logger.hasHandlers():
# Handler for logging to stdout
console_handler = logging.StreamHandler()
console_handler.setFormatter(logging.Formatter(log_format))
logger.addHandler(console_handler)

# Handler for capturing logs in memory
memory_handler = logging.StreamHandler(log_stream)
memory_handler.setFormatter(logging.Formatter(log_format))
logger.addHandler(memory_handler)

# Set log level based on verbosity
logger.setLevel(logging.DEBUG if verbose else logging.INFO)

return logger, log_stream



if __name__ == "__main__":
Expand All @@ -33,39 +59,17 @@ def generate_configmap(logs, configmap_name='quix-manager-log-configmap', namesp
parser.add_argument('--logs-as-config', action='store_true', help='Write in the stdout a configmap with all logs happened. This is essentially for argocd')


# Set up logging
log_format = '# %(levelname)s: %(message)s'

# Create an in-memory stream to capture logs
log_stream = io.StringIO()

# Configure logger for both stdout and in-memory logging
logger = logging.getLogger('helm_logger')

# Get the args from command
args, _ = parser.parse_known_args()
# Avoid adding duplicate handlers in case the script runs multiple times
if not logger.hasHandlers():
# Handler for logging to stdout
console_handler = logging.StreamHandler()
console_handler.setFormatter(logging.Formatter(log_format))
logger.addHandler(console_handler)

# Handler for capturing logs in memory
memory_handler = logging.StreamHandler(log_stream)
memory_handler.setFormatter(logging.Formatter(log_format))
logger.addHandler(memory_handler)

if args.verbose:
logger.setLevel(logging.DEBUG)
else:
logger.setLevel(logging.INFO)
# Set up logging
logger, log_stream = setup_logging(args.verbose)

logger.info("Starting Helm command execution")
# Log some initial info
helm_manager = HelmManager(args)
helm_manager.run()
if args.logs_as_config:

# Retrieve the logs f rom the in-memory log stream
log_contents = log_stream.getvalue()

Expand Down
6 changes: 3 additions & 3 deletions src/helm_manager.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import os, sys, shutil, subprocess, yaml, tarfile,logging
from argparse import Namespace

logging = logging.getLogger('helm_logger')
logging = logging.getLogger('quix-manager')

class HelmManager:
def __init__(self, args: Namespace = None):
Expand Down Expand Up @@ -183,7 +183,6 @@ def _template_with_merged_values(self):
if self.namespace:
list_args.extend(["--namespace", self.namespace])
result = self._run_helm_with_args(list_args)
print(result.stdout.decode('utf-8'))

def run(self):
"""
Expand Down Expand Up @@ -218,10 +217,11 @@ def run(self):
sys.exit(1)
else:
status = self._get_release_status()
print (status)
if status.get('STATUS') == 'pending-upgrade':
logging.debug(f"Release {self.release_name} is in pending-upgrade status.")
revision = str(int(status.get('REVISION'))-1)
self._rollback(revision)
logging.debug(f"Release {self.release_name} has been rolled back and running the upgrade.")
self.run()
else:
logging.error(f"Release {self.release_name} does not exist. You need to install it first.")
Expand Down

0 comments on commit 899b7bf

Please sign in to comment.