vagrant-libvirt 0.0.26 → 0.0.27

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: 8c21fb27cb9d1d69b36af2d3b057639381ad6e2c
4
- data.tar.gz: c02977b68b33bab4a2786634e9ba9f3f53ed256a
3
+ metadata.gz: c633bc158ce861be39e58bc78d855adacc3b4b81
4
+ data.tar.gz: 85417be2e4286096a08c3b64a79c1e23619cfa3e
5
5
  SHA512:
6
- metadata.gz: 8a41f855485a0a6330d5252ce38bcb0575f2b6c05448109c9be316f884ba2b5a5fa4ea2761e9535f253ef4efc2fff8799a168f9f574825e5d46601251c23b0af
7
- data.tar.gz: 4413ab7c72460e77df91097458176ba93e85f1544dd7c86f262abc792d2762cb83e5bebb5a292825b60cfd2ced501868b084116163e5d416678dbf095a2af601
6
+ metadata.gz: c8bdb50440ec7ad74d3cebd4dfcc0f78e41ec61c545ad59635f909f2e10b5201e77d42853e03529c9caff75b46cb56f3603c5f4421d2df172989948215c92464
7
+ data.tar.gz: 74b16894928781624bda71679ae7b92d403241536d67074e046c517f55813fe793d70447f8debaf7a3887e599d99d57b282d432a21a922db546de878f4f5d0d8
data/README.md CHANGED
@@ -46,7 +46,7 @@ missing development libraries for libxslt, libxml2 and libvirt.
46
46
 
47
47
  In Ubuntu, Debian, ...
48
48
  ```
49
- $ sudo apt-get install libxslt-dev libxml2-dev libvirt-dev
49
+ $ sudo apt-get install libxslt-dev libxml2-dev libvirt-dev zlib1g-dev
50
50
  ```
51
51
 
52
52
  In RedHat, Centos, Fedora, ...
@@ -64,6 +64,8 @@ a `config.vm.provider` block. So first, add Libvirt box using any name you
64
64
  want. This is just an example of Libvirt CentOS 6.4 box available:
65
65
 
66
66
  ```
67
+ vagrant box add centos64 http://citozin.com/fedora21.box
68
+ # or
67
69
  vagrant box add centos64 http://citozin.com/centos64.box
68
70
  ```
69
71
 
@@ -121,7 +123,7 @@ Although it should work without any configuration for most people, this provider
121
123
  * `connect_via_ssh` - If use ssh tunnel to connect to Libvirt.
122
124
  * `username` - Username and password to access Libvirt.
123
125
  * `password` - Password to access Libvirt.
124
- * `id_ssh_key_file` - If not nil, uses this ssh private key to access Libvirt. Default is $HOME/.ssh/id_rsa. Prepends $HOME/.ssh/ if no directory.
126
+ * `id_ssh_key_file` - If not nil, uses this ssh private key to access Libvirt. Default is $HOME/.ssh/id_rsa. Prepends $HOME/.ssh/ if no directory.
125
127
  * `socket` - Path to the libvirt unix socket (eg: /var/run/libvirt/libvirt-sock)
126
128
  * `uri` - For advanced usage. Directly specifies what libvirt connection URI vagrant-libvirt should use. Overrides all other connection configuration options.
127
129
 
@@ -152,7 +154,7 @@ end
152
154
  * `initrd` - To specify the initramfs/initrd to use for the guest. Equivalent to qemu `-initrd`.
153
155
  * `random_hostname` - To create a domain name with extra information on the end to prevent hostname conflicts.
154
156
  * `cmd_line` - Arguments passed on to the guest kernel initramfs or initrd to use. Equivalent to qemu `-append`.
155
- * `graphics_type` - Sets the protocol used to expose the guest display. Defaults to `vnc`. Possible values are "sdl", "curses", "none", "gtk", or "vnc".
157
+ * `graphics_type` - Sets the protocol used to expose the guest display. Defaults to `vnc`. Possible values are "sdl", "curses", "none", "gtk", "vnc" or "spice".
156
158
  * `graphics_port` - Sets the port for the display protocol to bind to. Defaults to 5900.
157
159
  * `graphics_ip` - Sets the IP for the display protocol to bind to. Defaults to "127.0.0.0.1".
