vagrant-libvirt 0.0.42 → 0.2.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.
Files changed (60) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +393 -147
  3. data/lib/vagrant-libvirt/action.rb +3 -2
  4. data/lib/vagrant-libvirt/action/create_domain.rb +87 -37
  5. data/lib/vagrant-libvirt/action/create_domain_volume.rb +19 -14
  6. data/lib/vagrant-libvirt/action/create_network_interfaces.rb +9 -5
  7. data/lib/vagrant-libvirt/action/create_networks.rb +7 -2
  8. data/lib/vagrant-libvirt/action/destroy_domain.rb +1 -1
  9. data/lib/vagrant-libvirt/action/destroy_networks.rb +5 -0
  10. data/lib/vagrant-libvirt/action/forward_ports.rb +10 -8
  11. data/lib/vagrant-libvirt/action/halt_domain.rb +1 -1
  12. data/lib/vagrant-libvirt/action/handle_box_image.rb +26 -15
  13. data/lib/vagrant-libvirt/action/handle_storage_pool.rb +9 -4
  14. data/lib/vagrant-libvirt/action/package_domain.rb +58 -12
  15. data/lib/vagrant-libvirt/action/prepare_nfs_settings.rb +3 -9
  16. data/lib/vagrant-libvirt/action/prune_nfs_exports.rb +19 -9
  17. data/lib/vagrant-libvirt/action/remove_libvirt_image.rb +2 -2
  18. data/lib/vagrant-libvirt/action/remove_stale_volume.rb +17 -11
  19. data/lib/vagrant-libvirt/action/set_boot_order.rb +2 -2
  20. data/lib/vagrant-libvirt/action/set_name_of_domain.rb +6 -9
  21. data/lib/vagrant-libvirt/action/start_domain.rb +2 -2
  22. data/lib/vagrant-libvirt/action/wait_till_up.rb +31 -16
  23. data/lib/vagrant-libvirt/cap/public_address.rb +16 -0
  24. data/lib/vagrant-libvirt/cap/synced_folder.rb +3 -3
  25. data/lib/vagrant-libvirt/config.rb +177 -29
  26. data/lib/vagrant-libvirt/driver.rb +31 -2
  27. data/lib/vagrant-libvirt/errors.rb +5 -1
  28. data/lib/vagrant-libvirt/plugin.rb +7 -2
  29. data/lib/vagrant-libvirt/templates/default_storage_pool.xml.erb +3 -3
  30. data/lib/vagrant-libvirt/templates/domain.xml.erb +48 -8
  31. data/lib/vagrant-libvirt/util.rb +1 -0
  32. data/lib/vagrant-libvirt/util/erb_template.rb +6 -7
  33. data/lib/vagrant-libvirt/util/network_util.rb +33 -13
  34. data/lib/vagrant-libvirt/util/nfs.rb +17 -0
  35. data/lib/vagrant-libvirt/util/storage_util.rb +27 -0
  36. data/lib/vagrant-libvirt/version.rb +1 -1
  37. data/locales/en.yml +8 -4
  38. data/spec/support/environment_helper.rb +1 -1
  39. data/spec/support/libvirt_context.rb +1 -1
  40. data/spec/support/sharedcontext.rb +2 -2
  41. data/spec/unit/action/destroy_domain_spec.rb +2 -2
  42. data/spec/unit/action/set_name_of_domain_spec.rb +3 -3
  43. data/spec/unit/config_spec.rb +173 -0
  44. data/spec/unit/templates/domain_all_settings.xml +20 -4
  45. data/spec/unit/templates/domain_custom_cpu_model.xml +48 -0
  46. data/spec/unit/templates/domain_defaults.xml +2 -0
  47. data/spec/unit/templates/domain_spec.rb +26 -2
  48. metadata +24 -32
  49. data/.coveralls.yml +0 -1
  50. data/.github/issue_template.md +0 -37
  51. data/.gitignore +0 -21
  52. data/.travis.yml +0 -24
  53. data/Gemfile +0 -26
  54. data/Rakefile +0 -8
  55. data/example_box/README.md +0 -29
  56. data/example_box/Vagrantfile +0 -60
  57. data/example_box/metadata.json +0 -5
  58. data/tools/create_box.sh +0 -130
  59. data/tools/prepare_redhat_for_box.sh +0 -119
  60. data/vagrant-libvirt.gemspec +0 -54
