Defined Type: storm::backend::storage_site_report

Defined in:
manifests/backend/storage_site_report.pp

Summary

Starting from Puppet module v2.0.0, the management of Storage Site Report has been improved. Site administrators can add script and cron described in the [how-to](http://italiangrid.github.io/storm/documentation/how-to/how-to-publish-json-report/)

Overview

by using this defined type.

Examples:

class { 'storm::backend':
  hostname => 'storm-backend.test.example',
  # ...
}
storm::backend::storage_site_report { 'storage-site-report':
  report_path => '/storage/info/report.json', # the internal storage area path
  minute      => '*/20', # set cron's minute
}

Parameters:

  • report_path (String)

    The full path of the generated report. Usually it points to a “info” storage area.

  • minute (String) (defaults to: '*/30')

    The cron job's minute parameter. Refer to Resource Type cron.



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'manifests/backend/storage_site_report.pp', line 21

define storm::backend::storage_site_report (
  String $report_path,
  String $minute = '*/30',
) {
  # Storage Site Report
  $report_script='/etc/storm/backend-server/update-site-report.sh'
  $report_command="/bin/bash ${report_script} ${report_path}"

  # script
  file { $report_script:
    ensure => file,
    source => 'puppet:///modules/storm/update-site-report.sh',
  }

  # cron
  cron { 'update-site-report':
    ensure  => 'present',
    command => $report_command,
    user    => 'root',
    minute  => $minute,
    require => File[$report_script],
  }

  # first execution
  exec { 'create-site-report':
    command => $report_command,
    creates => $report_path,
    require => [File[$report_script], Class['storm::backend']],
  }
}