From ceb1c59cbec0f336a76a4ffa145259e199b62084 Mon Sep 17 00:00:00 2001 From: Jonathan Lent <jlent@stanford.edu> Date: Fri, 3 Jun 2016 07:39:07 -0700 Subject: [PATCH] Fixes related to Oracle Linux, see NEWS --- NEWS | 6 ++++++ manifests/cron.pp | 12 ++++++++---- manifests/os.pp | 12 ++++++------ manifests/os/{oel.pp => oraclelinux.pp} | 4 ++-- manifests/puppetclient.pp | 5 +++-- 5 files changed, 25 insertions(+), 14 deletions(-) rename manifests/os/{oel.pp => oraclelinux.pp} (58%) diff --git a/NEWS b/NEWS index 0b0c2c8..47adea6 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,9 @@ +release/004.062 (2016-06-03) + + [os] Fix references applicable to Oracle Linux + [cron] Address cron-related package not available on Oracle Linux + [puppetclient] Address lack of versionlock on Oracle Linux (jlent) + release/004.061 (2016-04-21) [os] Add some parameters to the base::os::debian class to make apt use diff --git a/manifests/cron.pp b/manifests/cron.pp index b7096a3..d0df03d 100644 --- a/manifests/cron.pp +++ b/manifests/cron.pp @@ -26,11 +26,15 @@ class base::cron( elsif ($::osfamily == 'RedHat') { $crond = 'crond' if ($::lsbmajdistrelease == '6') { - package { - 'cronie-noanacron': ensure => present; - 'cronie-anacron': ensure => absent; + # OL6 appears to be stuck with cronie-anacron + if ($::operatingsystem == 'OracleLinux') { + package { 'cronie-anacron': ensure => present } + } else { # Otherwise, prefer cronie-noanacron + package { + 'cronie-noanacron': ensure => present; + 'cronie-anacron': ensure => absent; + } } - } file { [ '/etc/cron.d/dailyjobs', '/etc/cron.d/0hourly' ]: ensure => absent diff --git a/manifests/os.pp b/manifests/os.pp index c01247b..5158717 100644 --- a/manifests/os.pp +++ b/manifests/os.pp @@ -4,12 +4,12 @@ class base::os { case $::operatingsystem { - 'Debian': { include base::os::debian } - 'Ubuntu': { include base::os::ubuntu } - 'RedHat': { include base::os::redhat } - 'CentOS': { include base::os::centos } - 'OEL': { include base::os::oel } - default: { include base::os::debian } + 'Debian': { include base::os::debian } + 'Ubuntu': { include base::os::ubuntu } + 'RedHat': { include base::os::redhat } + 'CentOS': { include base::os::centos } + 'OracleLinux': { include base::os::oraclelinux } + default: { include base::os::debian } } base::os::motd { '/etc/motd': diff --git a/manifests/os/oel.pp b/manifests/os/oraclelinux.pp similarity index 58% rename from manifests/os/oel.pp rename to manifests/os/oraclelinux.pp index c77d36f..ab2d95c 100644 --- a/manifests/os/oel.pp +++ b/manifests/os/oraclelinux.pp @@ -1,7 +1,7 @@ # -# Rules specific to Oracle Enterprise Linux systems. +# Rules specific to Oracle Linux systems. # Simply stubbing for now -class base::os::oel { +class base::os::oraclelinux { # For now, let's pretend it's just RedHat include base::os::redhat diff --git a/manifests/puppetclient.pp b/manifests/puppetclient.pp index 2c9e20d..5502d05 100644 --- a/manifests/puppetclient.pp +++ b/manifests/puppetclient.pp @@ -9,14 +9,15 @@ class base::puppetclient { } # pin puppet and facter versions on RHELish systems - if ($::osfamily == 'RedHat') { + # However, OracleLinux (6, at least) does not have yum-versionlock available + if (($::osfamily == 'RedHat') and ($::operatingsystem != 'OracleLinux')) { include base::yumtools::yum_puppet_lock package { 'puppet': ensure => present, require => [ Base::Puppetclient::Config['/etc/puppet/puppet.conf'], Class['base::yumtools::yum_puppet_lock'] ], } - } else { # Debianish systems; pinning handled at repository level + } else { # Debianish systems and Oracle Linux package { 'puppet': ensure => present, require => Base::Puppetclient::Config['/etc/puppet/puppet.conf'], -- GitLab