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 puppet-users@googlegroups.com.
To unsubscribe from this group, send email to
puppet-users+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.