vagrant-libvirt 0.0.42 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
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