158
160
  * `graphics_passwd` - Sets the password for the display protocol. Working for vnc and spice. by default working without passsword.
@@ -238,8 +240,18 @@ starts with 'libvirt__' string. Here is a list of those options:
238
240
  network 'default' is used.
239
241
  * `:libvirt__netmask` - Used only together with `:ip` option. Default is
240
242
  '255.255.255.0'.
243
+ * `:libvirt__host_ip` - Adress to use for the host (not guest).
244
+ Default is first possible address (after network address).
241
245
  * `:libvirt__dhcp_enabled` - If DHCP will offer addresses, or not. Used only
242
246
  when creating new network. Default is true.
247
+ * `:libvirt__dhcp_start` - First address given out via DHCP.
248
+ Default is third address in range (after network name and gateway).
249
+ * `:libvirt__dhcp_stop` - Last address given out via DHCP.
250
+ Default is last possible address in range (before broadcast address).
251
+ * `:libvirt__dhcp_bootp_file` - The file to be used for the boot image.
252
+ Used only when dhcp is enabled.
253
+ * `:libvirt__dhcp_bootp_server` - The server that runs the DHCP server.
254
+ Used only when dhcp is enabled.By default is the same host that runs the DHCP server.
243
255
  * `:libvirt__adapter` - Number specifiyng sequence number of interface.
244
256
  * `:libvirt__forward_mode` - Specify one of `veryisolated`, `none`, `nat` or `route` options.
245
257
  This option is used only when creating new network. Mode `none` will create
@@ -298,6 +310,7 @@ You can create and attach additional disks to a VM via `libvirt.storage :file`.
298
310
  * `type` - Type of disk image to create. Defaults to *qcow2*.
299
311
  * `bus` - Type of bus to connect device to. Defaults to *virtio*.
