Puppet Class: openstack::resources::repo::rdo

Defined in:
manifests/resources/repo/rdo.pp

Overview

RDO repo (supports both RHEL-alikes and Fedora, requires EPEL)

Parameters:

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


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
# File 'manifests/resources/repo/rdo.pp', line 2

class openstack::resources::repo::rdo(
  $release = 'icehouse'
) {
  include openstack::resources::repo::epel

  $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/openstack/RPM-GPG-KEY-RDO-${release_cap}",
      owner  => root,
      group  => root,
      mode   => '0644',
      before => Yumrepo['rdo-release'],
    }
    Yumrepo['rdo-release'] -> Package<||>
  }
}