vagrant-lxc 0.1.1 → 0.2.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 92bccd1befe677dbdc19efd2a933735360940bbf
4
- data.tar.gz: 94562a0d7b89f14d4813f3c914dc6ed71083358d
3
+ metadata.gz: 186bdb083beeef3921bd1365defc643f73ee384e
4
+ data.tar.gz: 493eaf050cd7c208af7098ed3f0d6a4ecd3b508f
5
5
  SHA512:
6
- metadata.gz: b45e42a6f567badf41f207056a47e408714c5c9571760502ec91d64439100558d9e20eac33810d0d40965a82a2bda9b091c7726ca56d950940ba989dfd55f49c
7
- data.tar.gz: 730254e8c4288d87a36a60255e0c0c6aae18f2abacfccb76bea7ccad5d9b151cecbbd68c36b44e2e1859c35efa99651a2a57f5ecbf350671192819da827d7167
6
+ metadata.gz: 1efa2adc9cce87eca8a4fa1878f019cecb0834ec347f0ec5fed463fed8a5dd50f63792d72928d2ba34fecc9ee908190d6a3119551987158bba47d68444e7dc95
7
+ data.tar.gz: 080dde3c3857967619f7b1033e379d9c8e0c340e6128b7d53edcd2a89b71b496fefbe4f525c7c6874ee1978c207f054777da6bf7e9f13234c4fb0beedb6a9b4a
data/CHANGELOG.md CHANGED
@@ -1,4 +1,8 @@
1
- ## [0.1.1](https://github.com/fgrehm/vagrant-lxc/pull/43)
1
+ ## [0.2.0](https://github.com/fgrehm/vagrant-lxc/compare/v0.1.1...v0.2.0)
2
+
3
+ - Experimental box packaging (only tested with Ubuntu 64 base box)
4
+
5
+ ## [0.1.1](https://github.com/fgrehm/vagrant-lxc/compare/v0.1.0...v0.1.1)
2
6
 
3
7
  - Removed support for development under Vagrant < 1.1
