--- /dev/null
+include site_hadoop
+
+# if to enable autoupdates
+class{'site_hadoop::autoupdate':
+ email => 'email@example.com',
+ time => '0 5 * * *',
+}
--- /dev/null
+# == Class site_hadoop::autoupdate
+#
+# Configure automatic updates on Debian.
+#
+# === Parameters
+#
+# [*email*] undef
+# If specified, sent email on upgrade.
+#
+class site_hadoop::autoupdate(
+ $email = undef,
+ $time = $site_hadoop::params::time_autoupdate,
+) inherits site_hadoop::params {
+ include stdlib
+
+ ensure_packages($site_hadoop::params::packages_autoupdate)
+
+ if $::osfamily == 'Debian' {
+ file { '/etc/cron-apt/config':
+ content => template('site_hadoop/cron-apt.conf.erb'),
+ require => Package[$site_hadoop::params::packages_autoupdate],
+ }
+ file { '/etc/cron-apt/action.d/9-upgrade':
+ source => 'puppet:///modules/site_hadoop/cron-apt-upgrade',
+ require => Package[$site_hadoop::params::packages_autoupdate],
+ }
+ file { '/etc/cron.d/cron-apt':
+ content => template('site_hadoop/cron-apt.cron.erb'),
+ require => Package[$site_hadoop::params::packages_autoupdate],
+ }
+ }
+}
+# == Class site_hadoop
+#
+# Basic system configurations for Hadoop cluster on Meta.
+#
class site_hadoop inherits site_hadoop::params {
include 'site_hadoop::install'
include 'site_hadoop::config'
debian => '/usr/lib/mc/mc',
}
+ $packages_autoupdate = $::osfamily ? {
+ debian => ['cron-apt'],
+ redhat => ['yum-autoupdate'],
+ }
+
+ # every night at 5:00
+ $time_autoupdate = '0 5 * * *'
+
$path = '/sbin:/usr/sbin:/bin:/usr/bin'
}