vagrant-libvirt 0.11.1 → 0.11.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: def1435c7bf9fcebb8ca2b0c038317b14b3ab02c42582257a27e97b84dbb57bb
4
- data.tar.gz: abf0b94e5bd4d6c279fab842844c0d86b97b34382f898f0564a7251453f369c0
3
+ metadata.gz: 40dbf1a78ed383e5c289059d869c281c778fee7414a0a1711849d9dcba16df52
4
+ data.tar.gz: 2bf17eb2166d56a0386d6bbd70d6548d89def585aaf6f10c929f8afc546496bc
5
5
  SHA512:
6
- metadata.gz: bbff78a2c9409e800da340ad264aa846cfe31934e36296c46ccf9e352849343f80c042038e35eb65a2643bdbc6330c9f1f3e21060847d3121ccb21ab5fe71c00
7
- data.tar.gz: b605b592f7c0d4fe024c63b0f2a9d2618cb54a72550f2c9f6489f92a8ba09f083153bb3c522309b8363969775b38815b2bd9a55dd8ff8251e9a04577cb126ec2
6
+ metadata.gz: e9fa89d429ae04d5375930e3bfec06d3cf2c152803e8dc6a3fcb9c4a8ac4e81e1bafe08639fe689e9535cf3889bb1fd548c196ebe064abbad1edbfd85619ce0f
7
+ data.tar.gz: 4713ea077cc23984256c1a0ed55a67ec44c0a687f3a7c72916762a65807995c4fd5e1206f0ed86cc69008f8bf51a7cfff07b36f6947cd90bd29e136c2649c9f7
@@ -146,7 +146,7 @@ module VagrantPlugins
146
146
  # FIXME: all options for network driver should be hash from Vagrantfile
147
147
  driver_options = {}
148
148
  driver_options[:name] = @driver_name if @driver_name
149
- driver_options[:iommu] = @driver_iommu ? "on" : "off"
149
+ driver_options[:iommu] = @driver_iommu ? "on" : "off" if @nic_model_type == 'virtio'
150
150
  driver_options[:queues] = @driver_queues if @driver_queues
151
151
 
152
152
  @udp_tunnel ||= {}
@@ -271,10 +271,9 @@ module VagrantPlugins
271
271
 
272
272
  xml.mac(address: mac) if mac
273
273
  xml.target(dev: target_dev_name(device_name, type, iface_number))
274
- xml.alias(name: "net#{iface_number}")
275
274
  xml.model(type: model_type.to_s)
276
275
  xml.mtu(size: Integer(mtu)) if mtu
277
- xml.driver(**driver_options)
276
+ xml.driver(**driver_options) if driver_options
278
277
  xml.address(type: 'pci', bus: pci_bus, slot: pci_slot) if pci_bus and pci_slot
279
278
  end
