Add middleware to force ssh disconnect
This commit is contained in:
parent
1609e6bdcb
commit
b5465ddab2
2 changed files with 16 additions and 0 deletions
|
@ -6,6 +6,7 @@ require 'vagrant-lxc/action/check_running'
|
||||||
require 'vagrant-lxc/action/create'
|
require 'vagrant-lxc/action/create'
|
||||||
require 'vagrant-lxc/action/created'
|
require 'vagrant-lxc/action/created'
|
||||||
require 'vagrant-lxc/action/destroy'
|
require 'vagrant-lxc/action/destroy'
|
||||||
|
require 'vagrant-lxc/action/disconnect'
|
||||||
require 'vagrant-lxc/action/forced_halt'
|
require 'vagrant-lxc/action/forced_halt'
|
||||||
require 'vagrant-lxc/action/handle_box_metadata'
|
require 'vagrant-lxc/action/handle_box_metadata'
|
||||||
require 'vagrant-lxc/action/is_running'
|
require 'vagrant-lxc/action/is_running'
|
||||||
|
@ -123,6 +124,7 @@ module Vagrant
|
||||||
# b.use CheckLXC
|
# b.use CheckLXC
|
||||||
b.use Vagrant::Action::Builtin::Call, Created do |env, b2|
|
b.use Vagrant::Action::Builtin::Call, Created do |env, b2|
|
||||||
if env[:result]
|
if env[:result]
|
||||||
|
b2.use Disconnect
|
||||||
b2.use Vagrant::Action::Builtin::Call, Vagrant::Action::Builtin::GracefulHalt, :stopped, :running do |env2, b3|
|
b2.use Vagrant::Action::Builtin::Call, Vagrant::Action::Builtin::GracefulHalt, :stopped, :running do |env2, b3|
|
||||||
if !env2[:result] && env2[:machine].provider.state.running?
|
if !env2[:result] && env2[:machine].provider.state.running?
|
||||||
b3.use ForcedHalt
|
b3.use ForcedHalt
|
||||||
|
|
14
lib/vagrant-lxc/action/disconnect.rb
Normal file
14
lib/vagrant-lxc/action/disconnect.rb
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
module Vagrant
|
||||||
|
module LXC
|
||||||
|
module Action
|
||||||
|
class Disconnect < BaseAction
|
||||||
|
def call(env)
|
||||||
|
@app.call env
|
||||||
|
# FIXME: Vagrant >= 1.1.3 should not need this
|
||||||
|
# https://github.com/mitchellh/vagrant/compare/715539eac30bc9ae62ddbb6337d13f036f7b774d...ec1bae0#L2R128
|
||||||
|
env[:machine].instance_variable_set(:@communicator, nil)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue