Class: Kitchen::LifecycleHook::Remote
- Defined in:
- lib/kitchen/lifecycle_hook/remote.rb
Instance Attribute Summary
Attributes inherited from Base
#hook, #lifecycle_hooks, #phase
Instance Method Summary collapse
-
#run ⇒ void
Execute a specific remote command hook.
Methods inherited from Base
#initialize, #logger, #should_run?
Constructor Details
This class inherits a constructor from Kitchen::LifecycleHook::Base
Instance Method Details
#run ⇒ void
This method returns an undefined value.
Execute a specific remote command hook.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/kitchen/lifecycle_hook/remote.rb', line 10 def run # Check if we're in a state that makes sense to even try. unless instance.last_action if hook[:skippable] # Just not even trying. return else raise UserError, "Cannot use remote lifecycle hooks during phases when the instance is not available" end end begin conn = instance.transport.connection(state_file.read) conn.execute(command) rescue Kitchen::Transport::SshFailed => e return if hook[:skippable] && e..match(/^SSH exited \(\d{1,3}\) for command: \[.+\]$/) raise end end |