Puppet Class: osg::repos

Defined in:
manifests/repos.pp

Summary

Manage OSG repos

Overview



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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'manifests/repos.pp', line 3

class osg::repos {

  include osg

  if $osg::repo_use_mirrors {
    $baseurls   = {
      'osg'                       => 'absent',
      'osg-empty'                 => 'absent',
      'osg-contrib'               => 'absent',
      'osg-development'           => 'absent',
      'osg-testing'               => 'absent',
      'osg-upcoming'              => 'absent',
      'osg-upcoming-development'  => 'absent',
      'osg-upcoming-testing'      => 'absent',
    }

    $mirrorlists = {
      'osg'                       => "https://repo.opensciencegrid.org/mirror/osg/${osg::osg_release}/el${::operatingsystemmajrelease}/release/${::architecture}",
      'osg-empty'                 => "https://repo.opensciencegrid.org/mirror/osg/${osg::osg_release}/el${::operatingsystemmajrelease}/empty/${::architecture}",
      'osg-contrib'               => "https://repo.opensciencegrid.org/mirror/osg/${osg::osg_release}/el${::operatingsystemmajrelease}/contrib/${::architecture}",
      'osg-development'           => "https://repo.opensciencegrid.org/mirror/osg/${osg::osg_release}/el${::operatingsystemmajrelease}/development/${::architecture}",
      'osg-testing'               => "https://repo.opensciencegrid.org/mirror/osg/${osg::osg_release}/el${::operatingsystemmajrelease}/testing/${::architecture}",
      'osg-upcoming'              => "https://repo.opensciencegrid.org/mirror/osg/upcoming/el${::operatingsystemmajrelease}/release/${::architecture}",
      'osg-upcoming-development'  => "https://repo.opensciencegrid.org/mirror/osg/upcoming/el${::operatingsystemmajrelease}/development/${::architecture}",
      'osg-upcoming-testing'      => "https://repo.opensciencegrid.org/mirror/osg/upcoming/el${::operatingsystemmajrelease}/testing/${::architecture}",
    }
  } else {
    $baseurls   = {
      'osg'                       => "${osg::repo_baseurl_bit}/osg/${osg::osg_release}/el${::operatingsystemmajrelease}/release/${::architecture}",
      'osg-empty'                 => "${osg::repo_baseurl_bit}/osg/${osg::osg_release}/el${::operatingsystemmajrelease}/empty/${::architecture}",
      'osg-contrib'               => "${osg::repo_baseurl_bit}/osg/${osg::osg_release}/el${::operatingsystemmajrelease}/contrib/${::architecture}",
      'osg-development'           => "${osg::repo_development_baseurl_bit_real}/osg/${osg::osg_release}/el${::operatingsystemmajrelease}/development/${::architecture}",
      'osg-testing'               => "${osg::repo_testing_baseurl_bit_real}/osg/${osg::osg_release}/el${::operatingsystemmajrelease}/testing/${::architecture}",
      'osg-upcoming'              => "${osg::repo_upcoming_baseurl_bit_real}/osg/upcoming/el${::operatingsystemmajrelease}/release/${::architecture}",
      'osg-upcoming-development'  => "${osg::repo_upcoming_baseurl_bit_real}/osg/upcoming/el${::operatingsystemmajrelease}/development/${::architecture}",
      'osg-upcoming-testing'      => "${osg::repo_upcoming_baseurl_bit_real}/osg/upcoming/el${::operatingsystemmajrelease}/testing/${::architecture}",
    }

    $mirrorlists = {
      'osg'                       => 'absent',
      'osg-empty'                 => 'absent',
      'osg-contrib'               => 'absent',
      'osg-development'           => 'absent',
      'osg-testing'               => 'absent',
      'osg-upcoming'              => 'absent',
      'osg-upcoming-development'  => 'absent',
      'osg-upcoming-testing'      => 'absent',
    }
  }

  ensure_packages(['yum-plugin-priorities'])

  Yumrepo {
    failovermethod  => 'priority',
    gpgcheck        => '1',
    gpgkey          => $osg::_repo_gpgkey,
    priority        => '98',
  }

  yumrepo { 'osg':
    baseurl    => $baseurls['osg'],
    mirrorlist => $mirrorlists['osg'],
    descr      => "OSG Software for Enterprise Linux ${::operatingsystemmajrelease} - ${::architecture}",
    enabled    => bool2num($osg::enable_osg),
  }

  yumrepo { 'osg-empty':
    baseurl     => $baseurls['osg-empty'],
    mirrorlist  => $mirrorlists['osg-empty'],
    descr       => "OSG Software for Enterprise Linux ${::operatingsystemmajrelease} - Empty Packages - ${::architecture}",
    enabled     => bool2num($osg::enable_osg_empty),
    includepkgs => 'empty-ca-certs empty-slurm empty-torque',
  }

  yumrepo { 'osg-contrib':
    baseurl    => $baseurls['osg-contrib'],
    mirrorlist => $mirrorlists['osg-contrib'],
    descr      => "OSG Software for Enterprise Linux ${::operatingsystemmajrelease} - Contributed - ${::architecture}",
    enabled    => bool2num($osg::enable_osg_contrib),
  }

  yumrepo { 'osg-development':
    baseurl    => $baseurls['osg-development'],
    mirrorlist => $mirrorlists['osg-development'],
    descr      => "OSG Software for Enterprise Linux ${::operatingsystemmajrelease} - Development - ${::architecture}",
    enabled    => '0',
  }

  yumrepo { 'osg-testing':
    baseurl    => $baseurls['osg-testing'],
    mirrorlist => $mirrorlists['osg-testing'],
    descr      => "OSG Software for Enterprise Linux ${::operatingsystemmajrelease} - Testing - ${::architecture}",
    enabled    => '0',
  }

  yumrepo { 'osg-upcoming':
    baseurl    => $baseurls['osg-upcoming'],
    mirrorlist => $mirrorlists['osg-upcoming'],
    descr      => "OSG Software for Enterprise Linux ${::operatingsystemmajrelease} - Upcoming - ${::architecture}",
    enabled    => '1',
  }

  yumrepo { 'osg-upcoming-development':
    baseurl    => $baseurls['osg-upcoming-development'],
    mirrorlist => $mirrorlists['osg-upcoming-development'],
    descr      => "OSG Software for Enterprise Linux ${::operatingsystemmajrelease} - Upcoming Development - ${::architecture}",
    enabled    => '0',
  }

  yumrepo { 'osg-upcoming-testing':
    baseurl    => $baseurls['osg-upcoming-testing'],
    mirrorlist => $mirrorlists['osg-upcoming-testing'],
    descr      => "OSG Software for Enterprise Linux ${::operatingsystemmajrelease} - Upcoming Testing - ${::architecture}",
    enabled    => '0',
  }

}