280
279
  end.to_xml(
@@ -20,7 +20,7 @@ module VagrantPlugins
20
20
  if libvirt_domain.has_managed_save?
21
21
  env[:result] = env[:machine].state.id == :shutoff
22
22
  else
23
- env[:result] = env[:machine].state.id == :paused
23
+ env[:result] = [:paused, :pmsuspended].include?(env[:machine].state.id)
24
24
  if env[:result]
25
25
  env[:ui].warn('One time switching to pause suspend mode, found a paused VM.')
26
26
  config.suspend_mode = 'pause'
@@ -32,7 +32,7 @@ module VagrantPlugins
32
32
  env[:result] = [:shutoff, :paused].include?(env[:machine].state.id)
33
33
  config.suspend_mode = 'managedsave'
34
34
  else
35
- env[:result] = env[:machine].state.id == :paused
35
+ env[:result] = [:paused, :pmsuspended].include?(env[:machine].state.id)
36
36
  end
37
37
  end
38
38
 
@@ -20,7 +20,9 @@ module VagrantPlugins
20
20
 
21
21
  libvirt_domain = env[:machine].provider.driver.connection.client.lookup_domain_by_uuid(env[:machine].id)
22
22
  config = env[:machine].provider_config
23
- if config.suspend_mode == 'managedsave'
23
+ if env[:machine].state.id == :pmsuspended
24
+ libvirt_domain.pmwakeup
25
+ elsif config.suspend_mode == 'managedsave'
24
26
  domain.start
25
27
  else
26
28
  domain.resume
@@ -1 +1 @@
1
- 0.11.1
1
+ 0.11.2
data/locales/en.yml CHANGED
@@ -205,6 +205,8 @@ en:
205
205
  states:
206
206
  paused: |-
207
207
  The Libvirt domain is suspended. Run `vagrant resume` to resume it.
208
+ pmsuspended: |-
209
+ The Libvirt domain is suspended. Run `vagrant resume` to resume it.
208
210
  shutting_down: |-
209
211
  The Libvirt domain is shutting down. Wait for it to complete and
210
212
  then run `vagrant up` to start it or `vagrant destroy` to remove.
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../spec_helper'
4
+
5
+ require 'vagrant-libvirt/action/resume_domain'
6
+
7
+
8
+ describe VagrantPlugins::ProviderLibvirt::Action::ResumeDomain do
9
+ subject { described_class.new(app, env) }
10
+
11
+ include_context 'unit'
12
+ include_context 'libvirt'
13
+
14
+ let(:driver) { instance_double(::VagrantPlugins::ProviderLibvirt::Driver) }
15
+ let(:libvirt_domain) { instance_double(::Libvirt::Domain) }
16
+ let(:libvirt_client) { instance_double(::Libvirt::Connect) }
17
+ let(:servers) { double('servers') }
18
+ let(:state) { instance_double(::Vagrant::MachineState) }
19
+
20
+ before do
21
+ allow(machine.provider).to receive('driver').and_return(driver)
22
+ allow(driver).to receive(:connection).and_return(connection)
23
+ end
24
+
25
+ describe '#call' do
26
+ before do
27
+ allow(connection).to receive(:servers).and_return(servers)
28
+ allow(servers).to receive(:get).and_return(domain)
29
+ allow(connection).to receive(:client).and_return(libvirt_client)
30
+ allow(libvirt_client).to receive(:lookup_domain_by_uuid).and_return(libvirt_domain)
31
+
32
+ allow(machine).to receive(:state).and_return(state)
33
+
34
+ expect(ui).to receive(:info).with(/Resuming domain/)
35
+ end
36
+
37
+ it 'should resume by default' do
38
+ expect(state).to receive(:id).and_return(:paused)
39
+ expect(domain).to receive(:resume)
40
+ expect(logger).to receive(:info).with('Machine dummy-vagrant_dummy is resumed.')
41
+
42
+ expect(subject.call(env)).to be_nil
43
+ end
44
+
45
+ context 'when in pmsuspend' do
46
+ it 'should wakeup the domain' do
47
+ expect(state).to receive(:id).and_return(:pmsuspended)
48
+ expect(libvirt_domain).to receive(:pmwakeup)
49
+ expect(logger).to receive(:info).with('Machine dummy-vagrant_dummy is resumed.')
50
+
51
+ expect(subject.call(env)).to be_nil
52
+ end
53
+ end
54
+
55
+ context 'when suspend_mode is managedsave' do
56
+ it 'should start the domain' do
57
+ machine.provider_config.suspend_mode = 'managedsave'
58
+ expect(state).to receive(:id).and_return(:paused)
59
+ expect(domain).to receive(:start)
60
+ expect(logger).to receive(:info).with('Machine dummy-vagrant_dummy is resumed.')
61
+
62
+ expect(subject.call(env)).to be_nil
63
+ end
64
+ end
65
+ end
66
+ 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.11.1
4
+ version: 0.11.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lukas Stanek
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2022-12-02 00:00:00.000000000 Z
14
+ date: 2022-12-04 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: fog-libvirt
@@ -297,6 +297,7 @@ files:
297
297
  - spec/unit/action/resolve_disk_settings_spec/multi_volume_box.xml
298
298
  - spec/unit/action/resolve_disk_settings_spec/multi_volume_box_additional_and_custom_no_aliases.xml
299
299
  - spec/unit/action/resolve_disk_settings_spec/multi_volume_box_additional_storage.xml
300
+ - spec/unit/action/resume_domain_spec.rb
300
301
  - spec/unit/action/set_boot_order_spec.rb
301
302
  - spec/unit/action/set_boot_order_spec/default.xml
302
303
  - spec/unit/action/set_boot_order_spec/explicit_boot_order.xml
@@ -422,6 +423,7 @@ test_files:
422
423
  - spec/unit/action/resolve_disk_settings_spec/multi_volume_box_additional_and_custom_no_aliases.xml
423
424
  - spec/unit/action/resolve_disk_settings_spec/multi_volume_box_additional_storage.xml
424
425
  - spec/unit/action/resolve_disk_settings_spec.rb
426
+ - spec/unit/action/resume_domain_spec.rb
425
427
  - spec/unit/action/set_boot_order_spec/default.xml
426
428
  - spec/unit/action/set_boot_order_spec/explicit_boot_order.xml
427
429
  - spec/unit/action/set_boot_order_spec.rb