300
312
  * `cache` - Cache mode to use, e.g. `none`, `writeback`, `writethrough` (see the [libvirt documentation for possible values](http://libvirt.org/formatdomain.html#elementsDisks) or [here](https://www.suse.com/documentation/sles11/book_kvm/data/sect1_chapter_book_kvm.html) for a fuller explanation). Defaults to *default*.
313
+ * `allow_existing` - Set to true if you want to allow the VM to use a pre-existing disk. This is useful for sharing disks between VMs, e.g. in order to simulate shared SAN storage. Shared disks removed only manualy.If not exists - will created. If exists - using existed.
301
314
 
302
315
  The following example creates two additional disks.
303
316
 
@@ -385,12 +398,13 @@ The box is a tarball containing:
385
398
  * `Vagrantfile` that does default settings for the provider-specific configuration for this provider.
386
399
 
387
400
  ## Create Box
388
- This script creates a vagrant-libvirt box from a qcow2 file:
401
+ To create a vagrant-libvirt box from a qcow2 image, run `create_box.sh` (located in the tools directory):
389
402
 
390
- Usage:
403
+ ```$ create_box.sh ubuntu14.qcow2```
391
404
 
392
- ```create_box.sh ubuntu14.qcow2```
393
- Used Packer to create the qcow2 images, templates available at https://github.com/jakobadam/packer-qemu-templates
405
+ You can also create a box by using [Packer](https://packer.io). Packer templates for use with vagrant-libvirt are available at https://github.com/jakobadam/packer-qemu-templates. After cloning that project you can build a vagrant-libvirt box by running:
406
+
407
+ ``` ~/packer-qemu-templates/ubuntu$ packer build ubuntu-14.04-server-amd64-vagrant.json```
394
408
 
395
409
  ## Development
396
410
 
@@ -84,19 +84,23 @@ module VagrantPlugins
84
84
 
85
85
  disk[:absolute_path] = storage_prefix + disk[:path]
86
86
 
87
- # make the disk. equivalent to:
88
- # qemu-img create -f qcow2 <path> 5g
89
- begin
90
- domain_volume_disk = env[:libvirt_compute].volumes.create(
91
- name: disk[:name],
92
- format_type: disk[:type],
93
- path: disk[:absolute_path],
94
- capacity: disk[:size],
95
- #:allocation => ?,
96
- pool_name: @storage_pool_name)
97
- rescue Fog::Errors::Error => e
98
- raise Errors::FogDomainVolumeCreateError,
99
- error_message: e.message
87
+ if env[:libvirt_compute].volumes.all.select {|x| x.name == disk[:name] }.empty?
88
+ # make the disk. equivalent to:
89
+ # qemu-img create -f qcow2 <path> 5g
90
+ begin
91
+ env[:libvirt_compute].volumes.create(
92
+ name: disk[:name],
93
+ format_type: disk[:type],
94
+ path: disk[:absolute_path],
95
+ capacity: disk[:size],
96
+ #:allocation => ?,
97
+ pool_name: @storage_pool_name)
98
+ rescue Fog::Errors::Error => e
99
+ raise Errors::FogDomainVolumeCreateError,
100
+ error_message: e.message
101
+ end
102
+ else
103
+ disk[:preexisting] = true
100
104
  end
101
105
  end
102
106
 
@@ -123,16 +127,22 @@ module VagrantPlugins
123
127
  if @disks.length > 0
124
128
  env[:ui].info(" -- Disks: #{_disks_print(@disks)}")
125
129
  end
130
+
126
131
  @disks.each do |disk|
127
- env[:ui].info(" -- Disk(#{disk[:device]}): #{disk[:absolute_path]}")
132
+ msg = " -- Disk(#{disk[:device]}): #{disk[:absolute_path]}"
133
+ msg += " (shared. Remove only manualy)" if disk[:allow_existing]
134
+ msg += " Not created - using existed." if disk[:preexisting]
135
+ env[:ui].info(msg)
128
136
  end
129
137
 
130
138
  if @cdroms.length > 0
131
139
  env[:ui].info(" -- CDROMS: #{_cdroms_print(@cdroms)}")
132
140
  end
141
+
133
142
  @cdroms.each do |cdrom|
134
143
  env[:ui].info(" -- CDROM(#{cdrom[:dev]}): #{cdrom[:path]}")
135
144
  end
145
+
136
146
  env[:ui].info(" -- Command line : #{@cmd_line}")
137
147
 
138
148
  # Create libvirt domain.
@@ -44,7 +44,8 @@ module VagrantPlugins
44
44
  # Get a list of all (active and inactive) libvirt networks. This
45
45
  # list is used throughout this class and should be easier to
46
46
  # process than libvirt API calls.
47
- @available_networks = libvirt_networks(env[:libvirt_compute].client)
47
+ @available_networks = libvirt_networks(
48
+ env[:libvirt_compute].client)
48
49
 
49
50
  # Prepare a hash describing network for this specific interface.
50
51
  @interface_network = {
@@ -56,7 +57,7 @@ module VagrantPlugins
56
57
  created: false,
57
58
  active: false,
58
59
  autostart: false,
59
- libvirt_network: nil,
60
+ libvirt_network: nil
60
61
  }
61
62
 
62
63
  if @options[:ip]
@@ -121,7 +122,8 @@ module VagrantPlugins
121
122
  # Set IP address of network (actually bridge). It will be used as
122
123
  # gateway address for machines connected to this network.
123
124
  net = IPAddr.new(net_address)
124
- @interface_network[:ip_address] = net.to_range.begin.succ
125
+ # Default to first address (after network name)
126
+ @interface_network[:ip_address] = @options[:host_ip].nil? ? net.to_range.begin.succ : IPAddr.new(@options[:host_ip])
125
127
 
126
128
  # Is there an available network matching to configured ip
127
129
  # address?
@@ -235,16 +237,17 @@ module VagrantPlugins
235
237
  network_address << "#{@interface_network[:netmask]}"
236
238
  net = IPAddr.new(network_address)
237
239
 
238
- # First is address of network, second is gateway.
239
- # Start the range two
240
- # addresses after network address.
240
+ # First is address of network, second is gateway (by default).
241
+ # So start the range two addresses after network address by default.
241
242
  # TODO: Detect if this IP is not set on the interface.
242
- start_address = net.to_range.begin.succ.succ
243
+ start_address = @options[:dhcp_start] || net.to_range.begin.succ
243
244
 
244
- # Stop address must not be broadcast.
245
- stop_address = net.to_range.end & IPAddr.new('255.255.255.254')
245
+ # Default to last possible address. (Stop address must not be broadcast address.)
246
+ stop_address = @options[:dhcp_stop] || (net.to_range.end & IPAddr.new('255.255.255.254'))
246
247
 
247
248
  @network_dhcp_enabled = true
249
+ @network_dhcp_bootp_file = @options[:dhcp_bootp_file]
250
+ @network_dhcp_bootp_server = @options[:dhcp_bootp_server]
248
251
  @network_range_start = start_address
249
252
  @network_range_stop = stop_address
250
253
  else
@@ -28,7 +28,23 @@ module VagrantPlugins
28
28
  end
29
29
 
30
30
  domain = env[:libvirt_compute].servers.get(env[:machine].id.to_s)
31
- domain.destroy(destroy_volumes: true)
31
+
32
+ if env[:machine].provider_config.disks.empty?
33
+ # if using default configuration of disks
34
+ domain.destroy(destroy_volumes: true)
35
+ else
36
+ domain.destroy(destroy_volumes: false)
37
+
38
+ env[:machine].provider_config.disks.each do |disk|
39
+ next if disk[:allow_existing] # shared disks remove only manualy or ???
40
+ diskname = libvirt_domain.name + "-" + disk[:device] + ".raw"
41
+ # diskname is uniq
42
+ env[:libvirt_compute].volumes.all.select{|x| x.name == diskname }.first.destroy
43
+ end
44
+
45
+ #remove root storage
46
+ env[:libvirt_compute].volumes.all.select{|x| x.name == libvirt_domain.name + ".img" }.first.destroy
47
+ end
32
48
 
33
49
  @app.call(env)
34
50
  end
@@ -123,11 +123,7 @@ module VagrantPlugins
123
123
  :error_message => e.message
124
124
  end
125
125
 
126
- if progress == image_size
127
- return true
128
- else
129
- return false
130
- end
126
+ return progress == image_size
131
127
  end
132
128
 
133
129
  end
@@ -34,7 +34,9 @@ module VagrantPlugins
34
34
  ip_address = nil
35
35
  domain.wait_for(2) {
36
36
  addresses.each_pair do |type, ip|
37
- ip_address = ip[0] if ip[0] != nil
37
+ # Multiple leases are separated with a newline, return only
38
+ # the most recent address
39
+ ip_address = ip[0].split("\n").first if ip[0] != nil
38
40
  end
39
41
  ip_address != nil
40
42
  }
@@ -27,10 +27,17 @@ module VagrantPlugins
27
27
  end
28
28
  # Find the machine
29
29
  begin
30
+ # Wait for libvirt to shutdown the domain
31
+ while libvirt.servers.get(machine.id).state.to_sym == :'shutting-down' do
32
+ @logger.info('Waiting on the machine to shut down...')
33
+ sleep 1
34
+ end
35
+
30
36
  server = libvirt.servers.get(machine.id)
31
- if server.nil? || [:'shutting-down', :terminated].include?(server.state.to_sym)
37
+
38
+ if server.nil? || server.state.to_sym == :terminated
32
39
  # The machine can't be found
33
- @logger.info('Machine shutting down or terminated, assuming it got destroyed.')
40
+ @logger.info('Machine terminated, assuming it got destroyed.')
34
41
  machine.id = nil
35
42
  return :not_created
36
43
  end
@@ -0,0 +1,20 @@
1
+ require 'log4r'
2
+
3
+ module VagrantPlugins
4
+ module ProviderLibvirt
5
+ module Action
6
+ class RemoveLibvirtImage
7
+ def initialize(app, env)
8
+ @logger = Log4r::Logger.new("vagrant_libvirt::action::remove_libvirt_image")
9
+ @app = app
10
+ end
11
+
12
+ def call(env)
13
+ env[:ui].info("Vagrant-libvirt plugin removed box only from you LOCAL ~/.vagrant/boxes directory")
14
+ env[:ui].info("From libvirt storage pool you have to delete image manualy(virsh, virt-manager or by any other tool)")
15
+ @app.call(env)
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -43,7 +43,7 @@ module VagrantPlugins
43
43
  # @return [String] libvirt domain name
44
44
  def build_domain_name(env)
45
45
  config = env[:machine].provider_config
46
- domain_name =
46
+ domain_name =
47
47
  if config.default_prefix.nil?
48
48
  env[:root_path].basename.to_s.dup
49
49
  else
@@ -8,6 +8,13 @@ module VagrantPlugins
8
8
  include Vagrant::Action::Builtin
9
9
  @logger = Log4r::Logger.new('vagrant_libvirt::action')
10
10
 
11
+ # remove image from libvirt storage pool
12
+ def self.remove_libvirt_image
13
+ Vagrant::Action::Builder.new.tap do |b|
14
+ b.use RemoveLibvirtImage
15
+ end
16
+ end
17
+
11
18
  # This action is called to bring the box up from nothing.
12
19
  def self.action_up
13
20
  Vagrant::Action::Builder.new.tap do |b|
@@ -27,7 +34,6 @@ module VagrantPlugins
27
34
  b2.use CreateNetworks
28
35
  b2.use CreateNetworkInterfaces
29
36
 
30
-
31
37
  b2.use PrepareNFSValidIds
32
38
  b2.use SyncedFolderCleanup
33
39
  b2.use SyncedFolders
@@ -38,9 +44,6 @@ module VagrantPlugins
38
44
  b2.use StartDomain
39
45
  b2.use WaitTillUp
40
46
 
41
-
42
-
43
-
44
47
  b2.use ForwardPorts
45
48
 
46
49
  b2.use PrepareNFSSettings
@@ -83,7 +86,6 @@ module VagrantPlugins
83
86
  b3.use SyncedFolderCleanup
84
87
  b3.use SyncedFolders
85
88
 
86
-
87
89
  # Start it..
88
90
  b3.use StartDomain
89
91
 
@@ -91,11 +93,9 @@ module VagrantPlugins
91
93
  # so wait for dhcp lease and store IP into machines data_dir.
92
94
  b3.use WaitTillUp
93
95
 
94
-
95
96
  b3.use ForwardPorts
96
97
  b3.use PrepareNFSSettings
97
98
  b3.use ShareFolders
98
-
99
99
  end
100
100
  end
101
101
  end
@@ -331,6 +331,7 @@ module VagrantPlugins
331
331
  autoload :HaltDomain, action_root.join('halt_domain')
332
332
  autoload :HandleBoxImage, action_root.join('handle_box_image')
333
333
  autoload :HandleStoragePool, action_root.join('handle_storage_pool')
334
+ autoload :RemoveLibvirtImage, action_root.join('remove_libvirt_image')
334
335
  autoload :IsCreated, action_root.join('is_created')
335
336
  autoload :IsRunning, action_root.join('is_running')
336
337
  autoload :IsSuspended, action_root.join('is_suspended')
@@ -200,6 +200,7 @@ module VagrantPlugins
200
200
  :path => options[:path],
201
201
  :bus => options[:bus],
202
202
  :cache => options[:cache] || 'default',
203
+ :allow_existing => options[:allow_existing],
203
204
  }
204
205
 
205
206
  @disks << disk # append
@@ -286,7 +287,7 @@ module VagrantPlugins
286
287
  @graphics_type = 'vnc' if @graphics_type == UNSET_VALUE
287
288
  @graphics_autoport = 'yes' if @graphics_port == UNSET_VALUE
288
289
  @graphics_autoport = 'no' if @graphics_port != UNSET_VALUE
289
- if (@graphics_type != 'vnc' && @graphics_port != 'spice') ||
290
+ if (@graphics_type != 'vnc' && @graphics_type != 'spice') ||
290
291
  @graphics_passwd == UNSET_VALUE
291
292
  @graphics_passwd = nil
292
293
  end
@@ -32,6 +32,11 @@ module VagrantPlugins
32
32
  Provider
33
33
  end
34
34
 
35
+ action_hook(:remove_libvirt_image) do |hook|
36
+ hook.after Vagrant::Action::Builtin::BoxRemove, Action.remove_libvirt_image
37
+ end
38
+
39
+
35
40
  guest_capability('linux', 'mount_p9_shared_folder') do
36
41
  require_relative 'cap/mount_p9'
37
42
  Cap::MountP9
@@ -88,4 +93,3 @@ module VagrantPlugins
88
93
  end
89
94
  end
90
95
  end
91
-
@@ -15,6 +15,13 @@
15
15
  <% if @network_dhcp_enabled %>
16
16
  <dhcp>
17
17
  <range start="<%= @network_range_start %>" end="<%= @network_range_stop %>" />
18
+ <% if @network_dhcp_bootp_file %>
19
+ <% if @network_dhcp_bootp_server %>
20
+ <bootp file="<%= @network_dhcp_bootp_file %>" server="<%= @network_dhcp_bootp_server %>" />
21
+ <% else %>
22
+ <bootp file="<%= @network_dhcp_bootp_file %>" />
23
+ <% end %>
24
+ <% end %>
18
25
  </dhcp>
19
26
  <% end %>
20
27
  </ip>
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module ProviderLibvirt
3
- VERSION = '0.0.26'
3
+ VERSION = '0.0.27'
4
4
  end
5
5
  end
data/tools/create_box.sh CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  error() {
5
5
  local msg="${1}"
6
- echo "==> ${msg}"
6
+ echo "==> ERROR: ${msg}"
7
7
  exit 1
8
8
  }
9
9
 
@@ -70,6 +70,10 @@ if [[ -n $(backing "$IMG") ]]; then
70
70
  cp "$IMG" "$TMP_IMG"
71
71
  rebase "$TMP_IMG"
72
72
  else
73
+ if fuser -s "$IMG"; then
74
+ error "Image '$IMG_BASENAME' is used by another process"
75
+ fi
76
+
73
77
  # move the image to get a speed-up and use less space on disk
74
78
  trap 'mv "$TMP_IMG" "$IMG"; rm -rf "$TMP_DIR"' EXIT
75
79
  mv "$IMG" "$TMP_IMG"
@@ -20,10 +20,8 @@ Gem::Specification.new do |gem|
20
20
  gem.add_development_dependency "rspec-expectations", "~> 2.12.1"
21
21
  gem.add_development_dependency "rspec-mocks", "~> 2.12.1"
22
22
 
23
- gem.add_runtime_dependency 'fog', '~> 1.15'
24
- gem.add_runtime_dependency 'ruby-libvirt', '~> 0.4'
23
+ gem.add_runtime_dependency 'fog-libvirt', '~> 0.0.1'
25
24
  gem.add_runtime_dependency 'nokogiri', '~> 1.6.0'
26
25
 
27
26
  gem.add_development_dependency 'rake'
28
27
  end
29
-
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.26
4
+ version: 0.0.27
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: 2015-04-15 00:00:00.000000000 Z
13
+ date: 2015-05-10 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec-core
@@ -55,33 +55,19 @@ dependencies:
55
55
  - !ruby/object:Gem::Version
56
56
  version: 2.12.1
57
57
  - !ruby/object:Gem::Dependency
58
- name: fog
58
+ name: fog-libvirt
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - "~>"
62
62
  - !ruby/object:Gem::Version
63
- version: '1.15'
63
+ version: 0.0.1
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: '1.15'
71
- - !ruby/object:Gem::Dependency
72
- name: ruby-libvirt
73
- requirement: !ruby/object:Gem::Requirement
74
- requirements:
75
- - - "~>"
76
- - !ruby/object:Gem::Version
77
- version: '0.4'
78
- type: :runtime
79
- prerelease: false
80
- version_requirements: !ruby/object:Gem::Requirement
81
- requirements:
82
- - - "~>"
83
- - !ruby/object:Gem::Version
84
- version: '0.4'
70
+ version: 0.0.1
85
71
  - !ruby/object:Gem::Dependency
86
72
  name: nokogiri
87
73
  requirement: !ruby/object:Gem::Requirement
@@ -154,6 +140,7 @@ files:
154
140
  - lib/vagrant-libvirt/action/read_mac_addresses.rb
155
141
  - lib/vagrant-libvirt/action/read_ssh_info.rb
156
142
  - lib/vagrant-libvirt/action/read_state.rb
143
+ - lib/vagrant-libvirt/action/remove_libvirt_image.rb
157
144
  - lib/vagrant-libvirt/action/resume_domain.rb
158
145
  - lib/vagrant-libvirt/action/set_name_of_domain.rb
159
146
  - lib/vagrant-libvirt/action/share_folders.rb