beaker-vagrant 0.6.2 → 0.6.7
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 +5 -5
- data/.github/dependabot.yml +8 -0
- data/.github/workflows/test.yml +32 -0
- data/.rspec +1 -0
- data/Gemfile +1 -1
- data/README.md +9 -0
- data/Rakefile +2 -2
- data/beaker-vagrant.gemspec +0 -1
- data/docs/vagrant.md +39 -1
- data/lib/beaker-vagrant/version.rb +1 -1
- data/lib/beaker/hypervisor/vagrant.rb +35 -17
- data/lib/beaker/hypervisor/vagrant_libvirt.rb +7 -0
- data/lib/beaker/hypervisor/vagrant_virtualbox.rb +4 -4
- data/spec/beaker/hypervisor/vagrant_spec.rb +6 -4
- data/spec/beaker/hypervisor/vagrant_virtualbox_spec.rb +25 -12
- metadata +5 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: cc3033b00b34521daab9d6221f02c1514cffaff1c64863dcb5643bf964e28f10
|
4
|
+
data.tar.gz: be554ffaf55e253e2ef2c61f86c3b9fec52f043f3ce496d1eb5c898e4c4c9da2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf38bd6c73c279461c5f9f8a9334a5bbbfb37658dfb0e8463b861fdfbd6c81e1c0132fd8a865a5c3ad08766a89f1ec1792bde7457d9a7d258e2891d5061537c3
|
7
|
+
data.tar.gz: 54d4ecc9660e53f1c49a1e786407ed1c5c20461fc3ff6756cfe1699d91468c0c9fa01b4e5717258d6f70454e825c8d5fda7ec65d3a3ec17bc49365364b57a122
|
@@ -0,0 +1,32 @@
|
|
1
|
+
name: Test
|
2
|
+
|
3
|
+
on:
|
4
|
+
- pull_request
|
5
|
+
|
6
|
+
jobs:
|
7
|
+
test:
|
8
|
+
runs-on: ubuntu-latest
|
9
|
+
strategy:
|
10
|
+
fail-fast: false
|
11
|
+
matrix:
|
12
|
+
ruby:
|
13
|
+
- "2.4"
|
14
|
+
- "2.5"
|
15
|
+
- "2.6"
|
16
|
+
- "2.7"
|
17
|
+
env:
|
18
|
+
BUNDLE_WITHOUT: release
|
19
|
+
name: Ruby ${{ matrix.ruby }}
|
20
|
+
steps:
|
21
|
+
- uses: actions/checkout@v2
|
22
|
+
- name: Install Ruby ${{ matrix.ruby }}
|
23
|
+
uses: ruby/setup-ruby@v1
|
24
|
+
with:
|
25
|
+
ruby-version: ${{ matrix.ruby }}
|
26
|
+
bundler-cache: true
|
27
|
+
- name: Run spec tests
|
28
|
+
run: bundle exec rake test:spec
|
29
|
+
# It seems some additonal setup of Docker may be needed for
|
30
|
+
# the acceptance tests to work.
|
31
|
+
# - name: Run acceptance tests
|
32
|
+
# run: bundle exec rake test:acceptance
|
data/.rspec
CHANGED
data/Gemfile
CHANGED
@@ -18,7 +18,7 @@ end
|
|
18
18
|
# We don't put beaker in as a test dependency because we
|
19
19
|
# don't want to create a transitive dependency
|
20
20
|
group :acceptance_testing do
|
21
|
-
gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '~>
|
21
|
+
gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '~> 4.0')
|
22
22
|
end
|
23
23
|
|
24
24
|
|
data/README.md
CHANGED
@@ -40,3 +40,12 @@ bundle exec rake test:acceptance
|
|
40
40
|
# Contributing
|
41
41
|
|
42
42
|
Please refer to puppetlabs/beaker's [contributing](https://github.com/puppetlabs/beaker/blob/master/CONTRIBUTING.md) guide.
|
43
|
+
|
44
|
+
# Release
|
45
|
+
|
46
|
+
To release new versions, we use a
|
47
|
+
[Jenkins job](https://jenkins-sre.delivery.puppetlabs.net/view/all/job/qe_beaker-vagrant_init-multijob_master/)
|
48
|
+
(access to internal infrastructure will be required to view job).
|
49
|
+
|
50
|
+
To release a new version (from the master branch), you'll need to just provide
|
51
|
+
a new beaker-pe version number to the job, and you're off to the races.
|
data/Rakefile
CHANGED
@@ -6,14 +6,14 @@ namespace :test do
|
|
6
6
|
|
7
7
|
desc "Run spec tests"
|
8
8
|
RSpec::Core::RakeTask.new(:run) do |t|
|
9
|
-
t.rspec_opts = ['--color']
|
9
|
+
t.rspec_opts = ['--color', '--format documentation']
|
10
10
|
t.pattern = 'spec/'
|
11
11
|
end
|
12
12
|
|
13
13
|
desc "Run spec tests with coverage"
|
14
14
|
RSpec::Core::RakeTask.new(:coverage) do |t|
|
15
15
|
ENV['BEAKER_TEMPLATE_COVERAGE'] = 'y'
|
16
|
-
t.rspec_opts = ['--color']
|
16
|
+
t.rspec_opts = ['--color', '--format documentation']
|
17
17
|
t.pattern = 'spec/'
|
18
18
|
end
|
19
19
|
|
data/beaker-vagrant.gemspec
CHANGED
data/docs/vagrant.md
CHANGED
@@ -1,5 +1,21 @@
|
|
1
1
|
# Vagrant
|
2
2
|
|
3
|
+
<!-- vim-markdown-toc GFM -->
|
4
|
+
|
5
|
+
* [Getting Started](#getting-started)
|
6
|
+
* [Requirements](#requirements)
|
7
|
+
* [Setup a Vagrant Hosts File](#setup-a-vagrant-hosts-file)
|
8
|
+
* [Vagrant-Specific Hosts File Settings](#vagrant-specific-hosts-file-settings)
|
9
|
+
* [Running With a GUI](#running-with-a-gui)
|
10
|
+
* [Mounting Local Folders](#mounting-local-folders)
|
11
|
+
* [Forwarding Ports to Guest](#forwarding-ports-to-guest)
|
12
|
+
* [Volumes Support](#volumes-support)
|
13
|
+
* [Adding vagrant shell provisioner](#adding-vagrant-shell-provisioner)
|
14
|
+
* [Using the host's resolver as a DNS proxy in NAT mode (virtualbox only)](#using-the-hosts-resolver-as-a-dns-proxy-in-nat-mode-virtualbox-only)
|
15
|
+
* [vagrant plugins](#vagrant-plugins)
|
16
|
+
|
17
|
+
<!-- vim-markdown-toc -->
|
18
|
+
|
3
19
|
Vagrant's slogan is "development environments made easy". Vagrant provides an
|
4
20
|
abstraction on top of a VM or cloud provider that allows you to manage
|
5
21
|
hosts and their provisioning. <https://www.vagrantup.com/>.
|
@@ -211,8 +227,30 @@ When using the Vagrant Hypervisor, beaker can create the Vagrantfile with a shel
|
|
211
227
|
|
212
228
|
In the above, beaker will create a Vagrantfile which runs the above shell script on the Agent guest.
|
213
229
|
|
230
|
+
### Using the host's resolver as a DNS proxy in NAT mode (virtualbox only)
|
231
|
+
|
232
|
+
When using the Vagrant hypervisor with the virtualbox provider, beaker can
|
233
|
+
configure the VirtualBox NAT engine's DHCP sever to proxy DNS queries through
|
234
|
+
to the host's resolver using the `natdns` setting in the nodeset file.
|
235
|
+
|
236
|
+
**Example hosts file**
|
237
|
+
|
238
|
+
HOSTS:
|
239
|
+
el7-server:
|
240
|
+
roles:
|
241
|
+
- default
|
242
|
+
platform: el-7-x86_64
|
243
|
+
box: centos/7
|
244
|
+
hypervisor: vagrant
|
245
|
+
natdns: on
|
246
|
+
yum_repos:
|
247
|
+
epel:
|
248
|
+
mirrorlist: 'https://mirrors.fedoraproject.org/mirrorlist?repo=epel-7&arch=$basearch&country=us'
|
249
|
+
gpgkeys:
|
250
|
+
- https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-$releasever
|
251
|
+
|
214
252
|
# vagrant plugins #
|
215
253
|
|
216
|
-
You can check more information for some
|
254
|
+
You can check more information for some supported vagrant plugins:
|
217
255
|
|
218
256
|
- [vagrant-libvirt](vagrant_libvirt.md)
|
@@ -16,8 +16,13 @@ module Beaker
|
|
16
16
|
(2 + rand(252)).to_s #don't want a 0, 1, or a 255
|
17
17
|
end
|
18
18
|
|
19
|
-
def randip
|
20
|
-
|
19
|
+
def randip(hypervisor=nil)
|
20
|
+
case hypervisor
|
21
|
+
when /libvirt/
|
22
|
+
"10.254.#{rand_chunk}.#{rand_chunk}"
|
23
|
+
else
|
24
|
+
"10.255.#{rand_chunk}.#{rand_chunk}"
|
25
|
+
end
|
21
26
|
end
|
22
27
|
|
23
28
|
def private_network_generator(host)
|
@@ -57,7 +62,7 @@ module Beaker
|
|
57
62
|
|
58
63
|
hosts.each do |host|
|
59
64
|
host.name.tr!('_','-') # Rewrite Hostname with hyphens instead of underscores to get legal hostname
|
60
|
-
host['ip'] ||= randip #use the existing ip, otherwise default to a random ip
|
65
|
+
host['ip'] ||= randip(host.host_hash[:hypervisor]) #use the existing ip, otherwise default to a random ip
|
61
66
|
v_file << " c.vm.define '#{host.name}' do |v|\n"
|
62
67
|
v_file << " v.vm.hostname = '#{host.name}'\n"
|
63
68
|
v_file << " v.vm.box = '#{host['box']}'\n"
|
@@ -136,6 +141,9 @@ module Beaker
|
|
136
141
|
@logger.debug "created Vagrantfile for VagrantHost #{host.name}"
|
137
142
|
end
|
138
143
|
v_file << "end\n"
|
144
|
+
|
145
|
+
# In case this is called directly
|
146
|
+
FileUtils.mkdir_p(@vagrant_path)
|
139
147
|
File.open(@vagrant_file, 'w') do |f|
|
140
148
|
f.write(v_file)
|
141
149
|
end
|
@@ -201,7 +209,9 @@ module Beaker
|
|
201
209
|
|
202
210
|
f.write(ssh_config)
|
203
211
|
f.rewind
|
204
|
-
|
212
|
+
|
213
|
+
host[:vagrant_ssh_config] = f.path
|
214
|
+
host['ssh'] = host['ssh'].merge(Net::SSH.configuration_for(host['ip'], f.path))
|
205
215
|
host['user'] = user
|
206
216
|
@temp_files << f
|
207
217
|
end
|
@@ -230,8 +240,7 @@ module Beaker
|
|
230
240
|
@logger = options[:logger]
|
231
241
|
@temp_files = []
|
232
242
|
@hosts = vagrant_hosts
|
233
|
-
@vagrant_path = File.expand_path(File.join(File.basename(__FILE__), '..', '.vagrant', 'beaker_vagrant_files', File.basename(options[:hosts_file])))
|
234
|
-
FileUtils.mkdir_p(@vagrant_path)
|
243
|
+
@vagrant_path = File.expand_path(File.join(File.basename(__FILE__), '..', '.vagrant', 'beaker_vagrant_files', 'beaker_' + File.basename(options[:hosts_file])))
|
235
244
|
@vagrant_file = File.expand_path(File.join(@vagrant_path, "Vagrantfile"))
|
236
245
|
@vagrant_env = { "RUBYLIB" => "", "RUBYOPT" => "" }
|
237
246
|
end
|
@@ -252,6 +261,8 @@ module Beaker
|
|
252
261
|
end
|
253
262
|
|
254
263
|
def provision(provider = nil)
|
264
|
+
FileUtils.mkdir_p(@vagrant_path)
|
265
|
+
|
255
266
|
#setting up new vagrant hosts
|
256
267
|
#make sure that any old boxes are dead dead dead
|
257
268
|
begin
|
@@ -291,18 +302,25 @@ module Beaker
|
|
291
302
|
|
292
303
|
def vagrant_cmd(args)
|
293
304
|
Dir.chdir(@vagrant_path) do
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
305
|
+
begin
|
306
|
+
retries ||=0
|
307
|
+
Open3.popen3(@vagrant_env, "vagrant #{args}") {|stdin, stdout, stderr, wait_thr|
|
308
|
+
while line = stdout.gets
|
309
|
+
@logger.info(line)
|
310
|
+
end
|
311
|
+
|
312
|
+
unless wait_thr.value.success?
|
313
|
+
raise "Failed to exec 'vagrant #{args}'. Error was #{stderr.read}"
|
314
|
+
end
|
315
|
+
}
|
316
|
+
rescue => e
|
317
|
+
if e.to_s =~ /WinRM/m
|
318
|
+
sleep(10)
|
319
|
+
|
320
|
+
retry if (retries += 1) < 6
|
301
321
|
end
|
302
|
-
|
303
|
-
|
304
|
-
if exit_status != 0
|
305
|
-
raise "Failed to execute vagrant_cmd ( #{args} ). Error was #{stderr.read}"
|
322
|
+
|
323
|
+
raise e
|
306
324
|
end
|
307
325
|
end
|
308
326
|
end
|
@@ -16,6 +16,12 @@ class Beaker::VagrantLibvirt < Beaker::Vagrant
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def provision(provider = 'libvirt')
|
19
|
+
# This needs to be unique for every system with the same hostname but does
|
20
|
+
# not affect VirtualBox
|
21
|
+
vagrant_path_digest = Digest::SHA256.hexdigest(@vagrant_path)
|
22
|
+
@vagrant_path = @vagrant_path + '_' + vagrant_path_digest[0..2] + vagrant_path_digest[-3..-1]
|
23
|
+
@vagrant_file = File.expand_path(File.join(@vagrant_path, "Vagrantfile"))
|
24
|
+
|
19
25
|
super
|
20
26
|
end
|
21
27
|
|
@@ -23,6 +29,7 @@ class Beaker::VagrantLibvirt < Beaker::Vagrant
|
|
23
29
|
" v.vm.provider :libvirt do |node|\n" +
|
24
30
|
" node.cpus = #{cpus(host, options)}\n" +
|
25
31
|
" node.memory = #{memsize(host, options)}\n" +
|
32
|
+
" node.qemu_use_session = false\n" +
|
26
33
|
build_options_str(options) +
|
27
34
|
" end\n"
|
28
35
|
end
|
@@ -63,15 +63,15 @@ class Beaker::VagrantVirtualbox < Beaker::Vagrant
|
|
63
63
|
end
|
64
64
|
end
|
65
65
|
|
66
|
-
provider_section << " vb.customize [
|
66
|
+
provider_section << " vb.customize ['modifyvm', :id, '--ioapic', 'on']\n" unless host['ioapic'].nil?
|
67
67
|
|
68
|
-
provider_section << " vb.customize [
|
68
|
+
provider_section << " vb.customize ['modifyvm', :id, '--natdnshostresolver1', 'on']\n" unless host['natdns'].nil?
|
69
69
|
|
70
|
-
provider_section << " vb.customize [
|
70
|
+
provider_section << " vb.customize ['modifyvm', :id, '--natdnsproxy1', 'on']\n" unless host['natdns'].nil?
|
71
71
|
|
72
72
|
provider_section << " vb.gui = true\n" unless host['vb_gui'].nil?
|
73
73
|
|
74
|
-
provider_section << " [
|
74
|
+
provider_section << " vb.customize ['modifyvm', :id, '--cpuidset', '1','000206a7','02100800','1fbae3bf','bfebfbff']\n" if /osx/i.match(host['platform'])
|
75
75
|
|
76
76
|
if host['disk_path']
|
77
77
|
unless File.exist?(host['disk_path'])
|
@@ -29,11 +29,11 @@ module Beaker
|
|
29
29
|
})
|
30
30
|
end
|
31
31
|
|
32
|
-
it "stores the vagrant file in $WORKINGDIR/.vagrant/beaker_vagrant_files/
|
32
|
+
it "stores the vagrant file in $WORKINGDIR/.vagrant/beaker_vagrant_files/beaker_sample.cfg" do
|
33
33
|
allow( vagrant ).to receive( :randmac ).and_return( "0123456789" )
|
34
34
|
path = vagrant.instance_variable_get( :@vagrant_path )
|
35
35
|
|
36
|
-
expect( path ).to be === File.join(Dir.pwd, '.vagrant', 'beaker_vagrant_files', '
|
36
|
+
expect( path ).to be === File.join(Dir.pwd, '.vagrant', 'beaker_vagrant_files', 'beaker_sample.cfg')
|
37
37
|
|
38
38
|
end
|
39
39
|
|
@@ -484,7 +484,8 @@ EOF
|
|
484
484
|
expect( file ).to receive( :write ).with("Host ip.address.for.#{name}\n HostName 127.0.0.1\n User root\n Port 2222\n UserKnownHostsFile /dev/null\n StrictHostKeyChecking no\n PasswordAuthentication no\n IdentityFile /home/root/.vagrant.d/insecure_private_key\n IdentitiesOnly no")
|
485
485
|
|
486
486
|
vagrant.set_ssh_config( host, 'root' )
|
487
|
-
expect( host[
|
487
|
+
expect( host[:vagrant_ssh_config] ).to be === '/path/sshconfig'
|
488
|
+
expect( host['ssh'][:config]).to be === false
|
488
489
|
expect( host['user']).to be === 'root'
|
489
490
|
end
|
490
491
|
|
@@ -498,7 +499,8 @@ EOF
|
|
498
499
|
expect( file ).to receive( :write ).with("Host ip.address.for.#{name}\n HostName 127.0.0.1\n User root\n Port 2222\n UserKnownHostsFile /dev/null\n StrictHostKeyChecking no\n PasswordAuthentication no\n IdentityFile /home/root/.vagrant.d/insecure_private_key\n IdentitiesOnly yes")
|
499
500
|
|
500
501
|
vagrant.set_ssh_config( host, 'root' )
|
501
|
-
expect( host[
|
502
|
+
expect( host[:vagrant_ssh_config] ).to be === '/path/sshconfig'
|
503
|
+
expect( host['ssh'][:config]).to be === false
|
502
504
|
expect( host['user']).to be === 'root'
|
503
505
|
end
|
504
506
|
end
|
@@ -3,6 +3,10 @@ require 'spec_helper'
|
|
3
3
|
describe Beaker::VagrantVirtualbox do
|
4
4
|
let( :options ) { make_opts.merge({ :hosts_file => 'sample.cfg', 'logger' => double().as_null_object }) }
|
5
5
|
let( :vagrant ) { Beaker::VagrantVirtualbox.new( @hosts, options ) }
|
6
|
+
let(:vagrantfile_path) do
|
7
|
+
path = vagrant.instance_variable_get( :@vagrant_path )
|
8
|
+
File.expand_path( File.join( path, 'Vagrantfile' ))
|
9
|
+
end
|
6
10
|
|
7
11
|
before :each do
|
8
12
|
@hosts = make_hosts()
|
@@ -41,14 +45,23 @@ describe Beaker::VagrantVirtualbox do
|
|
41
45
|
|
42
46
|
end
|
43
47
|
|
44
|
-
it "can enable ioapic(multiple cores) on hosts" do
|
48
|
+
it "can enable ioapic(multiple cores) on hosts" do
|
45
49
|
path = vagrant.instance_variable_get( :@vagrant_path )
|
46
50
|
hosts = make_hosts({:ioapic => 'true'},1)
|
47
51
|
|
48
52
|
vagrant.make_vfile( hosts )
|
49
53
|
|
50
54
|
vagrantfile = File.read( File.expand_path( File.join( path, 'Vagrantfile' )))
|
51
|
-
expect( vagrantfile ).to include(
|
55
|
+
expect( vagrantfile ).to include( " vb.customize ['modifyvm', :id, '--ioapic', 'on']")
|
56
|
+
end
|
57
|
+
|
58
|
+
it "can enable NAT DNS on hosts" do
|
59
|
+
hosts = make_hosts({:natdns => 'on'},1)
|
60
|
+
vagrant.make_vfile( hosts )
|
61
|
+
vagrantfile = File.read( vagrantfile_path )
|
62
|
+
|
63
|
+
expect( vagrantfile ).to include( " vb.customize ['modifyvm', :id, '--natdnshostresolver1', 'on']")
|
64
|
+
expect( vagrantfile ).to include( " vb.customize ['modifyvm', :id, '--natdnsproxy1', 'on']")
|
52
65
|
end
|
53
66
|
|
54
67
|
it "correctly provisions storage with the USB controller" do
|
@@ -57,10 +70,10 @@ describe Beaker::VagrantVirtualbox do
|
|
57
70
|
|
58
71
|
vagrant.make_vfile( hosts )
|
59
72
|
vagrantfile = File.read( File.expand_path( File.join( path, 'Vagrantfile' )))
|
60
|
-
expect( vagrantfile ).to include(
|
61
|
-
expect( vagrantfile ).to include(
|
62
|
-
expect( vagrantfile ).to include(
|
63
|
-
expect( vagrantfile ).to include(
|
73
|
+
expect( vagrantfile ).to include(" vb.customize ['modifyvm', :id, '--usb', 'on']")
|
74
|
+
expect( vagrantfile ).to include(" vb.customize ['storagectl', :id, '--name', 'Beaker USB Controller', '--add', 'usb', '--portcount', '8', '--controller', 'USB', '--bootable', 'off']")
|
75
|
+
expect( vagrantfile ).to include(" vb.customize ['createhd', '--filename', 'vm1-test_disk.vdi', '--size', '5120']")
|
76
|
+
expect( vagrantfile ).to include(" vb.customize ['storageattach', :id, '--storagectl', 'Beaker USB Controller', '--port', '0', '--device', '0', '--type', 'hdd', '--medium', 'vm1-test_disk.vdi']")
|
64
77
|
end
|
65
78
|
|
66
79
|
it "correctly provisions storage with the LSILogic controller" do
|
@@ -69,9 +82,9 @@ describe Beaker::VagrantVirtualbox do
|
|
69
82
|
|
70
83
|
vagrant.make_vfile( hosts )
|
71
84
|
vagrantfile = File.read( File.expand_path( File.join( path, 'Vagrantfile' )))
|
72
|
-
expect( vagrantfile ).to include(
|
73
|
-
expect( vagrantfile ).to include(
|
74
|
-
expect( vagrantfile ).to include(
|
85
|
+
expect( vagrantfile ).to include(" vb.customize ['storagectl', :id, '--name', 'Beaker LSILogic Controller', '--add', 'scsi', '--portcount', '16', '--controller', 'LSILogic', '--bootable', 'off']")
|
86
|
+
expect( vagrantfile ).to include(" vb.customize ['createhd', '--filename', 'vm1-test_disk.vdi', '--size', '5120']")
|
87
|
+
expect( vagrantfile ).to include(" vb.customize ['storageattach', :id, '--storagectl', 'Beaker LSILogic Controller', '--port', '0', '--device', '0', '--type', 'hdd', '--medium', 'vm1-test_disk.vdi']")
|
75
88
|
end
|
76
89
|
|
77
90
|
it "correctly provisions storage with the default controller" do
|
@@ -80,8 +93,8 @@ describe Beaker::VagrantVirtualbox do
|
|
80
93
|
|
81
94
|
vagrant.make_vfile( hosts )
|
82
95
|
vagrantfile = File.read( File.expand_path( File.join( path, 'Vagrantfile' )))
|
83
|
-
expect( vagrantfile ).to include(
|
84
|
-
expect( vagrantfile ).to include(
|
85
|
-
expect( vagrantfile ).to include(
|
96
|
+
expect( vagrantfile ).to include(" vb.customize ['storagectl', :id, '--name', 'Beaker IntelAHCI Controller', '--add', 'sata', '--portcount', '2', '--controller', 'IntelAHCI', '--bootable', 'off']")
|
97
|
+
expect( vagrantfile ).to include(" vb.customize ['createhd', '--filename', 'vm1-test_disk.vdi', '--size', '5120']")
|
98
|
+
expect( vagrantfile ).to include(" vb.customize ['storageattach', :id, '--storagectl', 'Beaker IntelAHCI Controller', '--port', '0', '--device', '0', '--type', 'hdd', '--medium', 'vm1-test_disk.vdi']")
|
86
99
|
end
|
87
100
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beaker-vagrant
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rishi Javia, Kevin Imber, Tony Vu
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -108,20 +108,6 @@ dependencies:
|
|
108
108
|
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: markdown
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ">="
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
111
|
- !ruby/object:Gem::Dependency
|
126
112
|
name: thin
|
127
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -158,6 +144,8 @@ executables:
|
|
158
144
|
extensions: []
|
159
145
|
extra_rdoc_files: []
|
160
146
|
files:
|
147
|
+
- ".github/dependabot.yml"
|
148
|
+
- ".github/workflows/test.yml"
|
161
149
|
- ".gitignore"
|
162
150
|
- ".rspec"
|
163
151
|
- ".simplecov"
|
@@ -209,8 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
209
197
|
- !ruby/object:Gem::Version
|
210
198
|
version: '0'
|
211
199
|
requirements: []
|
212
|
-
|
213
|
-
rubygems_version: 2.5.1
|
200
|
+
rubygems_version: 3.0.8
|
214
201
|
signing_key:
|
215
202
|
specification_version: 4
|
216
203
|
summary: Beaker DSL Extension Helpers!
|