I want to setup a node using a three step process
1) download node requirements (git)
2) download modules to fit requirements (puppet)
3) Bring up the node in the required state (puppet)

The second step is the one I am having trouble with.  I want a file 
(master.pp) to list out all the modules and what versions are needed before 
applying the site.pp file.  From what I have been able to find there are 
two possible approaches.

1) Use some module to download and unzip tars.  In this master.pp file use 
the module to download the other modules from urls and extract them in the 
module path.  The problem I have is that I cannot figure out how to get the 
modulepath in the master.pp file and parse it such that I can extract the 
tars in the right location.  I tried something like:
archive {"$file":
    ensure      => present,
    url         => "$url",
    checksum    => false,
    extension   => "tar.gz",
    target      => split("$::modulepath", ":")[0],
}

But that doesn't work.  


2) There is another module called puppet_module 
(https://github.com/rcoleman/puppet_module_provider) which allows you to 
download and install modules from puppetforge.  This module works great.  
Except that I need to download modules from an intranet location not an 
internet location. I do not have control over puppetforge so I do not have 
control over how long stuff stays up there, when it changes etc.  I need to 
house the modules on a local file store such that as we make the decision 
to upgrade we can do those upgrades other then that the modules will always 
remain available.  The puppet_module (reading the source code) does have a 
source parameter.  I assume then you could point it at something other than 
puppetforge.  But it is not documented and I am not sure I can easily 
produce a in house puppet forge that would have the needed filesystem 
layout for puppet_module to work.

Have other people looked into this problem?  What have they come up with?

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


Reply via email to