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

Reply via email to