💣 BaseAction
This commit is contained in:
parent
0ad76b753a
commit
164e57695e
14 changed files with 52 additions and 29 deletions
|
@ -1,7 +1,3 @@
|
||||||
# TODO: Remove base action
|
|
||||||
require 'vagrant-lxc/action/base_action'
|
|
||||||
|
|
||||||
# TODO: Use require_relative
|
|
||||||
require 'vagrant-lxc/action/boot'
|
require 'vagrant-lxc/action/boot'
|
||||||
require 'vagrant-lxc/action/check_created'
|
require 'vagrant-lxc/action/check_created'
|
||||||
require 'vagrant-lxc/action/check_running'
|
require 'vagrant-lxc/action/check_running'
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
module Vagrant
|
|
||||||
module LXC
|
|
||||||
module Action
|
|
||||||
class BaseAction
|
|
||||||
def initialize(app, env)
|
|
||||||
@app = app
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1,7 +1,11 @@
|
||||||
module Vagrant
|
module Vagrant
|
||||||
module LXC
|
module LXC
|
||||||
module Action
|
module Action
|
||||||
class Boot < BaseAction
|
class Boot
|
||||||
|
def initialize(app, env)
|
||||||
|
@app = app
|
||||||
|
end
|
||||||
|
|
||||||
def call(env)
|
def call(env)
|
||||||
@env = env
|
@env = env
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
module Vagrant
|
module Vagrant
|
||||||
module LXC
|
module LXC
|
||||||
module Action
|
module Action
|
||||||
class CheckCreated < BaseAction
|
class CheckCreated
|
||||||
|
def initialize(app, env)
|
||||||
|
@app = app
|
||||||
|
end
|
||||||
|
|
||||||
def call(env)
|
def call(env)
|
||||||
unless env[:machine].state.created?
|
unless env[:machine].state.created?
|
||||||
raise Vagrant::Errors::VMNotCreatedError
|
raise Vagrant::Errors::VMNotCreatedError
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
module Vagrant
|
module Vagrant
|
||||||
module LXC
|
module LXC
|
||||||
module Action
|
module Action
|
||||||
class CheckRunning < BaseAction
|
class CheckRunning
|
||||||
|
def initialize(app, env)
|
||||||
|
@app = app
|
||||||
|
end
|
||||||
|
|
||||||
def call(env)
|
def call(env)
|
||||||
unless env[:machine].state.running?
|
unless env[:machine].state.running?
|
||||||
raise Vagrant::Errors::VMNotRunningError
|
raise Vagrant::Errors::VMNotRunningError
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
module Vagrant
|
module Vagrant
|
||||||
module LXC
|
module LXC
|
||||||
module Action
|
module Action
|
||||||
class Create < BaseAction
|
class Create
|
||||||
|
def initialize(app, env)
|
||||||
|
@app = app
|
||||||
|
end
|
||||||
|
|
||||||
def call(env)
|
def call(env)
|
||||||
base_name = env[:root_path].basename.to_s
|
base_name = env[:root_path].basename.to_s
|
||||||
base_name.gsub!(/[^-a-z0-9_]/i, "")
|
base_name.gsub!(/[^-a-z0-9_]/i, "")
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
module Vagrant
|
module Vagrant
|
||||||
module LXC
|
module LXC
|
||||||
module Action
|
module Action
|
||||||
class Created < BaseAction
|
class Created
|
||||||
|
def initialize(app, env)
|
||||||
|
@app = app
|
||||||
|
end
|
||||||
|
|
||||||
def call(env)
|
def call(env)
|
||||||
# Set the result to be true if the machine is created.
|
# Set the result to be true if the machine is created.
|
||||||
env[:result] = env[:machine].state.created?
|
env[:result] = env[:machine].state.created?
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
module Vagrant
|
module Vagrant
|
||||||
module LXC
|
module LXC
|
||||||
module Action
|
module Action
|
||||||
class Destroy < BaseAction
|
class Destroy
|
||||||
|
def initialize(app, env)
|
||||||
|
@app = app
|
||||||
|
end
|
||||||
|
|
||||||
def call(env)
|
def call(env)
|
||||||
env[:ui].info I18n.t("vagrant.actions.vm.destroy.destroying")
|
env[:ui].info I18n.t("vagrant.actions.vm.destroy.destroying")
|
||||||
env[:machine].provider.container.destroy
|
env[:machine].provider.container.destroy
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
module Vagrant
|
module Vagrant
|
||||||
module LXC
|
module LXC
|
||||||
module Action
|
module Action
|
||||||
class Disconnect < BaseAction
|
class Disconnect
|
||||||
|
def initialize(app, env)
|
||||||
|
@app = app
|
||||||
|
end
|
||||||
|
|
||||||
def call(env)
|
def call(env)
|
||||||
@app.call env
|
@app.call env
|
||||||
# FIXME: Vagrant >= 1.1.3 should not need this
|
# FIXME: Vagrant >= 1.1.3 should not need this
|
||||||
|
|
|
@ -2,12 +2,12 @@ module Vagrant
|
||||||
module LXC
|
module LXC
|
||||||
module Action
|
module Action
|
||||||
# Prepare arguments to be used for lxc-create
|
# Prepare arguments to be used for lxc-create
|
||||||
class HandleBoxMetadata < BaseAction
|
class HandleBoxMetadata
|
||||||
LXC_TEMPLATES_PATH = Pathname.new("/usr/share/lxc/templates")
|
LXC_TEMPLATES_PATH = Pathname.new("/usr/share/lxc/templates")
|
||||||
TEMP_PREFIX = "vagrant-lxc-rootfs-temp-"
|
TEMP_PREFIX = "vagrant-lxc-rootfs-temp-"
|
||||||
|
|
||||||
def initialize(app, env)
|
def initialize(app, env)
|
||||||
super
|
@app = app
|
||||||
@logger = Log4r::Logger.new("vagrant::lxc::action::handle_box_metadata")
|
@logger = Log4r::Logger.new("vagrant::lxc::action::handle_box_metadata")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
module Vagrant
|
module Vagrant
|
||||||
module LXC
|
module LXC
|
||||||
module Action
|
module Action
|
||||||
class IsRunning < BaseAction
|
class IsRunning
|
||||||
|
def initialize(app, env)
|
||||||
|
@app = app
|
||||||
|
end
|
||||||
|
|
||||||
def call(env)
|
def call(env)
|
||||||
env[:result] = env[:machine].state.running?
|
env[:result] = env[:machine].state.running?
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
module Vagrant
|
module Vagrant
|
||||||
module LXC
|
module LXC
|
||||||
module Action
|
module Action
|
||||||
class Network < BaseAction
|
class Network
|
||||||
|
def initialize(app, env)
|
||||||
|
@app = app
|
||||||
|
end
|
||||||
|
|
||||||
def call(env)
|
def call(env)
|
||||||
# TODO: Validate network configuration prior to anything below
|
|
||||||
@env = env
|
@env = env
|
||||||
|
|
||||||
env[:machine].config.vm.networks.each do |type, options|
|
env[:machine].config.vm.networks.each do |type, options|
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
module Vagrant
|
module Vagrant
|
||||||
module LXC
|
module LXC
|
||||||
module Action
|
module Action
|
||||||
class ShareFolders < BaseAction
|
class ShareFolders
|
||||||
|
def initialize(app, env)
|
||||||
|
@app = app
|
||||||
|
end
|
||||||
|
|
||||||
def call(env)
|
def call(env)
|
||||||
@env = env
|
@env = env
|
||||||
prepare_folders
|
prepare_folders
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
require 'unit_helper'
|
require 'unit_helper'
|
||||||
|
|
||||||
require 'vagrant-lxc/action/base_action'
|
|
||||||
require 'vagrant-lxc/action/handle_box_metadata'
|
require 'vagrant-lxc/action/handle_box_metadata'
|
||||||
|
|
||||||
describe Vagrant::LXC::Action::HandleBoxMetadata do
|
describe Vagrant::LXC::Action::HandleBoxMetadata do
|
||||||
|
|
Loading…
Reference in a new issue