CTA Utils¶
The CTA Utils library contains various helpers that are used across the CTA operations utilities.
Installation¶
Configuration¶
global:
# ---------------------
# Logging configuration
# ---------------------
logging:
# Base directory for log files
log_dir: "/var/log/cta-ops/"
# Max size of log file before log rotation is triggered
rotation_max_size: "1G"
# Number of rotated files to keep
rotation_keep_files: 5
# Datetime format to use in log files
date_format: "%Y-%m-%d %H:%M:%S"
# Translate error messages from exteral tools when called. Leave empty to disable this feature.
error_translation_file: "/etc/cta-ops/error-messages.yaml"
# ---------------------------------------------
# The system user for executing automated tasks
# ---------------------------------------------
default_user:
name: "tape-local"
group: "tape"
sss_keytab_file: "/etc/cta/tape-local.keytab"
# ---------------------------
# Email notification settings
# ---------------------------
email:
recipients:
- changeme # TO email addresses for notification emails
sender: changeme # FROM email address for notification emails
# --------------------------------
# Aesthetics, tabulation and color
# --------------------------------
# Python tabulate output formatting style
table_format: "plain"
table_max_col_width: 30
# Colors for text highlighting
colors:
ansi_color_table: "\e[1;31m" # "\033[1;31m"
ansi_color_fail: "\e[1;31m" # "\033[1;31m"
ansi_color_success: "\e[1;32m" # "\033[1;32m"
ansi_end: "\e[0m" # "\033[0m"
Usage¶
Features¶
Cmd Utils¶
Contains wrapper functions for command line execution and misc. utilities, such as unit conversions.
Config Holder¶
Provides objects for command line tool configuration management.
Also contains the means to automatically translate cta-admin
error messages into more operator-friendly variants.
Dict Utils¶
General python dictionary interaction helpers.
Log Utils¶
Provides unified logging behavior, including log file creation, formatting, and built-in capacity-based log rotation.
It is intended to be used primarily by calling init_logger(...)
and log_and_exit(...)
, though some alternate legacy logging options are provided.
Mail Sender¶
Handles email notification templating and sending.
Oracle Utils¶
Used for oracle-specific DB operations. Deprecated.
Repack Utils¶
Common function for the tape repack workflow. The provided repack command line tools use these, but with this structure they may be easily be re-used in future tools.
SQL Utils¶
Common functions for executing SQL queries.
Table Utils¶
Common table formatting.
Tape Showqueues¶
Logic specific to showing CTA scheduling queues.
Yaml Loader¶
Simple wrappers for handling yaml, such as for config files.