Puppet Class: yum

Inherits:
yum::params
Defined in:
manifests/init.pp

Overview

Class: yum

Manage Yum configuration.

Parameters:

[*keepcache*]         - Yum option keepcache
[*debuglevel*]        - Yum option debuglevel
[*exactarch*]         - Yum option exactarch
[*obsoletes*]         - Yum option obsoletes
[*gpgcheck*]          - Yum option gpgcheck
[*installonly_limit*] - Yum option installonly_limit
[*keep_kernel_devel*] - On old kernels purge keep devel packages.

Actions:

Requires:

RPM based system

Sample usage:

class { 'yum':
  installonly_limit => 2,
}

Parameters:

  • keepcache (Any) (defaults to: $yum::params::keepcache)
  • debuglevel (Any) (defaults to: $yum::params::debuglevel)
  • exactarch (Any) (defaults to: $yum::params::exactarch)
  • obsoletes (Any) (defaults to: $yum::params::obsoletes)
  • gpgcheck (Any) (defaults to: $yum::params::gpgcheck)
  • installonly_limit (Any) (defaults to: $yum::params::installonly_limit)
  • keep_kernel_devel (Any) (defaults to: $yum::params::keep_kernel_devel)


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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'manifests/init.pp', line 24

class yum (
  $keepcache         = $yum::params::keepcache,
  $debuglevel        = $yum::params::debuglevel,
  $exactarch         = $yum::params::exactarch,
  $obsoletes         = $yum::params::obsoletes,
  $gpgcheck          = $yum::params::gpgcheck,
  $installonly_limit = $yum::params::installonly_limit,
  $keep_kernel_devel = $yum::params::keep_kernel_devel
) inherits yum::params {

  validate_bool($keepcache, $exactarch, $obsoletes, $gpgcheck)
  validate_bool($keep_kernel_devel)

  unless is_integer($installonly_limit) {
    validate_string($installonly_limit)
  }

  unless is_integer($debuglevel) {
    validate_string($debuglevel)
  }

  # configure Yum
  yum::config { 'keepcache':
    ensure => bool2num($keepcache),
  }

  yum::config { 'debuglevel':
    ensure => $debuglevel,
  }

  yum::config { 'exactarch':
    ensure => bool2num($exactarch)
  }

  yum::config { 'obsoletes':
    ensure => bool2num($obsoletes)
  }

  yum::config { 'gpgcheck':
    ensure => bool2num($gpgcheck)
  }

  yum::config { 'installonly_limit':
    ensure => $installonly_limit,
    notify => Exec['package-cleanup_oldkernels'],
  }

  # cleanup old kernels
  ensure_packages(['yum-utils'])

  $_pc_cmd = delete_undef_values([
    '/usr/bin/package-cleanup',
    '--oldkernels',
    "--count=${installonly_limit}",
    '-y',
    $keep_kernel_devel ? {
      true    => '--keepdevel',
      default => undef,
    },
  ])

  exec { 'package-cleanup_oldkernels':
    command     => shellquote($_pc_cmd),
    refreshonly => true,
    require     => Package['yum-utils'],
  }
}