@@ -18,7 +18,7 @@ class EnvironmentHelper
18
18
  1024
19
19
  end
20
20
 
21
- %w(cpus cpu_mode loader boot_order machine_type disk_bus disk_device nested volume_cache kernel cmd_line initrd graphics_type graphics_autoport graphics_port graphics_ip graphics_passwd video_type video_vram keymap storage_pool_name disks cdroms driver).each do |name|
21
+ %w(cpus cpu_mode loader nvram boot_order machine_type disk_bus disk_device nested volume_cache kernel cmd_line initrd graphics_type graphics_autoport graphics_port graphics_ip graphics_passwd video_type video_vram keymap storage_pool_name disks cdroms driver).each do |name|
22
22
  define_method(name.to_sym) do
23
23
  nil
24
24
  end
@@ -25,6 +25,6 @@ shared_context 'libvirt' do
25
25
  # return some information for domain when needed
26
26
  allow(domain).to receive(:mac).and_return('9C:D5:53:F1:5A:E7')
27
27
 
28
- machine.stub(id: id)
28
+ allow(machine).to receive(:id).and_return(id)
29
29
  end
30
30
  end
@@ -28,7 +28,7 @@ shared_context 'unit' do
28
28
  let(:plugin) { register_plugin }
29
29
 
30
30
  before (:each) do
31
- machine.stub(guest: guest)
32
- machine.stub(communicator: communicator)
31
+ allow(machine).to receive(:guest).and_return(guest)
32
+ allow(machine).to receive(:communicator).and_return(communicator)
33
33
  end
34
34
  end
@@ -33,7 +33,7 @@ describe VagrantPlugins::ProviderLibvirt::Action::DestroyDomain do
33
33
  before do
34
34
  allow(libvirt_domain).to receive(:list_snapshots).and_return([])
35
35
  allow(libvirt_domain).to receive(:has_managed_save?).and_return(nil)
36
- root_disk.stub(name: 'test.img')
36
+ allow(root_disk).to receive(:name).and_return('test.img')
37
37
  end
38
38
 
39
39
  context 'when only has root disk' do
@@ -57,7 +57,7 @@ describe VagrantPlugins::ProviderLibvirt::Action::DestroyDomain do
57
57
 
58
58
  let(:extra_disk) { double('libvirt_extra_disk') }
59
59
  before do
60
- extra_disk.stub(name: 'test-vdb.qcow2')
60
+ allow(extra_disk).to receive(:name).and_return('test-vdb.qcow2')
61
61
  end
62
62
 
63
63
  it 'destroys disks individually' do
@@ -10,12 +10,12 @@ describe VagrantPlugins::ProviderLibvirt::Action::SetNameOfDomain do
10
10
  dmn = VagrantPlugins::ProviderLibvirt::Action::SetNameOfDomain.new(Object.new, @env)
11
11
  first = dmn.build_domain_name(@env)
12
12
  second = dmn.build_domain_name(@env)
13
- first.should_not eq(second)
13
+ expect(first).to_not eq(second)
14
14
  end
15
15
 
16
16
  it 'builds simple domain name' do
17
- @env.default_prefix = 'pre'
17
+ @env.default_prefix = 'pre_'
18
18
  dmn = VagrantPlugins::ProviderLibvirt::Action::SetNameOfDomain.new(Object.new, @env)
19
- dmn.build_domain_name(@env).should eq('pre_')
19
+ expect(dmn.build_domain_name(@env)).to eq('pre_')
20
20
  end
21
21
  end
@@ -6,12 +6,185 @@ require 'vagrant-libvirt/config'
6
6
  describe VagrantPlugins::ProviderLibvirt::Config do
