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