Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
M
mpsd-software-manager
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
MPSD Computational Science
mpsd-software-manager
Merge requests
!29
Restructure log location
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Restructure log location
restructure-log-location
into
main
Overview
2
Commits
48
Pipelines
20
Changes
1
Merged
Ashwin Kumar Karnad
requested to merge
restructure-log-location
into
main
1 year ago
Overview
2
Commits
48
Pipelines
20
Changes
1
Expand
Resolves
#7 (closed)
0
0
Merge request reports
Viewing commit
d00a2826
Prev
Next
Show latest version
1 file
+
61
−
2
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
d00a2826
create create_log_file_names function
· d00a2826
Ashwin Kumar Karnad
authored
1 year ago
mpsd-software-environment.py
+
61
−
2
Options
@@ -12,6 +12,7 @@ import time
from
pathlib
import
Path
from
typing
import
List
,
Tuple
,
Union
import
re
from
string
import
Template
# If 'rich' is available ("pip install rich" or "apt-get install python3-rich"),
# then use coloured output, otherwise proceed as before
@@ -36,15 +37,73 @@ config_vars = {
# kept inside the mpsd_release folder
"
cmd_log_file
"
:
"
install.log
"
,
# 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
"
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_close
"
:
"
</meta>!
"
,
"
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
:
"""
Log metadata to the log file.
Loading