Hey Matthias, 

Thanks for the response. So I do see some additional information that may 
help. 

So it appears that puppet does successfully install postgresql and 
postgresql-server and postgres92, and that explains what did get installed.

Notice: /Stage[pre]/Yum::Repo/Exec[refresh-yum-cache]: Triggered 'refresh' 
from 1 events
Notice: 
/Stage[main]/Postgresql::Install/Package[postgresql-8.1.23-10.el5_10]/ensure: 
created
Notice: 
/Stage[main]/Postgresql::Install/Package[postgresql-server-8.1.23-10.el5_10]/ensure:
 
created
Error: Could not update: Execution of '/usr/bin/yum -d 0 -e 0 -y install 
postgresql92-server-9.2.8-1PGDG.rhel5' returned 1: postgres
ql92-9.2.8-1PGDG.rhel5.x86_64 from vivox-postgresql has depsolving problems
  --> Missing Dependency: postgresql92-libs = 9.2.8-1PGDG.rhel5 is needed 
by package postgresql92-9.2.8-1PGDG.rhel5.x86_64 (vivox-po
stgresql)
Error: Missing Dependency: postgresql92-libs = 9.2.8-1PGDG.rhel5 is needed 
by package postgresql92-9.2.8-1PGDG.rhel5.x86_64 (vivox-p
ostgresql)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
Wrapped exception:
Execution of '/usr/bin/yum -d 0 -e 0 -y install 
postgresql92-server-9.2.8-1PGDG.rhel5' returned 1: 
postgresql92-9.2.8-1PGDG.rhel5.x8
6_64 from vivox-postgresql has depsolving problems
  --> Missing Dependency: postgresql92-libs = 9.2.8-1PGDG.rhel5 is needed 
by package postgresql92-9.2.8-1PGDG.rhel5.x86_64 (vivox-po
stgresql)
Error: Missing Dependency: postgresql92-libs = 9.2.8-1PGDG.rhel5 is needed 
by package postgresql92-9.2.8-1PGDG.rhel5.x86_64 (vivox-p
ostgresql)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
Error: 
/Stage[main]/Postgresql::Install/Package[postgresql92-server]/ensure: 
change from absent to 9.2.8-1PGDG.rhel5 failed: Could n
ot update: Execution of '/usr/bin/yum -d 0 -e 0 -y install 
postgresql92-server-9.2.8-1PGDG.rhel5' returned 1: postgresql92-9.2.8-1PG
DG.rhel5.x86_64 from vivox-postgresql has depsolving problems
  --> Missing Dependency: postgresql92-libs = 9.2.8-1PGDG.rhel5 is needed 
by package postgresql92-9.2.8-1PGDG.rhel5.x86_64 (vivox-po
stgresql)
Error: Missing Dependency: postgresql92-libs = 9.2.8-1PGDG.rhel5 is needed 
by package postgresql92-9.2.8-1PGDG.rhel5.x86_64 (vivox-p
ostgresql)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
Error: Could not update: Execution of '/usr/bin/yum -d 0 -e 0 -y install 
postgresql92-contrib-9.2.8-1PGDG.rhel5' returned 1: postgre
sql92-9.2.8-1PGDG.rhel5.x86_64 from vivox-postgresql has depsolving problems
  --> Missing Dependency: postgresql92-libs = 9.2.8-1PGDG.rhel5 is needed 
by package postgresql92-9.2.8-1PGDG.rhel5.x86_64 (vivox-po
stgresql)
Error: Missing Dependency: postgresql92-libs = 9.2.8-1PGDG.rhel5 is needed 
by package postgresql92-9.2.8-1PGDG.rhel5.x86_64 (vivox-p
ostgresql)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
Wrapped exception:
Execution of '/usr/bin/yum -d 0 -e 0 -y install 
postgresql92-contrib-9.2.8-1PGDG.rhel5' returned 1: 
postgresql92-9.2.8-1PGDG.rhel5.x
86_64 from vivox-postgresql has depsolving problems
  --> Missing Dependency: postgresql92-libs = 9.2.8-1PGDG.rhel5 is needed 
