Sha256: d716fad510cd60f7557cd4572f2238ca973fc65e638ac71322d2742bd8cc97e2
Contents?: true
Size: 1.09 KB
Versions: 8
Compression:
Stored size: 1.09 KB
Contents
require 'log4r' require 'timeout' require 'vagrant-deltacloud-provider/action/abstract_action' require 'vagrant-deltacloud-provider/client/deltacloud' module VagrantPlugins module Deltacloud module Action class WaitForServerToStop < AbstractAction def initialize(app, _env, retry_interval = 3, timeout = 200) @app = app @logger = Log4r::Logger.new('vagrant_deltacloud::action::stop_server') @retry_interval = retry_interval @timeout = timeout end def execute(env) env[:deltacloud_client] = Deltacloud::DeltacloudClient.instance if env[:machine].id env[:ui].info(I18n.t('vagrant_deltacloud.waiting_stop')) client = env[:deltacloud_client] timeout(@timeout, Errors::Timeout) do while client.get_instance_details(env, env[:machine].id).status != 'STOPPED' sleep @retry_interval @logger.info('Waiting for server to stop') end end end @app.call(env) end end end end end
Version data entries
8 entries across 8 versions & 1 rubygems