Shiva Narayanaswamy
2013-Apr-21 23:31 UTC
[Puppet Users] Design pattern for exported resources from EC2 autoscaled instances
My setup has an EC2 autoscaling group of clustered glassfish application servers. Each glassfish instance will register itself with a DAS (Domain Administration Server) to become a member of the cluster, and deregister itself when it is killed. I was intending to orchestrate this via puppet exported resources. However I am stuck with trying to figure out how to get the DAS server to apply puppet configuration everytime an instance is born in the autoscaling group. I can schedule puppet to run on the DAS server every 30 minutes, but I cant afford to wait 30 minutes. I would like to do this as soon as an instance is provisioned. The only way I can think of doing this is using mcollective. Am I overlooking something? If I havent made myself very clear, please let me know, and I can try to explain better. Looking forward to some design patterns from some experienced gurus! Thanks, Shiva -- 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+unsubscribe@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.
Felipe Salum
2013-Apr-22 17:25 UTC
[Puppet Users] Re: Design pattern for exported resources from EC2 autoscaled instances
I did an autoscaling pilot some months ago and I needed something similar to this. For the pilot to work (far from the best solution), I was triggering a puppet run on the server (DAS in your case) from the new launched autoscaling instance, using mco as you noted if you have mco working in your instance, or via ssh in my case. This was just a pilot and I don''t need to say the security issues of having mco client enabled on every instance or ssh private keys. On Sunday, April 21, 2013 4:31:57 PM UTC-7, Shiva Narayanaswamy wrote:> > My setup has an EC2 autoscaling group of clustered glassfish application > servers. Each glassfish instance will register itself with a DAS (Domain > Administration Server) to become a member of the cluster, and deregister > itself when it is killed. I was intending to orchestrate this via puppet > exported resources. However I am stuck with trying to figure out how to get > the DAS server to apply puppet configuration everytime an instance is born > in the autoscaling group. > I can schedule puppet to run on the DAS server every 30 minutes, but I > cant afford to wait 30 minutes. I would like to do this as soon as an > instance is provisioned. The only way I can think of doing this is using > mcollective. Am I overlooking something? > > If I havent made myself very clear, please let me know, and I can try to > explain better. > > Looking forward to some design patterns from some experienced gurus! > > Thanks, > Shiva >-- 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+unsubscribe@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.
Hugh Cole-Baker
2013-Apr-22 23:03 UTC
[Puppet Users] Re: Design pattern for exported resources from EC2 autoscaled instances
On Monday, April 22, 2013 12:31:57 AM UTC+1, Shiva Narayanaswamy wrote:> > My setup has an EC2 autoscaling group of clustered glassfish application > servers. Each glassfish instance will register itself with a DAS (Domain > Administration Server) to become a member of the cluster, and deregister > itself when it is killed. I was intending to orchestrate this via puppet > exported resources. However I am stuck with trying to figure out how to get > the DAS server to apply puppet configuration everytime an instance is born > in the autoscaling group. > I can schedule puppet to run on the DAS server every 30 minutes, but I > cant afford to wait 30 minutes. I would like to do this as soon as an > instance is provisioned. The only way I can think of doing this is using > mcollective. Am I overlooking something? > > If I havent made myself very clear, please let me know, and I can try to > explain better. > > Looking forward to some design patterns from some experienced gurus! > > Thanks, > Shiva >You can set up an autoscaling group to post notification messages [1] to an Amazon SNS topic, which can then be fed (via Amazon SQS) into some kind of script to take action whenever it gets a notification of a new instance appearing. [1] http://aws.typepad.com/aws/2011/07/auto-scaling-notifications-recurrence-and-more-control.html -- 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+unsubscribe@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.
Shiva Narayanaswamy
2013-Apr-29 04:43 UTC
[Puppet Users] Re: Design pattern for exported resources from EC2 autoscaled instances
Thanks for your replies. mco is the solution I like. However AWS doesnt allow multicast, and hence I figured I cannot succesfully cluster glassfish or tomcat in AWS! On Monday, April 22, 2013 9:31:57 AM UTC+10, Shiva Narayanaswamy wrote:> > My setup has an EC2 autoscaling group of clustered glassfish application > servers. Each glassfish instance will register itself with a DAS (Domain > Administration Server) to become a member of the cluster, and deregister > itself when it is killed. I was intending to orchestrate this via puppet > exported resources. However I am stuck with trying to figure out how to get > the DAS server to apply puppet configuration everytime an instance is born > in the autoscaling group. > I can schedule puppet to run on the DAS server every 30 minutes, but I > cant afford to wait 30 minutes. I would like to do this as soon as an > instance is provisioned. The only way I can think of doing this is using > mcollective. Am I overlooking something? > > If I havent made myself very clear, please let me know, and I can try to > explain better. > > Looking forward to some design patterns from some experienced gurus! > > Thanks, > Shiva >-- 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+unsubscribe@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.
Keith Burdis
2013-Apr-29 07:35 UTC
Re: [Puppet Users] Re: Design pattern for exported resources from EC2 autoscaled instances
You should be able to cluster Tomcat without using multicast by having a static members list with TCP pings to check the cluster nodes. You could of course use exported resources to create the static members list. Not sure about Glassfish but I''d expect it to be possible to do something similar as Weblogic allows the use of unicast instead of multicast for static clusters. - Keith On 29 Apr 2013 05:43, "Shiva Narayanaswamy" <shiva.narayanaswamy@gmail.com> wrote:> Thanks for your replies. > > mco is the solution I like. However AWS doesnt allow multicast, and hence > I figured I cannot succesfully cluster glassfish or tomcat in AWS! > > On Monday, April 22, 2013 9:31:57 AM UTC+10, Shiva Narayanaswamy wrote: >> >> My setup has an EC2 autoscaling group of clustered glassfish application >> servers. Each glassfish instance will register itself with a DAS (Domain >> Administration Server) to become a member of the cluster, and deregister >> itself when it is killed. I was intending to orchestrate this via puppet >> exported resources. However I am stuck with trying to figure out how to get >> the DAS server to apply puppet configuration everytime an instance is born >> in the autoscaling group. >> I can schedule puppet to run on the DAS server every 30 minutes, but I >> cant afford to wait 30 minutes. I would like to do this as soon as an >> instance is provisioned. The only way I can think of doing this is using >> mcollective. Am I overlooking something? >> >> If I havent made myself very clear, please let me know, and I can try to >> explain better. >> >> Looking forward to some design patterns from some experienced gurus! >> >> Thanks, >> Shiva >> > -- > 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+unsubscribe@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. > > >-- 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+unsubscribe@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.