by package postgresql92-9.2.8-1PGDG.rhel5.x86_64 (vivox-po
stgresql)
Error: Missing Dependency: postgresql92-libs = 9.2.8-1PGDG.rhel5 is needed 
by package postgresql92-9.2.8-1PGDG.rhel5.x86_64 (vivox-p
ostgresql)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
Wrapped exception:
Execution of '/usr/bin/yum -d 0 -e 0 -y install 
postgresql92-devel-9.2.8-1PGDG.rhel5' returned 1: 
postgresql92-9.2.8-1PGDG.rhel5.x86_64 from vivox-postgresql has depsolving 
problems
  --> Missing Dependency: postgresql92-libs = 9.2.8-1PGDG.rhel5 is needed 
by package postgresql92-9.2.8-1PGDG.rhel5.x86_64 (vivox-postgresql)
Error: Missing Dependency: postgresql92-libs = 9.2.8-1PGDG.rhel5 is needed 
by package postgresql92-9.2.8-1PGDG.rhel5.x86_64 (vivox-postgresql)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
Error: /Stage[main]/Postgresql::Install/Package[postgresql92-devel]/ensure: 
change from absent to 9.2.8-1PGDG.rhel5 failed: Could not update: Execution 
of '/usr/bin/yum -d 0 -e 0 -y install postgresql92-devel-9.2.8-1PGDG.rhel5' 
returned 1: postgresql92-9.2.8-1PGDG.rhel5.x86_64 from vivox-postgresql has 
depsolving problems
  --> Missing Dependency: postgresql92-libs = 9.2.8-1PGDG.rhel5 is needed 
by package postgresql92-9.2.8-1PGDG.rhel5.x86_64 (vivox-postgresql)
Error: Missing Dependency: postgresql92-libs = 9.2.8-1PGDG.rhel5 is needed 
by package postgresql92-9.2.8-1PGDG.rhel5.x86_64 (vivox-postgresql)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
Notice: /Stage[main]/Postgresql::Install/Package[postgresql92]/ensure: 
created


So here is my install manifest
class postgresql::install($version) {
  $postgresBase = $version ? {
    '8'                 => "postgresql",
    default             => "postgresql92",
  }

  if ( $postgresBase == '8' ) {
    $postgresqlVersion = $::lsbdistrelease ? {
      '5.10'    => "8.1.23-10.el5_10",
      '6.5'     => "8.4.18-1.el6_4",
      default   => "8.1.23-10.el5_10",
    }
  }
  else {
    $postgresqlVersion = $::lsbdistrelease ? {
      '5.10'            => "9.2.8-1PGDG.rhel5",
      '6.5'     => "9.2.8-1PGDG.rhel6",
      default           => "9.2.8-1PGDG.rhel6",
    }
  }

  if ( $postgresBase != '8' ) {
    $removePackageList = [ "postgresql-8.1.23-10.el5_10",
                           "postgresql-server-8.1.23-10.el5_10", ]
    package { $removePackageList:
      ensure    => "purged",
    }
  }

  $packageList = [ "${postgresBase}",
                   "${postgresBase}-server",
                   "${postgresBase}-contrib",
                   "${postgresBase}-devel", ]

  package { $packageList:
    ensure      => $postgresqlVersion,
  }
}


So we have cloned all of the yum repos we need locally. I'm setting up all 
of those repos in stage => 'pre' which is set up to run before any of the 
other modules, including postgres. So yum is running and fully set up 
before postgres tries to install those packages. 

So what is failing is, but completes on the second run is 
Notice: 
/Stage[main]/Postgresql::Install/Package[postgresql92-server]/ensure: 
created
Notice: 
/Stage[main]/Postgresql::Install/Package[postgresql92-contrib]/ensure: 
created
Notice: 
/Stage[main]/Postgresql::Install/Package[postgresql92-devel]/ensure: created

So after 2 runs I finally get all the packages that I needed

rpm -qa | grep postgres
postgresql92-9.2.8-1PGDG.rhel5
postgresql92-devel-9.2.8-1PGDG.rhel5
postgresql-libs-8.1.23-10.el5_10
postgresql92-libs-9.2.8-1PGDG.rhel5
postgresql92-server-9.2.8-1PGDG.rhel5
postgresql92-contrib-9.2.8-1PGDG.rhel5
postgresql-libs-8.1.23-10.el5_10

Thoughts? 



