I''ve got about 40 linux/aix machines that I''d like assimilate into config management with puppet. I''ve been reading lots of docs, recipes and best practices. I''m wondering if there''s a guide somewhere that lays out the most efficient way to spread the use of puppet across a quantity of installed machines. I''d like to do first things first, and avoid any rework and mis-steps that I can. If you''ve got a pointer to a document like that, I''d be grateful to get it. If not, I''ll be putting my notes somewhere online for others to learn from my mistakes. ;) TIA DT Dave Thacker, Senior Systems Administrator Omni Hotels Reservation Center Voice: 402-952-6535 Fax: 402-334-8013 Mobile (24/7): 402-981-4613
Personally, I believe everything should be learned in a lab environment. I''d strongly suggest setting up a box or two with virtual machines (Xen, OpenVZ, etc) and building up some knowledge in that environment before touching production boxes. Best, Adam Dave Thacker wrote:> I''ve got about 40 linux/aix machines that I''d like assimilate into > config management with puppet. I''ve been reading lots of docs, recipes > and best practices. I''m wondering if there''s a guide somewhere that > lays out the most efficient way to spread the use of puppet across a > quantity of installed machines. I''d like to do first things first, and > avoid any rework and mis-steps that I can. If you''ve got a pointer to a > document like that, I''d be grateful to get it. If not, I''ll be putting > my notes somewhere online for others to learn from my mistakes. ;) > > TIA > DT > > Dave Thacker, Senior Systems Administrator > Omni Hotels Reservation Center > Voice: 402-952-6535 Fax: 402-334-8013 Mobile (24/7): 402-981-4613 > _______________________________________________ > Puppet-users mailing list > Puppet-users@madstop.com > https://mail.madstop.com/mailman/listinfo/puppet-users >
Dave Thacker wrote:> I''ve got about 40 linux/aix machines that I''d like assimilate into > config management with puppet. I''ve been reading lots of docs, recipes > and best practices. I''m wondering if there''s a guide somewhere that > lays out the most efficient way to spread the use of puppet across a > quantity of installed machines. I''d like to do first things first, and > avoid any rework and mis-steps that I can. If you''ve got a pointer to a > document like that, I''d be grateful to get it. If not, I''ll be putting > my notes somewhere online for others to learn from my mistakes. ;)I can''t speak for AIX, but I''ve got my notes and mistakes regarding Puppet and infrastructure stuff at http://blogs.cae.tntech.edu/mwr/infrastructure-management/ -- I need to do some more editing at some point (deprecating all references to cfengine, for example), but it''s got some useful bits in it, especially if you''re a Debian shop.
> -----Original Message----- > From: puppet-users-bounces@madstop.com > [mailto:puppet-users-bounces@madstop.com] On Behalf Of Adam Kosmin > Sent: Friday, August 24, 2007 1:34 PM > To: Puppet User Discussion > Subject: Re: [Puppet-users] Absolute Beginner''s Guide > > Personally, I believe everything should be learned in a lab > environment. > I''d strongly suggest setting up a box or two with virtual > machines (Xen, OpenVZ, etc) and building up some knowledge in > that environment before touching production boxes.I''ll definitely be testing in a lab environment. Like most sysadmin''s I have this aversion to pager tones...... DT> > Best, > Adam > > Dave Thacker wrote: > > I''ve got about 40 linux/aix machines that I''d like assimilate into > > config management with puppet. I''ve been reading lots of docs, > > recipes and best practices. I''m wondering if there''s a guide > > somewhere that lays out the most efficient way to spread the use of > > puppet across a quantity of installed machines. I''d like > to do first > > things first, and avoid any rework and mis-steps that I can. If > > you''ve got a pointer to a document like that, I''d be > grateful to get > > it. If not, I''ll be putting my notes somewhere online for > others to > > learn from my mistakes. ;) > > > > TIA > > DT > > > > Dave Thacker, Senior Systems Administrator Omni Hotels Reservation > > Center > > Voice: 402-952-6535 Fax: 402-334-8013 Mobile (24/7): 402-981-4613 > > _______________________________________________ > > Puppet-users mailing list > > Puppet-users@madstop.com > > https://mail.madstop.com/mailman/listinfo/puppet-users > > > > _______________________________________________ > Puppet-users mailing list > Puppet-users@madstop.com > https://mail.madstop.com/mailman/listinfo/puppet-users > >
In the beginning I wouldn´t burden myself with following the best practices just to get a testing setup as this can stuff your head a little and is most likely overkill at first. Set up a svn or something and commit cour code and puppetconfigs to that so you can easyly transport your code to a "real" set up (best practices etc.) when you are at this stage. Use the LanguageTutorail as a pillow and the TypeReference as.. wallpaper comes to mind.. and give yourself enough time to toy with a few general ideas before you start typing down the stuff you _really_ want to do with puppet - I kinda started the other way around and have redesigned most of my code at least once. Remember the quiet scream of "Damn this is so much better if I do it THIS way"? I´m sure you heard me all the way from germany ;) Dave Thacker schrieb:> > > >> -----Original Message----- >> From: puppet-users-bounces@madstop.com >> [mailto:puppet-users-bounces@madstop.com] On Behalf Of Adam Kosmin >> Sent: Friday, August 24, 2007 1:34 PM >> To: Puppet User Discussion >> Subject: Re: [Puppet-users] Absolute Beginner''s Guide >> >> Personally, I believe everything should be learned in a lab >> environment. >> I''d strongly suggest setting up a box or two with virtual >> machines (Xen, OpenVZ, etc) and building up some knowledge in >> that environment before touching production boxes. >> > > I''ll definitely be testing in a lab environment. Like most sysadmin''s > I have this aversion to pager tones...... > > DT > >> Best, >> Adam
On Fri, 2007-08-24 at 21:32 +0200, Simon Mügge wrote:> In the beginning I wouldn´t burden myself with following the best > practices just to get a testing setup as this can stuff your head a > little and is most likely overkill at first. > Set up a svn or something and commit cour code and puppetconfigs to that > so you can easyly transport your code to a "real" set up (best practices > etc.) when you are at this stage.For the very first steps, I''d even recommend using just the puppet command line interpreter, and not worrying about puppetmaster, SSL certs etc. - it''s not hard, but can be distracting initially. Take a machine that doesn''t matter and write a manifest that reflects how you want to manage things .. it''s incredibly useful for getting a first feel for the puppet language. I''d subdivide that into a few more steps: 1. Write your first manifests without nodes, classes, or defines just to get a feel for the various resources and how you can manipulate things 2. Split things into classes and defines to remove duplication 3. Structure things into modules, in a way that each module is focussed on a specific aspect of a system''s config (e.g., a module to handle NTP config, a module to deal with the automounter etc.) 4. Use a couple templates in your modules 5. Start using nodes ... for evaluation, just rsync manifests to different boxes and run them through ''puppet --use-nodes'' At some point during this, set up a puppetmaster, and run the client by hand (''/usr/sbin/puppetd -o -v'') Again, none of the above is really hard, and you can run through the above in a few hours (depending on how curious you are and how detailed you want to play with each aspect of puppet), but it''ll also teach you some simple techniques for troubleshooting later on. In particular, writing little test manifests and running them through ''puppet'' is a great debugging tool when your manifest just keeps doing things it shouldn''t. David
On Sat, Aug 25, 2007 at 01:18:36AM +0000, David Lutterkort wrote:> For the very first steps, I''d even recommend using just the puppet > command line interpreter, and not worrying about puppetmaster, SSL certs > etc. - it''s not hard, but can be distracting initially.Insert pet peeve: I''ve since figured out this isn''t Puppet''s issue directly, but this is how I learned CFEngine too, by dividing up into small script so I could test feature for feature. The difference is that with CFE, I could use shebang to make the scripts executable. #!/usr/bin/cfengine --whatever Puppet won''t work that way, because I can''t pass ''--use-nodes'' or any other arguments to it on the shebang line. Turns out it has something to do with the kernel not liking interpreted interpreters. ;] Any suggestions? ------------------------------------------------------------------ Russell Adams RLAdams@AdamsInfoServ.com PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3
On Aug 24, 2007, at 8:29 PM, Russell Adams wrote:> Turns out it has something to do with the kernel not liking > interpreted interpreters. ;] > > Any suggestions?#!/usr/bin/env puppet Works dandily, and accepts any arguments that puppet itself accepts. -- Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- (attributed to) Brian W. Kernighan (unconfirmed) --------------------------------------------------------------------- Luke Kanies | http://reductivelabs.com | http://madstop.com
On Fri, Aug 24, 2007 at 11:54:56PM -0500, Luke Kanies wrote:> #!/usr/bin/env puppet > > Works dandily, and accepts any arguments that puppet itself accepts.site.pp: puppetmaster PuppetBase # cat site.pp #!/usr/bin/env puppet --use-nodes import "10-BaseOS/*.pp" ,,,, puppetmaster PuppetBase # ./site.pp /usr/bin/env: puppet --use-nodes: No such file or directory puppetmaster PuppetBase # ls -l site.pp -rwxr-xr-x 1 root root 327 2007-08-22 03:01 site.pp So env is calling ''puppet --use-nodes''. It works fine without arguments. Further suggestions? ;] ------------------------------------------------------------------ Russell Adams RLAdams@AdamsInfoServ.com PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3
On Aug 25, 2007, at 12:25 AM, Russell Adams wrote:> It works fine without arguments. > > Further suggestions? ;]Ah, sorry. I didn''t mean the env line accepts arguments, only that you can run this env-style of script with arguments on the cli (e.g., ./test.pp --use-nodes). Then I don''t have any other suggestions. -- I cannot and will not cut my conscience to fit this year''s fashions. -- Lillian Hellman --------------------------------------------------------------------- Luke Kanies | http://reductivelabs.com | http://madstop.com