I just recently learned about Puppet and was wondering if someone could tell me if this would be a good fit for our environment. We have 3 web servers (and will soon have 4). Here''s the steps I currently use to deploy: # log on to production web server 1> service httpd stop > service tomcat5 stop# log on to QA server> scp ROOT.war user@server1.example.com:/usr/share/tomcat5/webapps/Sometimes it is more complex, though, and I may need to copy any of the following: /etc/httpd/conf.d/mod_jk.conf /etc/tomcat5/context.xml But I can''t just copy over context.xml from QA, since the connection strings are different in QA and production. # restart everything (after ROOT.war has transferred)> service tomcat5 start > service httpd startUsually, I deploy to server1, test, and then deploy to server2 and server3. I like to wait until server 2 is completed ready before I start deploying to server 3 -- can Puppet do this (check for the HTTP status of /)? So, can I have Puppet deploy server1 and then have it do the deploy and wait to server2, server3, and soon to be server4? Thanks, Bradford -- 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+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Felix Frank
2011-Apr-15 07:19 UTC
Re: [Puppet Users] Evaluating Puppet for Tomcat Deployment
Hi, coordinating distributed actions is not puppet''s strong suit (you may want to look at MCollective). On 04/14/2011 03:35 PM, bradford wrote:> I just recently learned about Puppet and was wondering if someone > could tell me if this would be a good fit for our environment. > > We have 3 web servers (and will soon have 4). Here''s the steps I > currently use to deploy: > > # log on to production web server 1 >> service httpd stop >> service tomcat5 stop > > # log on to QA server >> scp ROOT.war user@server1.example.com:/usr/share/tomcat5/webapps/You don''t want puppet to perform lots of actions, puppet is more about *state*. Puppet would be most comfortable if you rolled your application into a package with suitable per-/post-inst hooks, I think.> Sometimes it is more complex, though, and I may need to copy any of > the following: > /etc/httpd/conf.d/mod_jk.conf > /etc/tomcat5/context.xmlDeploying single configuration files works quite well within the puppet paradigm.> But I can''t just copy over context.xml from QA, since the connection > strings are different in QA and production.Have a look at ERB templates for puppet. This works well.> # restart everything (after ROOT.war has transferred) >> service tomcat5 start >> service httpd startAgain, this should be scripted, either in a package or a custom script (which puppet can deploy and run for you).> Usually, I deploy to server1, test, and then deploy to server2 and > server3. I like to wait until server 2 is completed ready before I > start deploying to server 3 -- can Puppet do this (check for the HTTP > status of /)? > > So, can I have Puppet deploy server1 and then have it do the deploy > and wait to server2, server3, and soon to be server4?I call MCollective, but maybe someone has more ideas on this one. Cheers, Felix -- 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+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.