On Friday, August 8, 2014 6:22:31 AM UTC-4, Matthias Saou wrote:
>
> Hi, 
>
> This seems like a problem in your yum repositories, or the rpm 
> packages they contain. On a clean system, without running any of this, 
> what does the following do? Does it work? 
>
> yum install postgresql92-9.2.8-1PGDG.rhel5 
>
> Because according to the output you've sent, yum doesn't find the 
> matching 'libs' package, yet it ends up on the system somehow in the 
> end... 
>
> Also, in that output, puppet says that the server 8.1.23-10.el5_10 
> package got installed, but it's not in your final "rpm -qa | grep 
> postgres" output, so I'm guessing you're not being completely honest 
> with us here :-) 
>
> Since many details are missing, it could be that you're enabling 
> multiple repositories with a wrong ordering, resulting in puppet not 
> finding all of the packages on the first run. If that's the case, have 
> a look at stages and make sure you manage your yum repo configuration 
> in once which is before 'main'. 
>
> Matthias 
>
> On Thu, 7 Aug 2014 07:31:19 -0700 (PDT) 
> Mark Rosedale <[email protected] <javascript:>> wrote: 
>
> > Hello, 
> > 
> > So I'm specifying specific packages to install for some of my 
> > critical software. This is specifically related to centos/yum. When 
> > new packages are released I get errors when running puppet saying 
> > that yum has failed to install the specified package because a newer 
> > version is available, but the package does in fact install. Upon the 
> > second run it sees the correct version and the catalog runs cleanly. 
> > 
> > Example code. 
> > 
> > $postgresqlVersion = $::lsbdistrelease ? { 
> >       '5.10'            => "9.2.8-1PGDG.rhel5", 
> >       '6.5'     => "9.2.8-1PGDG.rhel6", 
> >       default           => "9.2.8-1PGDG.rhel6", 
> >     } 
> > 
> > package { $packageList: 
> >     ensure      => $postgresqlVersion, 
> >   } 
> > 
> > The conflicting package is on centos5 The new version available 
> > is 9.2.9-1PGDG.rhel5. First run we get errors like the following 
> > 
> > Notice: 
> > 
> /Stage[main]/Postgresql::Install/Package[postgresql-server-8.1.23-10.el5_10]/ensure:
>  
>
> > created 
> > Error: Could not update: Execution of '/usr/bin/yum -d 0 -e 0 -y 
> > install postgresql92-server-9.2.8-1PGDG.rhel5' returned 1: postgres 
> > ql92-9.2.8-1PGDG.rhel5.x86_64 from vivox-postgresql has depsolving 
> > problems --> Missing Dependency: postgresql92-libs = 
> > 9.2.8-1PGDG.rhel5 is needed by package 
> > postgresql92-9.2.8-1PGDG.rhel5.x86_64 (vivox-po stgresql) 
> > Error: Missing Dependency: postgresql92-libs = 9.2.8-1PGDG.rhel5 is 
> > needed by package postgresql92-9.2.8-1PGDG.rhel5.x86_64 (vivox-p 
> > ostgresql) 
> >  You could try using --skip-broken to work around the problem 
> >  You could try running: package-cleanup --problems 
> >                         package-cleanup --dupes 
> >                         rpm -Va --nofiles --nodigest 
> > Wrapped exception: 
> > Execution of '/usr/bin/yum -d 0 -e 0 -y install 
> > postgresql92-server-9.2.8-1PGDG.rhel5' returned 1: 
> > postgresql92-9.2.8-1PGDG.rhel5.x8 
> > 6_64 from vivox-postgresql has depsolving problems 
> > 
> > I get this for all the postgres packages I'm trying to install, 
> > however, even with these errors if I check all of the packages have 
> > been installed. rpm -qa | grep postgres 
> > postgresql-libs-8.1.23-10.el5_10 
> > postgresql92-libs-9.2.8-1PGDG.rhel5 
> > postgresql-libs-8.1.23-10.el5_10 
> > postgresql92-9.2.8-1PGDG.rhel5 
> > 
> > So on the second run everything that was missed, due to the errors, 
> > gets completed and I now have a clean run. 
> > 
> > My question is, is there a way to work around this so that puppet 
> > doesn't error out on the first run? 
> > 
> > Thanks, 
> > mjr 
> > 
>
>
>
> -- 
>             Matthias Saou                  ██          ██ 
>                                              ██      ██ 
> Web: http://matthias.saou.eu/              ██████████████ 
> Mail/XMPP:  [email protected] <javascript:>             ████  ██████  ████ 
>                                        ██████████████████████ 
> GPG: 4096R/E755CC63                    ██  ██████████████  ██ 
>      8D91 7E2E F048 9C9C 46AF          ██  ██          ██  ██ 
>      21A9 7A51 7B82 E755 CC63                ████  ████ 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/92718f9f-aa93-4c4f-a76f-7801a628cf93%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to