From e4dd0620ce8a434934f74e240fba443afa557964 Mon Sep 17 00:00:00 2001 From: Fabio Rehm Date: Wed, 10 Apr 2013 01:36:53 -0300 Subject: [PATCH] Revert "Remove custom Disconnect action" This reverts commit a8825b0b28d082a1d10e913b3647b22c40a1600b. I'm still having issues with SSH connections, even with 1.1.5 --- lib/vagrant-lxc/action.rb | 3 +++ lib/vagrant-lxc/action/disconnect.rb | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 lib/vagrant-lxc/action/disconnect.rb diff --git a/lib/vagrant-lxc/action.rb b/lib/vagrant-lxc/action.rb index 4cdb452..30485cf 100644 --- a/lib/vagrant-lxc/action.rb +++ b/lib/vagrant-lxc/action.rb @@ -5,6 +5,7 @@ require 'vagrant-lxc/action/clear_forwarded_ports' require 'vagrant-lxc/action/create' require 'vagrant-lxc/action/created' require 'vagrant-lxc/action/destroy' +require 'vagrant-lxc/action/disconnect' require 'vagrant-lxc/action/compress_rootfs' require 'vagrant-lxc/action/forced_halt' require 'vagrant-lxc/action/forward_ports' @@ -117,6 +118,8 @@ module Vagrant # b.use CheckDependencies b.use Vagrant::Action::Builtin::Call, Created do |env, b2| if env[:result] + # TODO: If vagrant >=... + b2.use Disconnect b2.use ClearForwardedPorts b2.use Vagrant::Action::Builtin::Call, Vagrant::Action::Builtin::GracefulHalt, :stopped, :running do |env2, b3| if !env2[:result] diff --git a/lib/vagrant-lxc/action/disconnect.rb b/lib/vagrant-lxc/action/disconnect.rb new file mode 100644 index 0000000..69aee10 --- /dev/null +++ b/lib/vagrant-lxc/action/disconnect.rb @@ -0,0 +1,18 @@ +module Vagrant + module LXC + module Action + class Disconnect + def initialize(app, env) + @app = app + end + + 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