Robin Bowes wrote:
On 09/02/10 13:08, Robin Bowes wrote:
For example, I have this in dev.rb:

task :enum_partition, :roles => [:puppet_masters] do
    desc "Enumerate hosts that are partition servers from puppet DB"
    # noop in dev
end

I replace this with:

task :enum_partition, :roles => [:puppet_masters] do
    desc "Enumerate hosts that are partition servers from puppet DB"
    role(:partition, {})
end

and I get a bit further, but a dev deploy fails with:

  * executing `remote:set_data_perms'
    setting ownership of data dir.
  * executing "chown statcounter:statcounter
/srv/www/apps/queue_processor/releases/20100209135423/data"
*** [deploy:update_code] rolling back
  * executing "rm -rf
/srv/www/apps/queue_processor/releases/20100209135423; true"
    servers: ["a006.private.a.statcounter.com"]
    [a006.private.a.statcounter.com] executing command
    command finished
`remote:set_data_perms' is only run for servers matching
{:roles=>[:partition]}, but no servers matched


Is it possible to make tasks optional, ie. so they simply don't execute
if no hosts are returned for their roles?

R.

Try adding on_error parameter to your task. Example:
 task :foo, :on_error => :continue do
   ...
 end

Regards

--
Rafa

--
* You received this message because you are subscribed to the Google Groups 
"Capistrano" group.
* To post to this group, send email to [email protected]
* To unsubscribe from this group, send email to 
[email protected] For more options, visit this group at 
http://groups.google.com/group/capistrano?hl=en

Reply via email to