4
8
  - Removed rsync from base quantal64 box to speed up containers creation [#40](https://github.com/fgrehm/vagrant-lxc/issues/40)
@@ -6,7 +10,7 @@
6
10
  - Skip Vagrant's built in SSH redirect
7
11
  - Allow setting rootfs from Vagrantfile [#30](https://github.com/fgrehm/vagrant-lxc/issues/30)
8
12
 
9
- ## 0.1.0
13
+ ## [0.1.0](https://github.com/fgrehm/vagrant-lxc/compare/v0.0.3...v0.1.0)
10
14
 
11
15
  - Support for chef added to base quantal64 box
12
16
  - Puppet upgraded to 3.1.1 on base quantal64 box
data/Gemfile.lock CHANGED
@@ -14,7 +14,7 @@ GIT
14
14
  PATH
15
15
  remote: .
16
16
  specs:
17
- vagrant-lxc (0.1.1)
17
+ vagrant-lxc (0.2.0)
18
18
 
19
19
  GEM
20
20
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -16,9 +16,11 @@ sudo dpkg -i /tmp/vagrant.deb
16
16
  ```
17
17
 
18
18
 
19
- ## What is currently supported? (v0.1.1)
19
+ ## What is currently supported? (v0.2.0)
20
20
 
21
- * Vagrant's `up`, `halt`, `reload`, `destroy`, and `ssh` commands
21
+ Pretty much everything you need from Vagrant:
22
+
23
+ * Vagrant's `up`, `halt`, `reload`, `destroy`, `ssh` and `package` commands (box packaging is kind of experimental)
22
24
  * Shared folders
23
25
  * Provisioning
24
26
  * Setting container's host name
@@ -32,8 +34,7 @@ for the most up to date list.*
32
34
 
33
35
  * Does not detect forwarded ports collision, right now you are responsible for taking care of that
34
36
  * A hell lot of `sudo`s
35
- * Only a [single ubuntu box supported](boxes), I'm still [figuring out what should go
36
- on the .box file](https://github.com/fgrehm/vagrant-lxc/issues/4)
37
+ * Only a [single ubuntu box supported](boxes)
37
38
  * "[works on my machine](https://github.com/fgrehm/vagrant-lxc/issues/20)" (TM)
38
39
  * [Does not tell you if dependencies are not met](https://github.com/fgrehm/vagrant-lxc/issues/11)
39
40
  (will probably just throw up some random error)
@@ -54,7 +55,7 @@ After that you can create a `Vagrantfile` like the one below and run `vagrant up
54
55
  ```ruby
55
56
  Vagrant.configure("2") do |config|
56
57
  config.vm.box = "lxc-quantal64"
57
- config.vm.box_url = 'http://dl.dropbox.com/u/13510779/lxc-quantal64-2013-03-26.box'
58
+ config.vm.box_url = 'http://dl.dropbox.com/u/13510779/lxc-quantal64-2013-03-31.box'
58
59
 
59
60
  # Share an additional folder to the guest Container. The first argument
60
61
  # is the path on the host to the actual folder. The second argument is
@@ -78,8 +78,10 @@ EOF
78
78
  rm -f $rootfs/etc/init/tty{5,6}.conf
79
79
  fi
80
80
 
81
- chroot $rootfs useradd --create-home -s /bin/bash vagrant
82
- echo "vagrant:vagrant" | chroot $rootfs chpasswd
81
+ if ! (grep -q vagrant $rootfs/etc/passwd); then
82
+ chroot $rootfs useradd --create-home -s /bin/bash vagrant
83
+ echo "vagrant:vagrant" | chroot $rootfs chpasswd
84
+ fi
83
85
 
84
86
  return 0
85
87
  }
@@ -1,6 +1,6 @@
1
1
  {
2
- "provider": "lxc",
3
- "vagrant-lxc-version": "0.0.1",
2
+ "provider": "lxc",
3
+ "version": "1",
4
4
 
5
5
  "template-opts": {
6
6
  "--arch": "amd64",
@@ -21,18 +21,19 @@ def local_gem_cache(box_name)
21
21
  cache_dir
22
22
  end
23
23
 
24
+ # Required to make sure vagrant picks it up during development
24
25
  Vagrant.require_plugin 'vagrant-lxc'
25
26
 
26
27
  Vagrant.configure("2") do |config|
27
28
  config.vm.box = "quantal64"
28
29
 
29
- config.vm.synced_folder "../", "/vagrant", name: 'vagrant-root'
30
+ config.vm.synced_folder "../", "/vagrant", id: 'vagrant-root'
30
31
 
31
32
  cache_dir = local_apt_cache(config.vm.box)
32
- config.vm.synced_folder cache_dir, "/var/cache/apt/archives", name: "vagrant-apt-cache"
33
+ config.vm.synced_folder cache_dir, "/var/cache/apt/archives", id: "vagrant-apt-cache"
33
34
 
34
35
  cache_dir = local_gem_cache(config.vm.box)
35
- config.vm.synced_folder cache_dir, "/home/vagrant/gems/cache", name: "vagrant-gem-cache"
36
+ config.vm.synced_folder cache_dir, "/home/vagrant/gems/cache", id: "vagrant-gem-cache"
36
37
 
37
38
  config.vm.define :vbox do |vb_config|
38
39
  vb_config.vm.box_url = "https://github.com/downloads/roderik/VagrantQuantal64Box/quantal64.box"
@@ -50,13 +51,15 @@ Vagrant.configure("2") do |config|
50
51
 
51
52
  config.vm.define :lxc do |lxc_config|
52
53
  lxc_config.vm.hostname = 'lxc-dev-box'
54
+ lxc_config.vm.box_url = 'http://dl.dropbox.com/u/13510779/lxc-quantal64-2013-03-31.box'
53
55
  # Uncomment to test boxes built locally:
54
56
  # lxc_config.vm.box_url = '../boxes/output/lxc-quantal64.box'
55
- lxc_config.vm.box_url = 'http://dl.dropbox.com/u/13510779/lxc-quantal64-2013-03-26.box'
56
57
 
57
58
  lxc_config.vm.provider :lxc do |lxc|
58
59
  # Required to boot nested containers
59
60
  lxc.start_opts << 'lxc.aa_profile=unconfined'
61
+ # Change this to override the path where the rootfs gets stored
62
+ # lxc.target_rootfs_path = '/path/to/vagrant-lxc-dev-box-rootfs'
60
63
  end
61
64
  end
62
65
 
data/example/Vagrantfile CHANGED
@@ -11,12 +11,15 @@ def local_cache(box_name)
11
11
  cache_dir
12
12
  end
13
13
 
14
+ # Not really needed, but useful while developing so that vagrant picks it up
14
15
  Vagrant.require_plugin 'vagrant-lxc'
15
16
 
16
17
  Vagrant.configure("2") do |config|
17
18
  config.vm.box = "quantal64"
18
- config.vm.box_url = 'http://dl.dropbox.com/u/13510779/lxc-quantal64-2013-03-26.box'
19
- config.vm.hostname = 'lxc-quantal64'
19
+ config.vm.box_url = 'http://dl.dropbox.com/u/13510779/lxc-quantal64-2013-03-31.box'
20
+ # Uncomment if you want to try out a box built locally
21
+ # config.vm.box_url = '../boxes/output/lxc-quantal64.box'
22
+ config.vm.hostname = 'lxc-quantal64-example'
20
23
 
21
24
  config.vm.synced_folder "/tmp", "/vagrant_data"
22
25
 
@@ -36,7 +39,10 @@ echo "Hi there I'm a shell script used for provisioning"
36
39
  puppet.module_path = "puppet/modules"
37
40
  puppet.manifests_path = "puppet/manifests"
38
41
  puppet.manifest_file = "site.pp"
39
- # If you want to make some debugging noise
40
- # puppet.options << [ '--verbose', '--debug' ]
42
+ end
43
+
44
+ config.vm.provision :chef_solo do |chef|
45
+ chef.add_recipe "hello-world"
46
+ chef.log_level = :debug
41
47
  end
42
48
  end
@@ -0,0 +1,4 @@
1
+ execute "hello world" do
2
+ command "echo 'Hello from Chef!'"
3
+ action :run
4
+ end
@@ -10,11 +10,13 @@ require 'vagrant-lxc/action/create'
10
10
  require 'vagrant-lxc/action/created'
11
11
  require 'vagrant-lxc/action/destroy'
12
12
  require 'vagrant-lxc/action/disconnect'
13
+ require 'vagrant-lxc/action/compress_rootfs'
13
14
  require 'vagrant-lxc/action/forced_halt'
14
15
  require 'vagrant-lxc/action/forward_ports'
15
16
  require 'vagrant-lxc/action/handle_box_metadata'
16
17
  require 'vagrant-lxc/action/is_running'
17
18
  require 'vagrant-lxc/action/network'
19
+ require 'vagrant-lxc/action/setup_package_files'
18
20
  require 'vagrant-lxc/action/share_folders'
19
21
 
20
22
  module Vagrant
@@ -58,7 +60,6 @@ module Vagrant
58
60
  b.use ShareFolders
59
61
  b.use Network
60
62
  b.use Vagrant::Action::Builtin::SetHostname
61
- # b.use SaneDefaults
62
63
  # b.use Customize
63
64
  b.use ForwardPorts
64
65
  b.use Boot
@@ -84,7 +85,6 @@ module Vagrant
84
85
  next
85
86
  end
86
87
 
87
- # b3.use CheckAccessible
88
88
  b3.use Vagrant::Action::Builtin::Provision
89
89
  end
90
90
  end
@@ -175,12 +175,30 @@ module Vagrant
175
175
  end
176
176
  end
177
177
 
178
+ # This action packages the virtual machine into a single box file.
179
+ def self.action_package
180
+ Vagrant::Action::Builder.new.tap do |b|
181
+ # b.use CheckDependencies
182
+ b.use Vagrant::Action::Builtin::Call, Created do |env1, b2|
183
+ if !env1[:result]
184
+ # TODO: Implement our own MessageNotCreated
185
+ b2.use VagrantPlugins::ProviderVirtualBox::Action::MessageNotCreated
186
+ next
187
+ end
188
+
189
+ b2.use action_halt
190
+ b2.use CompressRootFS
191
+ b2.use SetupPackageFiles
192
+ b2.use Vagrant::Action::General::Package
193
+ end
194
+ end
195
+ end
196
+
178
197
  # This is the action that will exec into an SSH shell.
179
198
  def self.action_ssh
180
199
  Vagrant::Action::Builder.new.tap do |b|
181
200
  # b.use CheckDependencies
182
201
  b.use CheckCreated
183
- # b.use CheckAccessible
184
202
  b.use CheckRunning
185
203
  b.use Vagrant::Action::Builtin::SSHExec
186
204
  end
@@ -191,7 +209,6 @@ module Vagrant
191
209
  Vagrant::Action::Builder.new.tap do |b|
192
210
  # b.use CheckDependencies
193
211
  b.use CheckCreated
194
- # b.use CheckAccessible
195
212
  b.use CheckRunning
196
213
  b.use Vagrant::Action::Builtin::SSHRun
197
214
  end
@@ -0,0 +1,30 @@
1
+ require "fileutils"
2
+
3
+ module Vagrant
4
+ module LXC
5
+ module Action
6
+ class CompressRootFS
7
+ def initialize(app, env)
8
+ @app = app
9
+ end
10
+
11
+ def call(env)
12
+ raise Vagrant::Errors::VMPowerOffToPackage if env[:machine].provider.state.id != :stopped
13
+
14
+ env[:ui].info I18n.t("vagrant.actions.lxc.compressing_rootfs")
15
+ @rootfs = env['package.rootfs'] = env[:machine].provider.container.compress_rootfs
16
+
17
+ @app.call env
18
+
19
+ recover # called to remove the rootfs tarball
20
+ end
21
+
22
+ def recover(*)
23
+ if @rootfs && File.exist?(@rootfs)
24
+ FileUtils.rm_rf(File.dirname @rootfs)
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -29,7 +29,8 @@ module Vagrant
29
29
  system(%Q[sudo su root -c "cp #{lxc_template_src} #{dest}"])
30
30
 
31
31
  @logger.debug('Extracting rootfs')
32
- system(%Q[sudo su root -c "cd #{box.directory} && tar xfz rootfs.tar.gz -C #{rootfs_cache}"])
32
+ # TODO: Ideally the compressed rootfs should not output errors...
33
+ system(%Q[sudo su root -c "cd #{box.directory} && tar xfz rootfs.tar.gz -C #{rootfs_cache} 2>/dev/null"])
33
34
 
34
35
  box.metadata.merge!(
35
36
  'template-name' => template_name,
@@ -0,0 +1,52 @@
1
+ require 'fileutils'
2
+
3
+ module Vagrant
4
+ module LXC
5
+ module Action
6
+ class SetupPackageFiles
7
+ def initialize(app, env)
8
+ @app = app
9
+
10
+ env["package.include"] ||= []
11
+ env["package.vagrantfile"] ||= nil
12
+ end
13
+
14
+ def call(env)
15
+ @env = env
16
+
17
+ create_package_temp_dir
18
+ move_rootfs_to_pkg_dir
19
+ copy_box_files_to_pkg_dir
20
+
21
+ @app.call env
22
+
23
+ recover # called to cleanup temp directory
24
+ end
25
+
26
+ def recover(*)
27
+ if @temp_dir && File.exist?(@temp_dir)
28
+ FileUtils.rm_rf(@temp_dir)
29
+ end
30
+ end
31
+
32
+ private
33
+
34
+ def create_package_temp_dir
35
+ @env[:ui].info I18n.t("vagrant.actions.vm.export.create_dir")
36
+ @temp_dir = @env["package.directory"] = @env[:tmp_path].join("container-export-#{Time.now.to_i.to_s}")
37
+ FileUtils.mkpath(@temp_dir)
38
+ end
39
+
40
+ def move_rootfs_to_pkg_dir
41
+ FileUtils.mv @env['package.rootfs'].to_s, @env['package.directory'].to_s
42
+ end
43
+
44
+ def copy_box_files_to_pkg_dir
45
+ box_dir = @env[:machine].box.directory
46
+ FileUtils.cp box_dir.join('lxc-template').to_s, @env['package.directory'].to_s
47
+ FileUtils.cp box_dir.join('metadata.json').to_s, @env['package.directory'].to_s
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -93,6 +93,26 @@ module Vagrant
93
93
  @cli.destroy
94
94
  end
95
95
 
96
+ # TODO: This needs to be reviewed and specs needs to be written
97
+ def compress_rootfs
98
+ # TODO: Our template should not depend on container's arch
99
+ arch = base_path.join('config').read.match(/^lxc\.arch\s+=\s+(.+)$/)[1]
100
+ rootfs_dirname = File.dirname rootfs_path
101
+ basename = rootfs_path.to_s.gsub(/^#{Regexp.escape rootfs_dirname}\//, '')
102
+ # TODO: Pass in tmpdir so we can clean up from outside
103
+ target_path = "#{Dir.mktmpdir}/rootfs.tar.gz"
104
+
105
+ Dir.chdir base_path do
106
+ @logger.info "Compressing '#{rootfs_path}' rootfs to #{target_path}"
107
+ system "sudo rm -f rootfs.tar.gz && sudo bsdtar -s /#{basename}/rootfs-#{arch}/ --numeric-owner -czf #{target_path} #{basename}/* 2>/dev/null"
108
+
109
+ @logger.info "Changing rootfs tarbal owner"
110
+ system "sudo chown #{ENV['USER']}:#{ENV['USER']} #{target_path}"
111
+ end
112
+
113
+ target_path
114
+ end
115
+
96
116
  def state
97
117
  if @name
98
118
  @cli.state
@@ -1,5 +1,5 @@
1
1
  module Vagrant
2
2
  module LXC
3
- VERSION = "0.1.1"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
data/locales/en.yml CHANGED
@@ -2,6 +2,8 @@ en:
2
2
  vagrant:
3
3
  actions:
4
4
  lxc:
5
+ compressing_rootfs: Compressing container's rootfs...
6
+
5
7
  share_folders:
6
8
  preparing: Setting up mount entries for shared folders...
7
9
 
@@ -0,0 +1,27 @@
1
+ require 'unit_helper'
2
+
3
+ require 'vagrant-lxc/action/compress_rootfs'
4
+
5
+ describe Vagrant::LXC::Action::CompressRootFS do
6
+ let(:app) { mock(:app, call: true) }
7
+ let(:env) { {machine: machine, ui: stub(info: true)} }
8
+ let(:machine) { fire_double('Vagrant::Machine', provider: provider) }
9
+ let(:provider) { fire_double('Vagrant::LXC::Provider', container: container) }
10
+ let(:container) { fire_double('Vagrant::LXC::Container', compress_rootfs: compressed_rootfs_path) }
11
+ let(:compressed_rootfs_path) { '/path/to/rootfs.tar.gz' }
12
+
13
+ subject { described_class.new(app, env) }
14
+
15
+ before do
16
+ provider.stub_chain(:state, :id).and_return(:stopped)
17
+ subject.call(env)
18
+ end
19
+
20
+ it 'asks the container to compress its rootfs' do
21
+ container.should have_received(:compress_rootfs)
22
+ end
23
+
24
+ it 'sets export.temp_dir on action env' do
25
+ env['package.rootfs'].should == compressed_rootfs_path
26
+ end
27
+ end
@@ -39,6 +39,6 @@ describe Vagrant::LXC::Action::HandleBoxMetadata do
39
39
 
40
40
  it 'extracts rootfs into a tmp folder' do
41
41
  subject.should have_received(:system).
42
- with(%Q[sudo su root -c "cd #{box_directory} && tar xfz rootfs.tar.gz -C #{tmpdir}"])
42
+ with(%Q[sudo su root -c "cd #{box_directory} && tar xfz rootfs.tar.gz -C #{tmpdir} 2>/dev/null"])
43
43
  end
44
44
  end
@@ -0,0 +1,41 @@
1
+ require 'unit_helper'
2
+
3
+ require 'vagrant-lxc/action/setup_package_files'
4
+
5
+ describe Vagrant::LXC::Action::SetupPackageFiles do
6
+ let(:app) { mock(:app, call: true) }
7
+ let(:env) { {machine: machine, tmp_path: tmp_path, ui: stub(info: true), 'package.rootfs' => rootfs_path} }
8
+ let(:machine) { fire_double('Vagrant::Machine', box: box) }
9
+ let!(:tmp_path) { Pathname.new(Dir.mktmpdir) }
10
+ let(:box) { fire_double('Vagrant::Box', directory: tmp_path.join('box')) }
11
+ let(:rootfs_path) { tmp_path.join('rootfs-amd64.tar.gz') }
12
+
13
+ subject { described_class.new(app, env) }
14
+
15
+ before do
16
+ box.directory.mkdir
17
+ [box.directory.join('lxc-template'), box.directory.join('metadata.json'), rootfs_path].each do |file|
18
+ file.open('w') { |f| f.puts file.to_s }
19
+ end
20
+
21
+ subject.stub(recover: true) # Prevents files from being removed on specs
22
+ subject.call(env)
23
+ end
24
+
25
+ after do
26
+ FileUtils.rm_rf(tmp_path.to_s)
27
+ end
28
+
29
+ it 'copies box lxc-template to package directory' do
30
+ env['package.directory'].join('lxc-template').should be_file
31
+ end
32
+
33
+ it 'copies metadata.json to package directory' do
34
+ env['package.directory'].join('metadata.json').should be_file
35
+ end
36
+
37
+ it 'moves the compressed rootfs to package directory' do
38
+ env['package.directory'].join(rootfs_path.basename).should be_file
39
+ env['package.rootfs'].should_not be_file
40
+ end
41
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-lxc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fabio Rehm
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-03-29 00:00:00.000000000 Z
11
+ date: 2013-03-31 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Linux Containers provider for Vagrant
14
14
  email:
@@ -37,6 +37,7 @@ files:
37
37
  - development/shell-provisioning/upgrade-kernel
38
38
  - development/site.pp
39
39
  - example/Vagrantfile
40
+ - example/cookbooks/hello-world/recipes/default.rb
40
41
  - example/puppet/manifests/site.pp
41
42
  - example/puppet/modules/hello_world/manifests/init.pp
42
43
  - lib/vagrant-lxc.rb
@@ -46,6 +47,7 @@ files:
46
47
  - lib/vagrant-lxc/action/check_created.rb
47
48
  - lib/vagrant-lxc/action/check_running.rb
48
49
  - lib/vagrant-lxc/action/clear_forwarded_ports.rb
50
+ - lib/vagrant-lxc/action/compress_rootfs.rb
49
51
  - lib/vagrant-lxc/action/create.rb
50
52
  - lib/vagrant-lxc/action/created.rb
51
53
  - lib/vagrant-lxc/action/destroy.rb
@@ -55,6 +57,7 @@ files:
55
57
  - lib/vagrant-lxc/action/handle_box_metadata.rb
56
58
  - lib/vagrant-lxc/action/is_running.rb
57
59
  - lib/vagrant-lxc/action/network.rb
60
+ - lib/vagrant-lxc/action/setup_package_files.rb
58
61
  - lib/vagrant-lxc/action/share_folders.rb
59
62
  - lib/vagrant-lxc/config.rb
60
63
  - lib/vagrant-lxc/container.rb
@@ -69,8 +72,10 @@ files:
69
72
  - spec/spec_helper.rb
70
73
  - spec/support/unit_example_group.rb
71
74
  - spec/unit/action/clear_forwarded_ports_spec.rb
75
+ - spec/unit/action/compress_rootfs_spec.rb
72
76
  - spec/unit/action/forward_ports_spec.rb
73
77
  - spec/unit/action/handle_box_metadata_spec.rb
78
+ - spec/unit/action/setup_package_files_spec.rb
74
79
  - spec/unit/container/cli_spec.rb
75
80
  - spec/unit/container_spec.rb
76
81
  - spec/unit/machine_state_spec.rb
@@ -106,8 +111,10 @@ test_files:
106
111
  - spec/spec_helper.rb
107
112
  - spec/support/unit_example_group.rb
108
113
  - spec/unit/action/clear_forwarded_ports_spec.rb
114
+ - spec/unit/action/compress_rootfs_spec.rb
109
115
  - spec/unit/action/forward_ports_spec.rb
110
116
  - spec/unit/action/handle_box_metadata_spec.rb
117
+ - spec/unit/action/setup_package_files_spec.rb
111
118
  - spec/unit/container/cli_spec.rb
112
119
  - spec/unit/container_spec.rb
113
120
  - spec/unit/machine_state_spec.rb