Feature #9293
yum repos should be ensurable.
| Status: | Accepted | Start date: | 08/31/2011 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | - | % Done: | 0% |
|
| Category: | yumrepo | |||
| Target version: | 3.X | |||
| Affected Puppet version: | Branch: | |||
| Keywords: | ||||
| Votes: | 10 |
Description
This should be done so that we can solve:
#949 – yumrepo should support removal of repository
#1023 – yumrepo option to purge unmanaged repos
Related issues
History
Updated by Nigel Kersten 9 months ago
- Description updated (diff)
Updated by Nigel Kersten 9 months ago
- Description updated (diff)
Updated by Nigel Kersten 9 months ago
- Category set to yumrepo
Updated by K Hightower 8 months ago
- Assignee set to K Hightower
Updated by K Hightower 4 months ago
- Assignee deleted (
K Hightower)
Updated by Bill Tong 4 months ago
Does anyone have a workaround for this in the meantime? Something like retrieving a list of files managed by the yumrepo type and deleting everything else?
Updated by Steve Traylen 10 days ago
As a work around this is fairly easy to use, define a new resource
define osrepos::ai121yumrepo ($enabled,$baseurl,$descr,$includepkgs='absent',$gpgcheck='1',$gpgkey='absent',$priority='99') {
$filename = $title
yumrepo{$filename:
descr => $descr,
enabled => $enabled,
baseurl => $baseurl,
includepkgs => $includepkgs,
gpgcheck => $gpgcheck,
gpgkey => $gpgkey,
priority => $priority
}
file {"/etc/yum.repos.d/${filename}.repo":
ensure => present,
require => [Yumrepo[$title],Package['yum']]
}
}
Add some where a purge
file { "/etc/yum.repos.d":
ensure => directory,
recurse => true,
purge => true
}
And then define each of your yumrepos not as
yumrepo{'myrepo':
descr => 'lakdjfa'
baseurl => 'http://...
}
but as
osrepos:ai121yumrepo{'myrepo':
descr => 'lakdjfa'
baseurl => 'http://...
}
You can still use the normal
package{'xyz':
ensure => present,
require => Yumrepo['myrepo']
}
where ever you like.