Puppet Plan: cd4peadm::logs

Defined in:
plans/logs.pp

Summary

Display the logs for the given CD4PE component

Overview

Parameters:

  • service (Enum['pipelinesinfra', 'query', 'ui', 'postgres']) (defaults to: 'pipelinesinfra')

    The name of the service for which to display logs



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'plans/logs.pp', line 4

plan cd4peadm::logs(
  Enum['pipelinesinfra', 'query', 'ui', 'postgres'] $service = 'pipelinesinfra',
) {
  $config = cd4peadm::config()
  $opts = { '_run_as' => 'root', '_catch_errors' => true, }

  $roles = $config['roles']
  $volume = {
    'pipelinesinfra' => $roles['backend']['services']['pipelinesinfra']['container']['log_volume_name'],
    'query'          => $roles['backend']['services']['query']['container']['log_volume_name'],
    'postgres'       => $roles['database']['services']['postgres']['container']['log_volume_name'],
    'ui'             => $roles['ui']['services']['ui']['container']['log_volume_name'],
  }

  $role_map = {
    'pipelinesinfra' => 'backend',
    'query'          => 'backend',
    'postgres'       => 'database',
    'ui'             => 'ui',
  }

  $dir = "${cd4peadm::runtime::volume_dir()}/${volume[$service]}/_data"
  without_default_logging() || {
    $results = run_command( "find ${dir}/*.log -print -exec cat {} \\;",
      $roles[$role_map[$service]]['targets'],
      $opts)

    $results.each |$result| {
      out::message("Logs from ${result.target}")
      out::message($result['stdout'])
    }
  }
}