Skip to content

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.