Added support for ensure option into yum::repo.
This commit is contained in:
parent
d1e6bf1acd
commit
a30e3e70fc
2 changed files with 45 additions and 32 deletions
|
@ -128,6 +128,9 @@ class yum::exclude {
|
||||||
#
|
#
|
||||||
# $name:
|
# $name:
|
||||||
# Repository name.
|
# Repository name.
|
||||||
|
# $ensure:
|
||||||
|
# Present/enable enables repository (default), absent removes
|
||||||
|
# repository completely and disable disables repository.
|
||||||
# $baseurl:
|
# $baseurl:
|
||||||
# Base URL for this repository.
|
# Base URL for this repository.
|
||||||
# $mirrorlist:
|
# $mirrorlist:
|
||||||
|
@ -146,45 +149,55 @@ class yum::exclude {
|
||||||
# gpgkey => "http://tmz.fedorapeople.org/repo/RPM-GPG-KEY-tmz",
|
# gpgkey => "http://tmz.fedorapeople.org/repo/RPM-GPG-KEY-tmz",
|
||||||
# }
|
# }
|
||||||
#
|
#
|
||||||
define yum::repo($baseurl="", $mirrorlist="", $descr="", $gpgkey="") {
|
define yum::repo($ensure="present", $baseurl="", $mirrorlist="", $descr="", $gpgkey="") {
|
||||||
|
|
||||||
tag("bootstrap")
|
tag("bootstrap")
|
||||||
|
|
||||||
if !$baseurl and !$mirrorlist {
|
# can't use ensure variable inside template :(
|
||||||
fail("Either \$baseurl or \$mirrorlist needs to be defined for yum::repo")
|
$status = $ensure
|
||||||
}
|
|
||||||
if $baseurl and $mirrorlist {
|
|
||||||
fail("Cannot set both \$baseurl and \$mirrorlist for yum::repo")
|
|
||||||
}
|
|
||||||
|
|
||||||
if regsubst($gpgkey, "^(puppet://).*", '\1') == "puppet://" {
|
if $status != "absent" {
|
||||||
file { "/etc/pki/rpm-gpg/RPM-GPG-KEY-${name}":
|
|
||||||
ensure => present,
|
if !$baseurl and !$mirrorlist {
|
||||||
source => $gpgkey,
|
fail("Either \$baseurl or \$mirrorlist needs to be defined for yum::repo")
|
||||||
mode => "0644",
|
}
|
||||||
owner => "root",
|
if $baseurl and $mirrorlist {
|
||||||
group => "root",
|
fail("Cannot set both \$baseurl and \$mirrorlist for yum::repo")
|
||||||
before => File["/etc/yum.repos.d/${name}.repo"],
|
}
|
||||||
notify => Exec["rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-${name}"],
|
|
||||||
}
|
if regsubst($gpgkey, "^(puppet://).*", '\1') == "puppet://" {
|
||||||
exec { "rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-${name}":
|
file { "/etc/pki/rpm-gpg/RPM-GPG-KEY-${name}":
|
||||||
path => "/bin:/usr/bin:/sbin:/usr/sbin",
|
ensure => present,
|
||||||
user => "root",
|
source => $gpgkey,
|
||||||
refreshonly => true,
|
mode => "0644",
|
||||||
}
|
owner => "root",
|
||||||
$gpgkey_real = "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-${name}"
|
group => "root",
|
||||||
} else {
|
before => File["/etc/yum.repos.d/${name}.repo"],
|
||||||
$gpgkey_real = $gpgkey
|
notify => Exec["rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-${name}"],
|
||||||
}
|
}
|
||||||
|
exec { "rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-${name}":
|
||||||
|
path => "/bin:/usr/bin:/sbin:/usr/sbin",
|
||||||
|
user => "root",
|
||||||
|
refreshonly => true,
|
||||||
|
}
|
||||||
|
$gpgkey_real = "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-${name}"
|
||||||
|
} else {
|
||||||
|
$gpgkey_real = $gpgkey
|
||||||
|
}
|
||||||
|
|
||||||
|
if $descr {
|
||||||
|
$descr_real = $descr
|
||||||
|
} else {
|
||||||
|
$descr_real = $name
|
||||||
|
}
|
||||||
|
|
||||||
if $descr {
|
|
||||||
$descr_real = $descr
|
|
||||||
} else {
|
|
||||||
$descr_real = $name
|
|
||||||
}
|
}
|
||||||
|
|
||||||
file { "/etc/yum.repos.d/${name}.repo":
|
file { "/etc/yum.repos.d/${name}.repo":
|
||||||
ensure => present,
|
ensure => $status ? {
|
||||||
|
"absent" => absent,
|
||||||
|
default => present,
|
||||||
|
},
|
||||||
content => template("yum/yum.repo.erb"),
|
content => template("yum/yum.repo.erb"),
|
||||||
mode => "0644",
|
mode => "0644",
|
||||||
owner => "root",
|
owner => "root",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[<%= name %>]
|
[<%= name %>]
|
||||||
name=<%= descr_real %>
|
name=<%= descr_real %>
|
||||||
enabled=1
|
enabled=<% if status == 'disable' %>0<% else %>1<% end %>
|
||||||
<% if baseurl != '' -%>
|
<% if baseurl != '' -%>
|
||||||
baseurl=<%= baseurl %>
|
baseurl=<%= baseurl %>
|
||||||
<% else -%>
|
<% else -%>
|
||||||
|
|
Loading…
Add table
Reference in a new issue