7
7
  include_context 'unit'
8
8
 
9
+ let(:fake_env) { Hash.new }
10
+
11
+ describe '#finalize!' do
12
+ it 'is valid with defaults' do
13
+ subject.finalize!
14
+ end
15
+
16
+ context '@uri' do
17
+ before(:example) do
18
+ stub_const("ENV", fake_env)
19
+ end
20
+
21
+ context 'when LIBVIRT_DEFAULT_URI is defined' do
22
+ it 'should always use this value' do
23
+ fake_env['LIBVIRT_DEFAULT_URI'] = "custom:///custom_path"
24
+
25
+ subject.finalize!
26
+ expect(subject.uri).to eq("custom:///custom_path")
27
+ expect(subject.qemu_use_session).to eq(false)
28
+ end
29
+
30
+ context 'when LIBVIRT_DEFAULT_URI contains "qemu"' do
31
+ [
32
+ [
33
+ 'set qemu_use_session if "session" present',
34
+ 'qemu:///session',
35
+ true,
36
+ ],
37
+ [
38
+ 'handle different protocol additions',
39
+ 'qemu+ssh:///session',
40
+ true,
41
+ ],
42
+ [
43
+ 'handle options before and after path',
44
+ 'qemu://remote/session?keyfile=my_id_rsa',
45
+ true,
46
+ ],
47
+ [
48
+ 'identify when session not set',
49
+ 'qemu://remote/system',
50
+ false,
51
+ ],
52
+ [
53
+ 'handle session appearing elsewhere',
54
+ 'qemu://remote/system?keyfile=my_session_id',
55
+ false,
56
+ ],
57
+ ].each do |title, uri, session|
58
+ it "should #{title}" do
59
+ fake_env['LIBVIRT_DEFAULT_URI'] = uri
60
+
61
+ subject.finalize!
62
+ expect(subject.uri).to eq(uri)
63
+ expect(subject.qemu_use_session).to eq(session)
64
+ end
65
+ end
66
+ end
67
+ end
68
+
69
+ context 'when @driver is defined' do
70
+ defaults = {'id_ssh_key_file' => nil}
71
+ [
72
+ [
73
+ {'driver' => 'kvm'},
74
+ 'qemu:///system?no_verify=1',
75
+ false,
76
+ ],
77
+ [
78
+ {'driver' => 'qemu'},
79
+ 'qemu:///system?no_verify=1',
80
+ false,
81
+ ],
82
+ [
83
+ {'driver' => 'qemu', 'qemu_use_session' => true},
84
+ 'qemu:///session?no_verify=1',
85
+ true,
86
+ ],
87
+ [
88
+ {'driver' => 'openvz'},
89
+ 'openvz:///system?no_verify=1',
90
+ false,
91
+ ],
92
+ [
93
+ {'driver' => 'vbox'},
94
+ 'vbox:///session?no_verify=1',
95
+ false,
96
+ ],
97
+ ].each do |inputs, output_uri, output_session|
98
+ it "should detect #{inputs}" do
99
+ inputs.merge(defaults).each do |k, v|
100
+ subject.instance_variable_set("@#{k}", v)
101
+ end
102
+
103
+ subject.finalize!
104
+ expect(subject.uri).to eq(output_uri)
105
+ expect(subject.qemu_use_session).to eq(output_session)
106
+ end
107
+ end
108
+
109
+ it "should raise exception for unrecognized" do
110
+ subject.driver = "bad-driver"
111
+
112
+ expect { subject.finalize! }.to raise_error("Require specify driver bad-driver")
113
+ end
114
+ end
115
+
116
+ context 'when @connect_via_ssh defined' do
117
+ defaults = {'driver' => 'qemu', 'id_ssh_key_file' => nil}
118
+ [
119
+ [
120
+ {'connect_via_ssh' => true},
121
+ 'qemu+ssh://localhost/system?no_verify=1',
122
+ ],
123
+ [
124
+ {'connect_via_ssh' => true, 'username' => 'my_user'},
125
+ 'qemu+ssh://my_user@localhost/system?no_verify=1',
126
+ ],
127
+ [
128
+ {'connect_via_ssh' => true, 'host' => 'remote_server'},
129
+ 'qemu+ssh://remote_server/system?no_verify=1',
130
+ ],
131
+ ].each do |inputs, output_uri|
132
+ it "should detect #{inputs}" do
133
+ inputs.merge(defaults).each do |k, v|
134
+ subject.instance_variable_set("@#{k}", v)
135
+ end
136
+
137
+ subject.finalize!
138
+ expect(subject.uri).to eq(output_uri)
139
+ end
140
+ end
141
+ end
142
+
143
+ context 'when @id_ssh_key_file defined' do
144
+ defaults = {'driver' => 'qemu'}
145
+ [
146
+ [
147
+ {},
148
+ 'qemu:///system?no_verify=1&keyfile=/home/user/.ssh/id_rsa',
149
+ ],
150
+ [
151
+ {'id_ssh_key_file' => '/path/to/keyfile'},
152
+ 'qemu:///system?no_verify=1&keyfile=/path/to/keyfile',
153
+ ],
154
+ ].each do |inputs, output_uri|
155
+ it "should detect #{inputs}" do
156
+ inputs.merge(defaults).each do |k, v|
157
+ subject.instance_variable_set("@#{k}", v)
158
+ end
159
+
160
+ fake_env['HOME'] = '/home/user'
161
+
162
+ subject.finalize!
163
+ expect(subject.uri).to eq(output_uri)
164
+ end
165
+ end
166
+ end
167
+
168
+ context 'when @socket defined' do
169
+ it "should detect @socket set" do
170
+ subject.socket = '/var/run/libvirt/libvirt-sock'
171
+ subject.id_ssh_key_file = false
172
+
173
+ subject.finalize!
174
+ expect(subject.uri).to eq('qemu:///system?no_verify=1&socket=/var/run/libvirt/libvirt-sock')
175
+ end
176
+ end
177
+ end
178
+ end
179
+
9
180
  def assert_invalid
