The sams-software-updater is run on the collecting machine and updates the software information in the database.
If not options are provided to the software updater the database will be updated based on the updater module rules.
The software updater contains of two parts. The updater and the backend.
This module converts the path used in for the software into software information.
This plugin shows and updates software information from the backend.
Usage information
Path to configuration file.
Default: /etc/sams/sams-software-extractor.yaml
Do a dry run
Reset the path of to be able to update the path.
uses GLOB to update multiple paths.
Show software information about the .
uses GLOB to show multiple paths.
Show all the paths.
Same as --show-path=%
Show paths that are undetermined.
Testing the path against the backend without updating anything.
Core options of SAMS software updater.
Name of the plugin that shows and updates software information.
Name of the plugin that converts paths into software.
---
sams.software-updater:
loglevel: ERROR
backend: sams.backend.SoftwareAccounting
updater: sams.software.Regexp
sams.backend.SoftwareAccounting:
file_pattern: 'sa-\d+.db'
db_path: /data/softwareaccounting/db
sams.software.Regexp:
rules:
- match: '^/usr/'
software: system
version: "/usr/"
versionstr: ""
- match: '^/scratch/'
software: user
version: "/scratch/"
versionstr: ""
user_provided: true
- match: '^/tmp/'
software: user
version: "/tmp/"
versionstr: ""
user_provided: true
- match: '^/(?P<path>s?bin)/'
software: "system"
version: "/%(path)s/"
versionstr: ""
ignore: true
- match: '^/home/./(?P<username>[^/]+)/'
software: "unclassified"
version: ""
versionstr: "%(username)s"
user_provided: true
- match: '^/cvmfs/ebsw/[^/]+/software/Core/(?P<software>[^/]+)/(?P<version>[^/]+)/'
software: "%(software)s"
version: "%(version)s"
versionstr: "Core/%(software)s/%(version)s"
- match: '^/cvmfs/ebsw/[^/]+/software/Compiler/(?P<vstr>[^/]+/[^/]+)/(?P<software>[^/]+)/(?P<version>[^/]+)'
software: "%(software)s"
version: "%(version)s"
versionstr: "Core/%(vstr)s/%(software)s/%(version)s"
- match: '^/cvmfs/ebsw/[^/]+/software/MPI/(?P<vstr>[^/]+/[^/]+/[^/]+/[^/]+)/(?P<software>[^/]+)/(?P<version>[^/]+)'
software: "%(software)s"
version: "%(version)s"
versionstr: "MPI/%(vstr)s/%(software)s/%(version)s"
- match: '^/cvmfs/ebsw/[^/]+/software/(?P<software>[^/]+)/(?P<version>[^/]+)'
software: "%(software)s"
version: "%(version)s"
versionstr: "%(software)s/%(version)s"
# Rewrite rules.
rewrite:
# Catch all common types
# Convert 1.2.3 => 1.2, 1.2-local-stuff => 1.2
- match:
software: '^.*$'
version: '^(?P<newver>\d+\.\d+)[^\d]'
update:
version: '%(newver)s'