vagrant-libvirt 0.0.26 → 0.0.27

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
  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