181
+ subject.finalize!
10
182
  errors = subject.validate(machine)
11
183
  raise "No errors: #{errors.inspect}" if errors.values.all?(&:empty?)
12
184
  end
13
185
 
14
186
  def assert_valid
187
+ subject.finalize!
15
188
  errors = subject.validate(machine)
16
189
  raise "Errors: #{errors.inspect}" unless errors.values.all?(&:empty?)
17
190
  end
@@ -1,8 +1,10 @@
1
1
  <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
2
2
  <name></name>
3
+ <title>title</title>
4
+ <description>description</description>
3
5
  <uuid></uuid>
4
6
  <memory></memory>
5
- <vcpu>1</vcpu>
7
+ <vcpu cpuset='1-4,^3,6'>1</vcpu>
6
8
 
7
9
 
8
10
  <cpu mode='custom'>
@@ -11,10 +13,16 @@
11
13
  <topology sockets='1' cores='3' threads='2'/>
12
14
  </cpu>
13
15
 
16
+ <numatune>
17
+ <memory nodeset='1-4,^3,6'/>
18
+ </numatune>
19
+ <cputune>
20
+ <shares>1024</shares>
21
+ </cputune>
14
22
 
15
23
  <os>
16
24
  <type arch='x86_64' machine='pc-compatible'>hvm</type>
17
- <loader readonly='yes' type='rom'>/efi/loader</loader>
25
+ <loader readonly='yes' type='rom'>/efi/loader</loader>
18
26
  <bootmenu enable='yes'/>
19
27
  <kernel></kernel>
20
28
  <initrd></initrd>
@@ -24,6 +32,9 @@
24
32
  <acpi/>
25
33
  <apic/>
26
34
  <pae/>
35
+ <hyperv>
36
+ <BBB state='on' />
37
+ </hyperv>
27
38
  </features>
28
39
  <clock offset='utc'/>
29
40
  <devices>
