What are these packages? Tarballs? Native OS packages?<br><br>Typically people either:<br>1) Use network repos for packages. eg: ports reops, debian apt repos, etc. (Setting up a standards compliant network repo, and usign the coresponding puppet package provider is prolly the best practice).<br>
2) Use the "puppet files" filebucket, and serve them out of puppet itself. (As one would distribute config files). Puppet probably isn't the best file server in the world, but the advantage is you don't have to setup seperate servers. We started with this option, and then eventually for performance and scaling optimization, setup custom network repos to handle custom packages. (Which we built using puppet).  :)<br>
3) Use some other webserver to distribute the packages, and use execs to DL the packages from the hosts. (You can always manage these in puppet, but use the other webserver for distribution.)<br><br>One thing, I think you are probably at a stage when you want to keep your puppet files and puppet code in SVN.. Let me know if you need help with this. (Basically you edit the files on your desktop laptop, check them into svn, and then check them out on the puppetmaster server. We do this automatically. If some one checks something into SVN, within 5 mins, it will be on the puppetmaster. I'm not sure if this is a best practice, but it sure does make life simple. <br>
<br>Cheers,<br>Brian<br><br><div class="gmail_quote">On Sun, Apr 26, 2009 at 7:04 PM, Matt Juszczak <span dir="ltr"><<a href="mailto:matt@atopia.net">matt@atopia.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
We're working on using puppet, but I had a quick question.  I've setup a build server and build packages for everything we need.  Now I'm trying to figure out the best way to deploy those packages.  My initial reaction is to use an SVN repository to "checkout" the packages to each box and install the ones needed.   But does puppet include some sort of file transfer configuration so I can push packages using that?<div>
<div></div><div class="h5"><br>
<br>
<br>
On Mon, 20 Apr 2009, Matt Juszczak wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Makes sense :) I'm actually enjoying working with it right now.  Tying it into LDAP.<br>
<br>
On Sat, 18 Apr 2009, Brian Gupta wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Just realized a thinko in my original email:<br>
<br>
"I'm gonna talk about puppet since that's what I know. With puppet, since<br>
you are running a centralized configuration<br>
management system, you can keep your config files in puppet."<br>
<br>
was supposed to read:<br>
<br>
"I'm gonna talk about puppet since that's what I know. With puppet, since<br>
you are running a centralized configuration<br>
management system, you can keep your config files and puppet recipes in<br>
SVN."<br>
<br>
On Sat, Apr 18, 2009 at 11:54 PM, Brian Gupta <<a href="mailto:brian.gupta@gmail.com" target="_blank">brian.gupta@gmail.com</a>> wrote:<br>
      Feel free to ping me if you have any questions, or better yet,<br>
      ping the mailing list for the NY Puppet UG:<br>
      <a href="http://groups.google.com/group/puppet-nyc" target="_blank">http://groups.google.com/group/puppet-nyc</a><br>
<br>
<br>
On Sat, Apr 18, 2009 at 7:17 PM, Matt Juszczak <<a href="mailto:matt@atopia.net" target="_blank">matt@atopia.net</a>><br>
wrote:<br>
      Setting this up on two test servers and seeing how it does<br>
      :) I had just read before that it had serious limitations<br>
      working with multiple operating systems.<br>
<br>
<br>
On Sat, 18 Apr 2009, Brian Gupta wrote:<br>
<br>
Matt,<br>
<br>
I'm gonna talk about puppet since that's what I know. With<br>
puppet, since you are running a centralized configuration<br>
management system, you can keep your config files in<br>
puppet.<br>
<br>
Puppet understands a number of resources types. These<br>
include:<br>
- Files<br>
- Users<br>
- Packages<br>
- Services<br>
- Cron<br>
- sshkeys<br>
<br>
and many more.. See here for a relatively full list:<br>
<a href="http://reductivelabs.com/trac/puppet/wiki/TypeReference" target="_blank">http://reductivelabs.com/trac/puppet/wiki/TypeReference</a><br>
<br>
In addition.. Puppet can exec arbitrary code in the event<br>
that what you need to do is not yet supported.<br>
<br>
Puppet let's you structure nodes and classes in an object<br>
hierarchy. Very cool when work with related machine types.<br>
<br>
I'm curious how you found puppet limited? (Particularly as<br>
compared to your SVN proposal).<br>
<br>
Thanks,<br>
Brian<br>
<br>
On Fri, Apr 17, 2009 at 11:01 PM, Matt Juszczak<br>
<<a href="mailto:matt@atopia.net" target="_blank">matt@atopia.net</a>> wrote:<br>
     That's what I'm trying to figure out.  These two<br>
