vagrant-lxc 0.8.0 → 1.0.0.alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +2 -2
- data/BOXES.md +13 -21
- data/CHANGELOG.md +49 -0
- data/CONTRIBUTING.md +5 -2
- data/Gemfile +12 -13
- data/Gemfile.lock +66 -51
- data/README.md +39 -25
- data/development/Vagrantfile +0 -2
- data/lib/vagrant-backports/README.md +12 -0
- data/lib/vagrant-backports/action/handle_box.rb +1 -0
- data/lib/vagrant-backports/action/is_state.rb +34 -0
- data/lib/vagrant-backports/action/message.rb +20 -0
- data/lib/{vagrant-lxc → vagrant-backports}/action/wait_for_communicator.rb +6 -5
- data/lib/vagrant-backports/ui.rb +12 -0
- data/lib/vagrant-backports/utils.rb +27 -0
- data/lib/vagrant-lxc.rb +8 -0
- data/lib/vagrant-lxc/action.rb +81 -48
- data/lib/vagrant-lxc/action/boot.rb +2 -1
- data/lib/vagrant-lxc/action/fetch_ip_from_dnsmasq_leases.rb +1 -0
- data/lib/vagrant-lxc/action/handle_box_metadata.rb +36 -14
- data/lib/vagrant-lxc/action/message.rb +0 -23
- data/lib/vagrant-lxc/action/prepare_nfs_settings.rb +64 -0
- data/lib/vagrant-lxc/action/prepare_nfs_valid_ids.rb +19 -0
- data/lib/vagrant-lxc/action/setup_package_files.rb +6 -2
- data/lib/vagrant-lxc/{action → backports/action}/share_folders.rb +0 -0
- data/lib/vagrant-lxc/command/root.rb +58 -0
- data/lib/vagrant-lxc/command/sudoers.rb +87 -0
- data/lib/vagrant-lxc/driver.rb +21 -11
- data/lib/vagrant-lxc/plugin.rb +23 -5
- data/lib/vagrant-lxc/provider/cap/public_address.rb +17 -0
- data/lib/vagrant-lxc/synced_folder.rb +42 -0
- data/lib/vagrant-lxc/version.rb +1 -1
- data/locales/en.yml +6 -5
- data/scripts/lxc-template +165 -0
- data/spec/spec_helper.rb +9 -13
- data/spec/unit/action/clear_forwarded_ports_spec.rb +3 -3
- data/spec/unit/action/compress_rootfs_spec.rb +7 -5
- data/spec/unit/action/forward_ports_spec.rb +8 -8
- data/spec/unit/action/handle_box_metadata_spec.rb +71 -15
- data/spec/unit/action/setup_package_files_spec.rb +32 -8
- data/spec/unit/driver/cli_spec.rb +31 -30
- data/spec/unit/driver_spec.rb +35 -27
- data/spec/unit/support/unit_example_group.rb +6 -6
- data/spec/unit_helper.rb +4 -2
- data/tasks/spec.rake +18 -11
- data/vagrant-lxc.gemspec +7 -0
- data/vagrant-spec.config.rb +24 -0
- metadata +24 -36
- data/boxes/build-all.sh +0 -22
- data/boxes/build-debian-box.sh +0 -167
- data/boxes/build-openmandriva-box.sh +0 -159
- data/boxes/build-ubuntu-box.sh +0 -151
- data/boxes/common/cleanup +0 -7
- data/boxes/common/install-babushka +0 -16
- data/boxes/common/install-chef +0 -15
- data/boxes/common/install-puppet +0 -13
- data/boxes/common/install-salt +0 -12
- data/boxes/common/install-salt-debian +0 -28
- data/boxes/common/lxc-template +0 -226
- data/boxes/common/lxc-template-openmandriva +0 -225
- data/boxes/common/lxc.conf +0 -49
- data/boxes/common/metadata.json +0 -5
- data/lib/vagrant-lxc/action/check_created.rb +0 -21
- data/lib/vagrant-lxc/action/check_running.rb +0 -21
- data/lib/vagrant-lxc/action/created.rb +0 -20
- data/lib/vagrant-lxc/action/disconnect.rb +0 -18
- data/lib/vagrant-lxc/action/is_running.rb +0 -19
- data/spec/acceptance/sanity_check_spec.rb +0 -111
- data/spec/acceptance/support/acceptance_example_group.rb +0 -76
- data/spec/acceptance/support/machine_ext.rb +0 -12
- data/spec/acceptance/support/test_ui.rb +0 -22
- data/spec/acceptance_helper.rb +0 -21
@@ -1,76 +0,0 @@
|
|
1
|
-
module AcceptanceExampleGroup
|
2
|
-
def self.included(base)
|
3
|
-
base.metadata[:type] = :acceptance
|
4
|
-
end
|
5
|
-
|
6
|
-
ID_FILE = "/vagrant/spec/.vagrant/machines/default/lxc/id"
|
7
|
-
def vagrant_container_name
|
8
|
-
File.read(ID_FILE).strip.chomp if File.exists?(ID_FILE)
|
9
|
-
end
|
10
|
-
|
11
|
-
def destroy_container
|
12
|
-
if name = vagrant_container_name
|
13
|
-
`sudo lxc-shutdown -n #{name} 2>/dev/null`
|
14
|
-
`sudo lxc-wait -n #{name} --state STOPPED 2>/dev/null`
|
15
|
-
`sudo lxc-destroy -n #{name} 2>/dev/null`
|
16
|
-
`rm -rf /vagrant/spec/.vagrant/`
|
17
|
-
end
|
18
|
-
`sudo killall -9 redir 2>/dev/null`
|
19
|
-
end
|
20
|
-
|
21
|
-
def with_vagrant_environment
|
22
|
-
opts = { cwd: '/vagrant/spec', ui_class: TestUI }
|
23
|
-
env = Vagrant::Environment.new(opts)
|
24
|
-
yield env
|
25
|
-
env.unload
|
26
|
-
end
|
27
|
-
|
28
|
-
def vagrant_up
|
29
|
-
with_vagrant_environment do |env|
|
30
|
-
env.cli('up', '--provider', 'lxc')
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
def vagrant_halt
|
35
|
-
with_vagrant_environment do |env|
|
36
|
-
env.cli('halt')
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
def vagrant_destroy
|
41
|
-
with_vagrant_environment do |env|
|
42
|
-
env.cli('destroy', '-f')
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
def vagrant_ssh(cmd)
|
47
|
-
output = nil
|
48
|
-
with_vagrant_environment do |env|
|
49
|
-
result = env.cli('ssh', '-c', cmd)
|
50
|
-
if result.to_i != 0
|
51
|
-
raise "SSH command failed: '#{cmd}'\n#{env.ui.messages.inspect}"
|
52
|
-
end
|
53
|
-
output = env.ui.messages[:info].join("\n").chomp
|
54
|
-
end
|
55
|
-
output
|
56
|
-
end
|
57
|
-
|
58
|
-
def vagrant_package
|
59
|
-
with_vagrant_environment do |env|
|
60
|
-
pkg = '/vagrant/spec/tmp/package.box'
|
61
|
-
`rm -f #{pkg}`
|
62
|
-
env.cli('package', '--output', pkg)
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
def vagrant_box_remove(name)
|
67
|
-
with_vagrant_environment do |env|
|
68
|
-
env.cli('box', 'list')
|
69
|
-
output = env.ui.messages[:info].join("\n").chomp
|
70
|
-
|
71
|
-
if output.include?(name)
|
72
|
-
env.cli('box', 'remove', name)
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
# Monkey patch vagrant in order to reuse the UI test object that is set on
|
2
|
-
# our Vagrant::Environments
|
3
|
-
#
|
4
|
-
require 'vagrant/machine'
|
5
|
-
Vagrant::Machine.class_eval do
|
6
|
-
alias :old_action :action
|
7
|
-
|
8
|
-
define_method :action do |action_name, extra_env = nil|
|
9
|
-
extra_env = { ui: @env.ui }.merge(extra_env || {})
|
10
|
-
old_action action_name, extra_env
|
11
|
-
end
|
12
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
class TestUI < Vagrant::UI::Interface
|
2
|
-
attr_reader :messages
|
3
|
-
|
4
|
-
METHODS = [:clear_line, :report_progress, :warn, :error, :info, :success]
|
5
|
-
|
6
|
-
def initialize
|
7
|
-
super
|
8
|
-
@messages = METHODS.each_with_object({}) { |m, h| h[m] = [] }
|
9
|
-
end
|
10
|
-
|
11
|
-
def ask(*args)
|
12
|
-
super
|
13
|
-
# Automated tests should not depend on user input, obviously.
|
14
|
-
raise Errors::UIExpectsTTY
|
15
|
-
end
|
16
|
-
|
17
|
-
METHODS.each do |method|
|
18
|
-
define_method(method) do |*args|#message, *opts|
|
19
|
-
@messages[method].push args[0]
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
data/spec/acceptance_helper.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
unless ENV['USER'] == 'vagrant'
|
4
|
-
puts 'Acceptance specs are supposed to run from one of the vagrant-lxc dev machines'
|
5
|
-
exit 1
|
6
|
-
end
|
7
|
-
|
8
|
-
if defined? SimpleCov
|
9
|
-
SimpleCov.command_name 'acceptance'
|
10
|
-
end
|
11
|
-
|
12
|
-
require 'vagrant'
|
13
|
-
require 'vagrant-lxc'
|
14
|
-
|
15
|
-
Dir[File.dirname(__FILE__) + "/acceptance/support/**/*.rb"].each { |f| require f }
|
16
|
-
|
17
|
-
RSpec.configure do |config|
|
18
|
-
config.include AcceptanceExampleGroup, :type => :acceptance, :example_group => {
|
19
|
-
:file_path => /\bspec\/acceptance\//
|
20
|
-
}
|
21
|
-
end
|