@@ -101,7 +112,7 @@
101
112
  </hostdev>
102
113
  <hostdev mode='subsystem' type='pci' managed='yes'>
103
114
  <source>
104
- <address domain='0x0000'
115
+ <address domain='0x0001'
105
116
  bus='0x03'
106
117
  slot='0x00'
107
118
  function='0x0'/>
@@ -117,7 +128,7 @@
117
128
  <redirdev bus='usb' type='tcp'>
118
129
  </redirdev>
119
130
  <redirfilter>
120
- <usbdev class='0x0b' vendor='0x0b' product='0x0b' version='0x0b' allow='yes'/>
131
+ <usbdev class='0x0b' vendor='0x08e6' product='0x3437' version='2.00' allow='yes'/>
121
132
  </redirfilter>
122
133
  <watchdog model='i6300esb' action='reset'/>
123
134
 
@@ -128,10 +139,15 @@
128
139
  <device path='/dev/tpm0'/>
129
140
  </backend>
130
141
  </tpm>
142
+ <controller type='usb' model='nec-xhci' ports="4" />
131
143
  </devices>
132
144
 
133
145
  <qemu:commandline>
134
146
  <qemu:arg value='-device'/>
135
147
  <qemu:arg value='dummy-device'/>
148
+ <qemu:env name='QEMU_AUDIO_DRV' value='pa'/>
149
+ <qemu:env name='QEMU_AUDIO_TIMER_PERIOD' value='150'/>
150
+ <qemu:env name='QEMU_PA_SAMPLES' value='1024'/>
151
+ <qemu:env name='QEMU_PA_SERVER' value='/run/user/1000/pulse/native'/>
136
152
  </qemu:commandline>
137
153
  </domain>
@@ -0,0 +1,48 @@
1
+ <domain type='' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
2
+ <name></name>
3
+ <title></title>
4
+ <description></description>
5
+ <uuid></uuid>
6
+ <memory></memory>
7
+ <vcpu>1</vcpu>
8
+
9
+
10
+ <cpu mode='custom'>
11
+ <model fallback='allow'>SandyBridge</model>
12
+ </cpu>
13
+
14
+
15
+ <os>
16
+ <type>hvm</type>
17
+ <kernel></kernel>
18
+ <initrd></initrd>
19
+ <cmdline></cmdline>
20
+ </os>
21
+ <features>
22
+ <acpi/>
23
+ <apic/>
24
+ <pae/>
25
+ </features>
26
+ <clock offset='utc'/>
27
+ <devices>
28
+
29
+
30
+ <serial type='pty'>
31
+ <target port='0'/>
32
+ </serial>
33
+ <console type='pty'>
34
+ <target port='0'/>
35
+ </console>
36
+
37
+
38
+ <input type='mouse' bus='ps2'/>
39
+
40
+ <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1' keymap='en-us' />
41
+ <video>
42
+ <model type='cirrus' vram='9216' heads='1'/>
43
+ </video>
44
+
45
+
46
+ </devices>
47
+
48
+ </domain>
@@ -1,5 +1,7 @@
1
1
  <domain type='' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
2
2
  <name></name>
3
+ <title></title>
4
+ <description></description>
3
5
  <uuid></uuid>
4
6
  <memory></memory>
5
7
  <vcpu>1</vcpu>
@@ -11,7 +11,6 @@ describe 'templates/domain' do
11
11
 
12
12
  def finalize!
13
13
  super
14
- @qargs = @qemu_args
15
14
  end
16
15
  end
17
16
 
@@ -28,9 +27,12 @@ describe 'templates/domain' do
28
27
 
29
28
  context 'when all settings enabled' do
30
29
  before do
30
+ domain.title = 'title'
31
+ domain.description = 'description'
31
32
  domain.instance_variable_set('@domain_type', 'kvm')
32
33
  domain.cpu_mode = 'custom'
33
34
  domain.cpu_feature(name: 'AAA', policy: 'required')
