To solve this I changed the way that I used to retrieve artifacts. Since now, server is the one that executes the functions and it is the function the one that download files from network I did automount a folder (at puppet libdir) that would be the one that stores all files and serves them to my agents.
The code that download artifacts from Nexus does not redownload if the artifact is already downloaded so the overhead from Nexus artifacts would be small and the master has to download the file only once (this is a plus from the agent downloading files architecture). The problem is that files from Jenkins should be downloaded ALWAYS (there may be always a new file with changes) and this may cause a big overhead if too many projects request catalog compilation (also there is a downside of too many of the 'same' node asking the same file). Clearly I do not like this because now, it is the master that has the biggest work retrieving files... Anyone with a better puppet background than mine could show me a better way to deal with third party files? Keep in mind that the only 'static' files are the ones from Nexus and not the ones from Jenkins. Thanks, On Tuesday, May 15, 2012 4:56:11 PM UTC+2, David Campos wrote: > > I knew about that features. When a file is placed a files and referenced > through puppet:///<module>/<file> is automatically served to the agent. > Either through puppet master or apply. > > My problem came because we have a Nexus server that serves any external > file (we also try to store there our supported versions of third party > applications and software) and a Jenkins server that performs incremental > builds of our software. When I want to mix that together in order to get an > environment (either for dry-run, production, or testing purposes) I need > to: download my infrastructure from Nexus (or wget the correct files), > install if necessary, get the latest version from my module at Jenkins, > deploy. > > The first portion of work could be moved to files but I do not find it a > good practice to version it (remember that I was using a standalone puppet > installation before master) and would be hard to change versions through > environments (Nexus allows that, since is just a proxy). The second part, > download from Jenkins, is not possible since the new build has just come > out from the oven. > > That's why I did choose a method to download them from an external http > resource and not from static file serve. Does puppet provide a tool for it? > Should I stick with the fixed files folder, fileserve.conf and so? > > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/nf9cejD3yLQJ. 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.
