Skip to content
Snippets Groups Projects
Commit d00a2826 authored by Ashwin Kumar Karnad's avatar Ashwin Kumar Karnad
Browse files

create create_log_file_names function

parent dc6d0275
No related branches found
No related tags found
1 merge request!29Restructure log location
...@@ -12,6 +12,7 @@ import time ...@@ -12,6 +12,7 @@ import time
from pathlib import Path from pathlib import Path
from typing import List, Tuple, Union from typing import List, Tuple, Union
import re import re
from string import Template
# If 'rich' is available ("pip install rich" or "apt-get install python3-rich"), # If 'rich' is available ("pip install rich" or "apt-get install python3-rich"),
# then use coloured output, otherwise proceed as before # then use coloured output, otherwise proceed as before
...@@ -36,15 +37,73 @@ config_vars = { ...@@ -36,15 +37,73 @@ config_vars = {
# kept inside the mpsd_release folder # kept inside the mpsd_release folder
"cmd_log_file": "install.log", "cmd_log_file": "install.log",
# Placeholder installer log file name, placed at mpsd_microarch/logs # Placeholder installer log file name, placed at mpsd_microarch/logs
"installer_log_file": f"mpsdrelease_microarch_{call_date_iso}_cmd.log", "installer_log_template": Template(
"${mpsd_release}_${mpsd_microarch}_${date}_{action}.log"
),
# Placeholder build log file name, placed at mpsd_microarch/logs # Placeholder build log file name, placed at mpsd_microarch/logs
"build_log_file": f"mpsdrelease_microarch_{call_date_iso}_specifictoolchain_install.log", "build_log_template": Template(
"${mpsd_release}_${mpsd_microarch}_${date}_${toolchain}_{action}.log"
),
"metadata_tag_open": "!<meta>", "metadata_tag_open": "!<meta>",
"metadata_tag_close": "</meta>!", "metadata_tag_close": "</meta>!",
"spack_environments_repo": "https://gitlab.gwdg.de/mpsd-cs/spack-environments.git", "spack_environments_repo": "https://gitlab.gwdg.de/mpsd-cs/spack-environments.git",
} }
def create_log_file_names(
mpsd_release: str,
mpsd_microarch: str,
action: str,
date: str = call_date_iso,
toolchain: str = None,
) -> Tuple[str, str]:
"""Create log file names.
This function creates the log file names for the installer and
the build log files.
The installer log file is created
from the output of this script except
the toolchain build log that is handled by the spack_setup.sh script.
The build log `tee`'s the output of the spack_setup.sh script to the log file.
The log file names are created using the
template strings defined in config_vars.
Parameters
----------
mpsd_release : str
MPSD software stack version
mpsd_microarch : str
system architecture
date : str
date of the call ins iso format
action : str
action performed (install,remove,reinstall,prepare,status)
only install and remove are valid for build log file.
toolchain : str
toolchain name (only for build log file)
returns : tuple
tuple containing the strings of installer and build log file names
"""
installer_log_file = config_vars["installer_log_template"].substitute(
mpsd_release=mpsd_release,
mpsd_microarch=mpsd_microarch,
date=date,
action=action,
)
if toolchain and action in ["install", "remove"]:
build_log_file = config_vars["build_log_template"].substitute(
mpsd_release=mpsd_release,
mpsd_microarch=mpsd_microarch,
date=date,
action=action,
toolchain=toolchain,
)
else:
build_log_file = None
logging.warning("Incorrect action or toolchain name.")
return installer_log_file, build_log_file
def log_metadata(key: str, value: str) -> None: def log_metadata(key: str, value: str) -> None:
"""Log metadata to the log file. """Log metadata to the log file.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment