Hi,
Excerpts from Martijn Grendelman's message of Tue Aug 31 16:02:43 -0400 2010:
> Hi Nigel Kersten,
>
> >> What I would like, is for Puppet to run `aptitude update` before it
> >> installs or upgrades packages. That doesn't seem out of the ordinary to
> >> me, but I can't make it work in Puppet.
> >>
> >> The approach I like best, is this one:
> >>
> >> class apt-update {
> >> exec { "/usr/bin/aptitude update":
> >> refreshonly => true,
> >> }
> >> }
> >>
> >> define apt_package($ensure="latest") {
> >> include apt-update
> >> package { $name:
> >> ensure => $ensure,
> >> require => Class["apt-update"],
> >> }
> >> }
> >>
> >> apt_package { "foo":
> >> }
> >>
> >> but that doesn't work, it doesn't run apt-update before installing 'foo',
> >> because of the "refreshonly => true". If I remove it, it works, but then
> >> `aptitude update` is run on /every/ Puppet run, which is worse than not
> >> running it at all.
> >>
> >> Is it at all possible to achieve what I want with Puppet? If so, how?
> >
> > Why do you want to run this before every package install? That will
> > add a fair bit of overhead. I don't quite understand the desire to run
> > before every package install, and yet not simply have it run once
> > before all package installs.
>
> I am not sure how I said I want to do an update before /every/ package
> install. Once at the start of a Puppet-run, /IF/ one or more packages
> need to be installed, would suffice.
>
You may run into a chicken-egg problem. Packages that are configured as
"ensure => latest" can only be upgraded by puppet if the local apt cache
files are up-to-date.
IOW puppet relies on the local apt files to figure out if packages need
to be updated. And to get new local apt files apt-get update needs to be
run.
--
Mathias Gug
Ubuntu Developer http://www.ubuntu.com
--
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.