questions sort of intertwine themselves.  If we decide to<br>
go<br>
     the "ports scripted" route, we'll most likely have<br>
scripts like this in SVN:<br>
<br>
     ./webserver-setup.sh -h<option1> -i<option2><br>
<br>
     which will basically do a cvsup /etc/ports-supfile,<br>
install necessary ports (all the same version of course),<br>
     install php, etc.  Then, we'd push the configuration<br>
files via svn as well.<br>
<br>
     If we decide to go a package route, we might even put<br>
the packages in SVN, so that you can "check out" the<br>
     repository of packages.<br>
<br>
     I've looked at puppet, and I've looked at CF engine:<br>
puppet seems limited, and CF Engine seems complex.<br>
      Seems like it's a pick your poison.<br>
<br>
<br>
On Fri, 17 Apr 2009, Brian Gupta wrote:<br>
<br>
     Not to start up the cfengine vs puppet debate again,<br>
but one question. How do you plan to handle<br>
     package installation?<br>
     That's one thing where CMS can really help.<br>
<br>
     -Brian<br>
<br>
     On Fri, Apr 17, 2009 at 1:42 PM, Matt Juszczak<br>
<<a href="mailto:matt@atopia.net" target="_blank">matt@atopia.net</a>> wrote:<br>
          We're launching an entirely new setup across<br>
FreeBSD boxes - about 50<br>
          servers total.  I have two things which I'm<br>
still somewhat debating, and<br>
          thought I'd get a second opinion.<br>
<br>
          First, instead of using CFEngine to manage the<br>
boxes, I was thinking of<br>
          using an SVN-based setup.  Each server would<br>
checkout their appropriate<br>
          files via SVN, and I would "trigger" each server<br>
when it needs an update<br>
          via config files that would be fetched often via<br>
either ftp or svn.  This<br>
          is neat and flexible, but not as complex as<br>
CFEngine.  Thoughts?<br>
<br>
          Second, I'm trying to decide how to do packages.<br>
 Across the 50 servers<br>
          we'll have about 6 or 7 different hardware sets.<br>
 Some will be Dell, some<br>
          IBM, etc.  Most will be 64 bit boxes (to address<br>
larger memory ranges).<br>
          Should I set up a single server for each class<br>
(and do make package to<br>
          create packages for each box), or should I just<br>
compile ports from source<br>
          on each box, verifying that I'm installing the<br>
same package version each<br>
          time (which will allow each box to take<br>
advantage of the benefits of its<br>
          specific hardware).<br>
<br>
          Those are my two questions, and I'd appreciate<br>
any input anyone can<br>
          provide.  Thanks!<br>
<br>
          -Matt<br>
          _______________________________________________<br>
          talk mailing list<br>
          <a href="mailto:talk@lists.nycbug.org" target="_blank">talk@lists.nycbug.org</a><br>
          <a href="http://lists.nycbug.org/mailman/listinfo/talk" target="_blank">http://lists.nycbug.org/mailman/listinfo/talk</a><br>
<br>
<br>
<br>
<br>
     --<br>
     - Brian Gupta<br>
<br>
     New York City user groups calendar:<br>
     <a href="http://nyc.brandorr.com/" target="_blank">http://nyc.brandorr.com/</a><br>
<br>
<br>
<br>
<br>
<br>
--<br>
- Brian Gupta<br>
<br>
New York City user groups calendar:<br>
<a href="http://nyc.brandorr.com/" target="_blank">http://nyc.brandorr.com/</a><br>
<br>
[tooltip_18px_18px.png]<br>
<br>
<br>
<br>
<br>
--<br>
- Brian Gupta<br>
<br>
New York City user groups calendar:<br>
<a href="http://nyc.brandorr.com/" target="_blank">http://nyc.brandorr.com/</a><br>
<br>
<br>
<br>
<br>
--<br>
- Brian Gupta<br>
<br>
New York City user groups calendar:<br>
<a href="http://nyc.brandorr.com/" target="_blank">http://nyc.brandorr.com/</a><br>
<br>
<br>
</blockquote>
</blockquote>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>- Brian Gupta<br><br>New York City user groups calendar:<br><a href="http://nyc.brandorr.com/">http://nyc.brandorr.com/</a><br><br>
<div style="position: absolute; visibility: visible; height: 32px; width: 32px; display: none; top: 110px; left: 158px;"><img src="chrome://ookong/skin/images/tooltip_18px_18px.png"></div>