Method: CloudFlock::App::Common#rsync_migrate

Defined in:
lib/cloudflock/app/common/servers.rb

#rsync_migrate(watchdogs, shell, rsync) ⇒ Object



510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
# File 'lib/cloudflock/app/common/servers.rb', line 510

def rsync_migrate(watchdogs, shell, rsync)
  UI.spinner('Waiting for all hosts to appear to be in a healthy state') do
    ensure_no_watchdog_alerts(watchdogs)
  end
  UI.spinner('Performing rsync migration') do
    worker = Thread.new do
      rsync_migrate_thread(shell, rsync)
      Thread.current[:complete] = true
    end
    set_watchdog_alerts(watchdogs, worker)
    worker.join
    raise WatchdogAlert unless worker[:complete]
  end
rescue WatchdogAlert
  retry
end