Puppet Class: cubbystack::repo::redhat

Defined in:
manifests/repo/redhat.pp

Overview

Humbly taken from the openstack module

Parameters:

  • release (Any) (defaults to: 'havana')


2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'manifests/repo/redhat.pp', line 2

class cubbystack::repo::redhat (
  $release = 'havana'
) {

  $release_cap = capitalize($release)

  if $::osfamily == 'RedHat' {
    case $::operatingsystem {
      centos, redhat, scientific, slc: { $dist = 'epel' }
      fedora: { $dist = 'fedora' }
    }
    # $lsbmajdistrelease is only available with redhat-lsb installed
    $osver = regsubst($::operatingsystemrelease, '(\d+)\..*', '\1')

    yumrepo { 'rdo-release':
      baseurl  => "http://repos.fedorapeople.org/repos/openstack/openstack-${release}/${dist}-${osver}/",
      descr    => "OpenStack ${release_cap} Repository",
      enabled  => 1,
      gpgcheck => 1,
      gpgkey   => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RDO-${release_cap}",
      priority => 98,
      notify   => Exec['yum_refresh'],
    }
    file { "/etc/pki/rpm-gpg/RPM-GPG-KEY-RDO-${release_cap}":
      source => "puppet:///modules/cubbystack/repo/RPM-GPG-KEY-RDO-${release_cap}",
      owner  => root,
      group  => root,
      mode   => '0644',
      before => Yumrepo['rdo-release'],
    }
    Yumrepo['rdo-release'] -> Package<||>
  }

  exec { 'yum_refresh':
    command     => '/usr/bin/yum clean all',
    refreshonly => true,
  }

  Exec['yum_refresh'] -> Package<||>
}