Hey all...new to puppet, but desperately pushing it on everyone I see
around me :)...
I'm running into a relatively minor issue that keeps puppet from
properly completing its first run. Subsequent runs do not have these
issues, and I'm confused why. It appears to be looking for a different
repo's file... First run will create our local.repo file, but log an
error on a totally different file that causes subsequent yumrepos to
be skipped:
CentOS log:
notice //puppet-test-c64//File[RPM-GPG-KEY-xxx]/ensure defined content
as '{md5}b954c7d56ed699642484d8f2a82f4338'
notice //puppet-test-c64//Stage[pre]/Repo/Exec[yum_xxx_gpg]/returns
executed successfully
notice //puppet-test-c64//Stage[pre]/Repo/Yumrepo[local.repo]/descr
descr changed '' to 'CentOS-$releasever - Local'
notice //puppet-test-c64//Stage[pre]/Repo/Yumrepo[local.repo]/baseurl
baseurl changed '' to 'http://reposerver/centos$releasever-$basearch/
RPMS.local/'
notice //puppet-test-c64//Stage[pre]/Repo/Yumrepo[local.repo]/enabled
enabled changed '' to '1'
notice //puppet-test-c64//Stage[pre]/Repo/Yumrepo[local.repo]/gpgcheck
gpgcheck changed '' to '1'
notice //puppet-test-c64//Stage[pre]/Repo/Yumrepo[local.repo]/gpgkey
gpgkey changed '' to 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-xxx'
err //puppet-test-c64//Stage[pre]/Repo/Yumrepo[local.repo] Could not
evaluate: No such file or directory - /etc/yum.repos.d/addons.repo
notice //puppet-test-c64//Stage[pre]/Repo/Yumrepo[CentOS-Base.repo-
Plus] Dependency Yumrepo[local.repo] has failures: true
warning //puppet-test-c64//Stage[pre]/Repo/Yumrepo[CentOS-Base.repo-
Plus] Skipping because of failed dependencies
notice //puppet-test-c64//Stage[pre]/Repo/Yumrepo[CentOS-Base.repo-
addons] Dependency Yumrepo[local.repo] has failures: true
warning //puppet-test-c64//Stage[pre]/Repo/Yumrepo[CentOS-Base.repo-
addons] Skipping because of failed dependencies
I'm running puppet 2.6.6, and the problem is happening in the 'pre'
runstage defined in site.pp as such:
# Run Stages
stage {
'pre': before => Stage['main'];
}
class {
'repo': stage => 'pre';
}
---
Class 'repo' includes mostly yumrepo declarations to use our local
repositories (and execs to import keys). The local-only repo
(local.repo) should be created first, then all other repos. Class
'repo' is defined as such:
class repo {
package { ['yum','rpm']:
ensure => present,
}
package { 'yum-priorities':
ensure => present,
require => Yumrepo['local.repo'],
}
# Download and import Stern GPG RPM key
file { '/etc/yum.repos.d/':
ensure => directory,
}
file { 'RPM-GPG-KEY-xxx':
ensure => present,
path => '/etc/pki/rpm-gpg/RPM-GPG-KEY-xxx',
owner => 'root',
group => 'root',
mode => '0644',
require => Package['rpm'],
source => "puppet://$servername/repo/RPM-GPG-KEY-xxx",
}
exec { 'yum_xxx_gpg':
command => '/bin/rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-xxx',
unless => '/bin/rpm -qi gpg-pubkey-xxx',
require => [ File['RPM-GPG-KEY-xxx'],Package['rpm'] ],
}
case $operatingsystem {
centos: {
yumrepo {
'CentOS-Base.repo-base':
name => 'base',
baseurl => 'http://reposerver/centos$releasever-$basearch/
RPMS.os/',
enabled => '1',
descr => 'CentOS-$releasever - Base',
gpgcheck => '1',
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-
CentOS-5',
mirrorlist => 'absent',
require => Yumrepo['local.repo'],
notify => Exec['yum_clean_all'];
'CentOS-Base.repo-updates':
name => 'updates',
baseurl => 'http://reposerver/centos$releasever-$basearch/
RPMS.updates/',
enabled => '1',
descr => 'CentOS-$releasever - Updates',
gpgcheck => '1',
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-
CentOS-5',
mirrorlist => 'absent',
require => Yumrepo['local.repo'],
notify => Exec['yum_clean_all'];
'CentOS-Base.repo-addons':
name => 'addons',
baseurl => 'http://reposerver/centos$releasever-$basearch/
RPMS.addons/',
enabled => '1',
descr => 'CentOS-$releasever - Addons',
gpgcheck => '1',
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-
CentOS-5',
mirrorlist => 'absent',
require => Yumrepo['local.repo'],
notify => Exec['yum_clean_all'];
'CentOS-Base.repo-extras':
name => 'extras',
baseurl => 'http://reposerver/centos$releasever-$basearch/
RPMS.extras/',
enabled => '1',
descr => 'CentOS-$releasever - Extras',
gpgcheck => '1',
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-
CentOS-5',
mirrorlist => 'absent',
require => Yumrepo['local.repo'],
notify => Exec['yum_clean_all'];
'CentOS-Base.repo-Plus':
name => 'centosplus',
baseurl => 'http://reposerver/centos$releasever-$basearch/
RPMS.centosplus/',
enabled => '0',
descr => 'CentOS-$releasever - Plus',
gpgcheck => '1',
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-
CentOS-5',
require => Yumrepo['local.repo'],
mirrorlist => 'absent';
'CentOS-Media.repo':
name => 'c5-media',
baseurl => "file:///media/CentOS/\n file:///media/cdrom/\n
file:///media/cdrecorder/",
enabled => '0',
descr => 'CentOS-$releasever - Media',
gpgcheck => '1',
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-
CentOS-5',
require => Yumrepo['local.repo'];
'local.repo':
name => 'local',
baseurl => 'http://reposerver/centos$releasever-$basearch/
RPMS.local/',
enabled => '1',
descr => 'CentOS-$releasever - Local',
gpgcheck => '1',
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-xxx',
mirrorlist => 'absent',
require => [ Exec['yum_stern_gpg'], Package['yum'] ],
notify => Exec['yum_clean_all'];
}
}
redhat: {
file { '/etc/yum/pluginconf.d/rhnplugin.conf':
ensure => present,
owner => 'root',
group => 'root',
mode => '0644',
source => "puppet://$servername/repo/rhnplugin.conf";
}
yumrepo {
'RedHat-Base.repo-base':
name => 'base',
baseurl => 'http://reposerver/$releasever-$basearch/
RPMS.os/',
enabled => '1',
descr => 'Red Hat Enterprise Linux $releasever -
$basearch - Base',
gpgcheck => '1',
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-
release',
mirrorlist => 'absent',
require => Yumrepo['local.repo'],
notify => Exec['yum_clean_all'];
'RedHat-Base.repo-updates':
name => 'updates',
baseurl => 'http://reposerver/$releasever-$basearch/
RPMS.updates/',
enabled => '1',
descr => 'Red Hat Enterprise Linux $releasever -
$basearch - Updates',
gpgcheck => '1',
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-
release',
mirrorlist => 'absent',
require => Yumrepo['local.repo'],
notify => Exec['yum_clean_all'];
'RedHat-Base.repo-supplementary':
name => 'supplementary',
baseurl => 'http://reposerver/$releasever-$basearch/
RPMS.supplementary/',
enabled => '1',
descr => 'Red Hat Enterprise Linux $releasever -
$basearch - Supplementary',
gpgcheck => '1',
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-
release',
mirrorlist => 'absent',
require => Yumrepo['local.repo'],
notify => Exec['yum_clean_all'];
'RedHat-Base.repo-tools':
name => 'tools',
baseurl => 'http://reposerver/$releasever-$basearch/
RPMS.tools/',
enabled => '1',
descr => 'Red Hat Enterprise Linux $releasever -
$basearch - Tools',
gpgcheck => '1',
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-
release',
mirrorlist => 'absent',
require => Yumrepo['local.repo'],
notify => Exec['yum_clean_all'];
'local.repo':
name => 'local',
baseurl => 'http://reposerver/$releasever-$basearch/
RPMS.local/',
enabled => '1',
descr => 'CentOS-$releasever - Local',
gpgcheck => '1',
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-xxx',
mirrorlist => 'absent',
require => [ Exec['yum_stern_gpg'], Package['yum'] ],
notify => Exec['yum_clean_all'];
}
}
fedora: {
file { '/etc/yum.repos.d/Fedora.repo':
ensure => present,
owner => 'root',
group => 'root',
mode => '0644',
source => "puppet://$servername/repo/Fedora.repo",
}
}
default: {
}
}
# Clean up yum files
exec { 'yum_clean_all':
command => '/usr/bin/yum clean all',
refreshonly => true,
}
}
---
Any pointers would be greatly appreciated. Thanks!
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.