That actually sounds like a lot more than I want Capistrano core to be involved with. :) By all means, experiment, but what you're suggesting would be better suited to a third-party plugin than for cap-core. If anything like this finds its way into capistrano core, it'll just be a simple way to iterate over a subset of the servers and run tasks on subsets of that.
- Jamis On 2/16/09 9:07 AM, Gerhardus Geldenhuis wrote: > Hi > No code atm I'm afraid but I will share some ideas/requirements/ > thoughts.... > > We do a state check of the application before removing it from the > cluster which we can use to compare with after new deployment. > > We have a level1 and level2 check for applications. Level1 check > functional deployment in tomcat, which basically checks the > application server. > Level2 actually submits a request to check complete infrastructure > functionality and parses xml( that is the intend anyway still needs to > be written) > > We want to build in a failure percentage that if you have 10 servers > and 1 fails after 5 deployments, deployment should continue until in > reaches a failure percentage, say 20%. > > The modjk tasks I have written that act as our loadbalancers actually > works quite well, once I have extended it a bit more I will gladly > share the code. > > I think sequential deploy will need some generic loadbalancer/cluster > tasks build-in. > > At the moment we use something like the following: > run "wget --quiet -O - --connect-timeout=1 --timeout=1 --tries=1 > 'http://$CAPISTRANO:HOST$/jkserver-status?cmd=update&from=list&w=# > {modjk_loadbalancergroup}&sw=#{current_tomcat}&wa=1&wf=1&wn=# > {current_tomcat}&wr=&wc=&wd=0' 1>&2>/dev/null" > > maybe a wrapper to allow easier/simplified http interaction with put > and get might be usefull. (perhaps even some xml manipulation) > > Anyway just some random thoughts. > > Regards > > On Feb 16, 3:44 pm, Jamis Buck <[email protected]> wrote: >> On 2/16/09 8:37 AM, Gerhardus Geldenhuis wrote: >> >>> Thanks, I am going to try that right now. >>> How do you feel about a "sequential" extention to capistrano? Any >>> thoughts on how it could fit in with the current structure? >> I think that'd be great. Even as something for Capistrano core. I've >> needed, and others have needed it, so I'm sure it'd be useful. >> >> In general, I'd really love to get away from the ROLES, HOSTS, and >> HOSTFILTER environment variables. I just don't know where to go instead >> of those, and honestly, I haven't spent much time thinking about it. >> >> If you have any ideas, please feel free to hack on them and see what you >> come up with. >> >> - Jamis >> >> >> >>> Regards >>> On Feb 16, 3:16 pm, Jamis Buck <[email protected]> wrote: >>>> If you want subtasks to use a particular host, you need to set the HOSTS >>>> or HOSTFILTER environment variables. E.g. >>>> find_servers(...).each do |server| >>>> ENV['HOSTFILTER'] = server.host >>>> sub.task.here >>>> ENV['HOSTFILTER'] = nil >>>> end >>>> It's extremely ugly and hacky and I don't like it, but there's not >>>> currently another way to do it. >>>> - Jamis >>>> On 2/16/09 5:09 AM, Gerhardus Geldenhuis wrote: >>>>> I have also put the relevant code onhttp://pastie.org/390600 >>>>> Regards > > --~--~---------~--~----~------------~-------~--~----~ To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/capistrano -~----------~----~----~----~------~----~------~--~---
