diff --git a/NEWS b/NEWS index cc681f249f5308ff62d8addd32213732b2d37e1a..ab881f97442a4a2fc5c8b0d316369f9bef294dcd 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,12 @@ +release/004.023 (2015-02-20) + + [rpm] Added ensures to pull in the Stanford PuppetLabs + repo on all RHEL-ish hosts. Also ensure that packages + yum-utils and yum-plugin-versionlock are installed to + assist in yum configurations such as package locking. + 'versionlock' file is just stubbed for now, and will + be expanded in the future (jlent) + release/004.022 (2015-02-17) [syslog] Correct template names for the impstats fragments that diff --git a/files/rpm/etc/yum/pluginconf.d/versionlock.list b/files/rpm/etc/yum/pluginconf.d/versionlock.list new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/manifests/rpm.pp b/manifests/rpm.pp index 2cdce2fb4aef5f0bd852e00a9371c8303dd1405d..556b586679d3845e3060da8d8671a3f1693c8be4 100644 --- a/manifests/rpm.pp +++ b/manifests/rpm.pp @@ -24,16 +24,23 @@ class base::rpm::openafs { class base::rpm { include base::rpm::openafs - case $::operatingsystem { - 'redhat': { - $redhatPackages = [ - 'yum', - ] + case $::osfamily { + 'RedHat': { + $redhatPackages = $libmajdistrelease ? { + '5' => [ 'yum', 'yum-utils', 'yum-versionlock' ], + default => [ 'yum', 'yum-utils', 'yum-plugin-versionlock' ], + } + package { $redhatPackages: ensure => present } + file { '/etc/yum/pluginconf.d/versionlock.list': + ensure => present, + source => 'puppet:///modules/base/rpm/etc/yum/pluginconf.d/versionlock.list', + require => Package[ $redhatPackages ], + } file { '/etc/yum.repos.d': ensure => directory, - mode => 0755, + mode => '0755', recurse => true, purge => true, } @@ -43,6 +50,11 @@ class base::rpm { base::rpm::yumrepo { "stanford-priv-EL${::lsbmajdistrelease}.repo": } base::rpm::yumrepo { "stanford-rhel${::lsbmajdistrelease}.repo": } base::rpm::yumrepo { "stanford-EL${::lsbmajdistrelease}.repo": } + # puppetlabs repo now being mirrored on yum.stanford.edu + file { '/etc/yum.repos.d/puppet-mirror.repo': + ensure => present, + content => template('base/etc/yum.repos.d/puppetlabs-mirror.repo.erb'), + } file { # newsyslog config to rotate /var/log/yum.log diff --git a/templates/etc/yum.repos.d/puppetlabs-mirror.erb b/templates/etc/yum.repos.d/puppetlabs-mirror.erb new file mode 100644 index 0000000000000000000000000000000000000000..cbbd95f3056514a23a4ecc84287fe7043ed56a39 --- /dev/null +++ b/templates/etc/yum.repos.d/puppetlabs-mirror.erb @@ -0,0 +1,18 @@ +# Name: Stanford PuppetLabs Mirror +# URL: http://yum.stanford.edu/ +[puppetlabs-mirror] +name = Puppet packages $releasever +baseurl = http://yum.stanford.edu/mrepo/puppet-EL<%= @lsbmajdistrelease -%>-$basearch/RPMS.updates +enabled = 1 +protect = 0 +gpgkey = http://yum.stanford.edu/RPM-GPG-KEY-puppetlabs +gpgcheck = 1 + +[puppetlabs-mirror-deps] +name = Puppet dependency packages $releasever +baseurl = http://yum.stanford.edu/mrepo/puppet-EL<%= @lsbmajdistrelease -%>-$basearch/RPMS.dependencies +enabled = 1 +protect = 0 +gpgkey = http://yum.stanford.edu/RPM-GPG-KEY-puppetlabs +gpgcheck = 1 +