Geraudus,
 Try pasting your code in Pastie, and linking it -- that was we can read it
and maybe help... post the current state of the method, and we'll see what
we can do..

- Lee

2009/2/3 Gerhardus Geldenhuis <[email protected]>

>
> I solved my assignment problem with:
> set :current_tomcat, "#{server.host}"
>
> However I would still be interested in possible better solutions.
>
> Regards
>
> On Feb 3, 1:15 pm, Gerhardus Geldenhuis
> <[email protected]> wrote:
> > Hi
> > I am struggling to find a elegant solution for the following problem:
> > We have multiple apache servers that load balance across the same set
> > of tomcat app servers.
> > Thus if you update an app server you have to disable it in multiple
> > places.
> >
> > My code:
> >
> > namespace :modjk do
> >   task :disablenode, :roles => :apacluster do
> >   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"
> >
> > # this does not work atm as I can't get the current_tomcat variable
> > set
> >   end
> >
> > and in my stage file I have the following:
> > role :appservers, "longtct02c", "longtct02d"
> > role :apacluster, "longapa02c"
> > #role :apacluster, "longapa02c", "longapa02d"
> >
> > set :app_type, "gta-jcbs-xml"
> > set :modjk_loadbalancergroup, "xml-lb"
> > set :test_url, "localhost:8080/gta-jcbs-xml/buildInfo.jsp"
> > set :test_url_result_string, "Build Information"
> >
> > task :staggered_deploy do
> >   find_servers(:roles => :appservers).each do |server|
> >     run "uname -a", :hosts => server  #just for id purposes.
> > #  A possible solution but can't get assignment to work yet.
> > #    set :current_tomcat, "$CAPISTRANO:HOST$"
> >     modjk.disablenode
> >   end
> > end
> >
> > my logic was that when iterating through the list of servers I would
> > just call disablenode which will then only run on the apacluster list
> > of servers. This works great and keeps the code clean however I need
> > to pass a parameter in my wget statement to enable to current tomcat
> > node that I am looping through in the staggered_deploy task.
> >
> > My set statement does not work yet, I am trying to figure out the
> > correct syntax, and when I get it working I am not sure it will behave
> > as I expect by changing the variable everytime it loops. If there is a
> > better way of approaching the problem I would appreciate any thoughts.
> > The abbility to pass an parameter to a task would help a lot.
> >
> > Regards
> >
>

--~--~---------~--~----~------------~-------~--~----~
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at http://groups.google.com/group/capistrano
-~----------~----~----~----~------~----~------~--~---

Reply via email to