I am looking at migrating a set of servers from cfengine management to
puppet management.  For the most part, the move has been relatively straight
forward, and I am pleased with the way that puppet's modules have made some
of the things I did in cfengine2 much cleaner.  There is one thing though
that was relatively easy in cfengine that I am not seeing a good way to
achieve with puppet.

In cfengine I defined a variable serverlist that was essentially an array of
hostnames. I then had the following copy block

copy:
 somehost::
   /path/to/file/that/updates/nightly
     server=${serverlist}
     dest=/var/www/repository/${this}
     mode=644 owner=apache group=wheel

which caused the one host in the class somehost to copy the file from each
server in the array serverlist to the repository.
**
The closest I see in puppet would be to list each server source as a
different file entry in a class.

Something like (psuedo code)

class pullfile {
  File { ensure => file, owner => apache, group => wheel, mode => 644, }
  file {
    host1: source => "puppet://host1/path/to/file" path =>
"/var/www/repository/host1";
    host2: source => "puppet://host2/path/to/file" path =>
"/var/www/repository/host2";
   }
 }

and have puppetmaster on each host.

Is there a better way?

Thanks!

Luke

--~--~---------~--~----~------------~-------~--~----~
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