35
+ domain.hyperv_feature(name: 'BBB', state: 'on')
34
36
  domain.cputopology(sockets: '1', cores: '3', threads: '2')
35
37
  domain.machine_type = 'pc-compatible'
36
38
  domain.machine_arch = 'x86_64'
@@ -63,7 +65,8 @@ describe 'templates/domain' do
63
65
  source_path: '/tmp/foo')
64
66
  domain.random(model: 'random')
65
67
  domain.pci(bus: '0x06', slot: '0x12', function: '0x5')
66
- domain.pci(bus: '0x03', slot: '0x00', function: '0x0')
68
+ domain.pci(domain: '0x0001', bus: '0x03', slot: '0x00', function: '0x0')
69
+ domain.usb_controller(model: 'nec-xhci', ports: '4')
67
70
  domain.usb(bus: '1', device: '2', vendor: '0x1234', product: '0xabcd')
68
71
  domain.redirdev(type: 'tcp', host: 'localhost', port: '4000')
69
72
  domain.redirfilter(class: '0x0b', vendor: '0x08e6',
@@ -74,6 +77,15 @@ describe 'templates/domain' do
74
77
 
75
78
  domain.qemuargs(value: '-device')
76
79
  domain.qemuargs(value: 'dummy-device')
80
+
81
+ domain.qemuenv(QEMU_AUDIO_DRV: 'pa')
82
+ domain.qemuenv(QEMU_AUDIO_TIMER_PERIOD: '150')
83
+ domain.qemuenv(QEMU_PA_SAMPLES: '1024')
84
+ domain.qemuenv(QEMU_PA_SERVER: '/run/user/1000/pulse/native')
85
+
86
+ domain.shares = '1024'
87
+ domain.cpuset = '1-4,^3,6'
88
+ domain.nodeset = '1-4,^3,6'
77
89
  end
78
90
  let(:test_file) { 'domain_all_settings.xml' }
79
91
  it 'renders template' do
@@ -81,4 +93,16 @@ describe 'templates/domain' do
81
93
  expect(domain.to_xml('domain')).to eq xml_expected
82
94
  end
83
95
  end
96
+
97
+ context 'when custom cpu model enabled' do
98
+ before do
99
+ domain.cpu_mode = 'custom'
100
+ domain.cpu_model = 'SandyBridge'
101
+ end
102
+ let(:test_file) { 'domain_custom_cpu_model.xml' }
103
+ it 'renders template' do
104
+ domain.finalize!
105
+ expect(domain.to_xml('domain')).to eq xml_expected
106
+ end
107
+ end
84
108
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-libvirt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.42
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lukas Stanek
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-02-02 00:00:00.000000000 Z
13
+ date: 2020-10-03 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec-core
@@ -60,42 +60,42 @@ dependencies:
60
60
  requirements:
61
61
  - - ">="
62
62
  - !ruby/object:Gem::Version
63
- version: 0.3.0
63
+ version: 0.6.0
64
64
  type: :runtime
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - ">="
69
69
  - !ruby/object:Gem::Version
70
- version: 0.3.0
70
+ version: 0.6.0
71
71
  - !ruby/object:Gem::Dependency
72
- name: nokogiri
72
+ name: fog-core
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
- - - ">="
75
+ - - "~>"
76
76
  - !ruby/object:Gem::Version
77
- version: 1.6.0
77
+ version: '2.1'
78
78
  type: :runtime
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
- - - ">="
82
+ - - "~>"
83
83
  - !ruby/object:Gem::Version
84
- version: 1.6.0
84
+ version: '2.1'
85
85
  - !ruby/object:Gem::Dependency
86
- name: fog-core
86
+ name: nokogiri
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - - "~>"
90
90
  - !ruby/object:Gem::Version
91
- version: 1.43.0
91
+ version: '1.6'
92
92
  type: :runtime
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - "~>"
97
97
  - !ruby/object:Gem::Version
98
- version: 1.43.0
98
+ version: '1.6'
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: rake
101
101
  requirement: !ruby/object:Gem::Requirement
@@ -119,17 +119,8 @@ executables: []
119
119
  extensions: []
120
120
  extra_rdoc_files: []
121
121
  files:
122
- - ".coveralls.yml"
123
- - ".github/issue_template.md"
124
- - ".gitignore"
125
- - ".travis.yml"
126
- - Gemfile
127
122
  - LICENSE
128
123
  - README.md
129
- - Rakefile
130
- - example_box/README.md
131
- - example_box/Vagrantfile
132
- - example_box/metadata.json
133
124
  - lib/vagrant-libvirt.rb
134
125
  - lib/vagrant-libvirt/action.rb
135
126
  - lib/vagrant-libvirt/action/create_domain.rb
@@ -166,6 +157,7 @@ files:
166
157
  - lib/vagrant-libvirt/action/wait_till_up.rb
167
158
  - lib/vagrant-libvirt/cap/mount_p9.rb
168
159
  - lib/vagrant-libvirt/cap/nic_mac_addresses.rb
160
+ - lib/vagrant-libvirt/cap/public_address.rb
169
161
  - lib/vagrant-libvirt/cap/synced_folder.rb
170
162
  - lib/vagrant-libvirt/config.rb
171
163
  - lib/vagrant-libvirt/driver.rb
@@ -181,6 +173,8 @@ files:
181
173
  - lib/vagrant-libvirt/util/erb_template.rb
182
174
  - lib/vagrant-libvirt/util/error_codes.rb
183
175
  - lib/vagrant-libvirt/util/network_util.rb
176
+ - lib/vagrant-libvirt/util/nfs.rb
177
+ - lib/vagrant-libvirt/util/storage_util.rb
184
178
  - lib/vagrant-libvirt/util/timer.rb
185
179
  - lib/vagrant-libvirt/version.rb
186
180
  - locales/en.yml
@@ -193,11 +187,9 @@ files:
193
187
  - spec/unit/action/wait_till_up_spec.rb
194
188
  - spec/unit/config_spec.rb
195
189
  - spec/unit/templates/domain_all_settings.xml
190
+ - spec/unit/templates/domain_custom_cpu_model.xml
196
191
  - spec/unit/templates/domain_defaults.xml
197
192
  - spec/unit/templates/domain_spec.rb
198
- - tools/create_box.sh
199
- - tools/prepare_redhat_for_box.sh
200
- - vagrant-libvirt.gemspec
201
193
  homepage: https://github.com/vagrant-libvirt/vagrant-libvirt
202
194
  licenses:
203
195
  - MIT
@@ -217,20 +209,20 @@ required_rubygems_version: !ruby/object:Gem::Requirement
217
209
  - !ruby/object:Gem::Version
218
210
  version: '0'
219
211
  requirements: []
220
- rubyforge_project:
221
- rubygems_version: 2.6.14
212
+ rubygems_version: 3.0.3
222
213
  signing_key:
223
214
  specification_version: 4
224
215
  summary: libvirt provider for Vagrant.
225
216
  test_files:
226
- - spec/spec_helper.rb
227
- - spec/support/environment_helper.rb
228
- - spec/support/libvirt_context.rb
229
- - spec/support/sharedcontext.rb
217
+ - spec/unit/action/wait_till_up_spec.rb
230
218
  - spec/unit/action/destroy_domain_spec.rb
231
219
  - spec/unit/action/set_name_of_domain_spec.rb
232
- - spec/unit/action/wait_till_up_spec.rb
233
220
  - spec/unit/config_spec.rb
234
- - spec/unit/templates/domain_all_settings.xml
235
221
  - spec/unit/templates/domain_defaults.xml
222
+ - spec/unit/templates/domain_all_settings.xml
236
223
  - spec/unit/templates/domain_spec.rb
224
+ - spec/unit/templates/domain_custom_cpu_model.xml
225
+ - spec/support/libvirt_context.rb
226
+ - spec/support/environment_helper.rb
227
+ - spec/support/sharedcontext.rb
228
+ - spec/spec_helper.rb