vagrant-libvirt 0.0.23 → 0.0.24

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: 163bfaa2d6099827892e25c54b696ae99be739a4
4
- data.tar.gz: fa6669dc8ad9ffbfa81bd36d04ed07b886a77964
3
+ metadata.gz: 67a89ffdbbe10d25e43c0029df99b9755cc32480
4
+ data.tar.gz: 7fb86a0a3312d4fe0c1851486188cf90644015c6
5
5
  SHA512:
6
- metadata.gz: 5c9c79db505309da293ae7919bf843ef4650b620a45cffa1a3dd81952d13569b7a2d2dbcc77d771fdc5d50fdf557364316518254c905b276cc5f098faa66c0d6
7
- data.tar.gz: 8db3d0bea7fc78083c403b78ff1b7b20bb22cefdd90ef31ce3fe4757082e16c2a144a237b4fa13a563ff804ce5f85192084252baa1278aa461b4a41b3df14cac
6
+ metadata.gz: 74f6ddbd5fb0f41421e43ada6671af768ec770ddf06125c961b5df6a3fd06c4585c53bd0f459612310f3ece6b2c587d2d860daa7d5a467043cbc12a3cc84a649
7
+ data.tar.gz: a0ba44421fabc6ba09ed061352b1cf9cadbc488094991d8326585d169b6eb574c932d11a5721b38fe978dad0c06cd5191cec38fffae7a6b3f7710b8e0be2d527
data/README.md CHANGED
@@ -155,7 +155,7 @@ end
155
155
  * `graphics_port` - Sets the port for the display protocol to bind to. Defaults to 5900.
156
156
  * `graphics_ip` - Sets the IP for the display protocol to bind to. Defaults to "127.0.0.0.1".
157
157
  * `graphics_passwd` - Sets the password for the display protocol. Working for vnc and spice. by default working without passsword.
158
- * `video_type` - Sets the graphics card type exposed to the guest. Defaults to "cirrus". Possible values are "cirrus", "std", "vmware", "qxl", "tcx", "cg3", or "none".
158
+ * `video_type` - Sets the graphics card type exposed to the guest. Defaults to "cirrus". [Possible values](http://libvirt.org/formatdomain.html#elementsVideo) are "vga", "cirrus", "vmvga", "xen", "vbox", or "qxl".
159
159
  * `video_vram` - Used by some graphics card types to vary the amount of RAM dedicated to video. Defaults to 9216.
160
160
 
161
161
 
@@ -253,6 +253,7 @@ starts with 'libvirt__' string. Here is a list of those options:
253
253
  modes are available from the [libvirt documentation](http://www.libvirt.org/formatdomain.html#elementsNICSDirect).
254
254
  Default mode is 'bridge'.
255
255
  * `:mac` - MAC address for the interface.
256
+ * `:ovs` - Support to connect to an open vSwitch bridge device. Default is 'false'.
256
257
 
257
258
  ### Management Network
258
259
 
@@ -281,6 +282,8 @@ You can create and attach additional disks to a VM via `libvirt.storage :file`.
281
282
  * `device` - Name of the device node the disk image will have in the VM, e.g. *vdb*. If unspecified, the next available device is chosen.
282
283
  * `size` - Size of the disk image. If unspecified, defaults to 10G.
283
284
  * `type` - Type of disk image to create. Defaults to *qcow2*.
285
+ * `bus` - Type of bus to connect device to. Defaults to *virtio*.
286
+ * `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*.
284
287
 
285
288
  The following example creates two additional disks.
286
289
 
@@ -27,13 +27,3 @@ module VagrantPlugins
27
27
  end
28
28
  end
29
29
  end
30
-
31
- # set provider by bash env
32
- # export VAGRANT_DEFAULT_PROVIDER=libvirt
33
- Vagrant::Environment.class_eval do
34
- def default_provider
35
- (ENV['VAGRANT_DEFAULT_PROVIDER'] || :virtualbox).to_sym
36
- end
37
- end
38
-
39
-
@@ -66,19 +66,24 @@ module VagrantPlugins
66
66
  storage_prefix = File.dirname(@domain_volume_path)+'/' # steal
67
67
 
68
68
  @disks.each do |disk|
69
- disk[:name] = _disk_name(@name, disk)
70
- if disk[:path].nil?
71
- disk[:path] = "#{storage_prefix}#{_disk_name(@name, disk)}" # automatically chosen!
72
- end
69
+
70
+ disk[:path] ||= _disk_name(@name, disk)
71
+
72
+ # On volume creation, the <path> element inside <target>
73
+ # is oddly ignored; instead the path is taken from the
74
+ # <name> element:
75
+ # http://www.redhat.com/archives/libvir-list/2008-August/msg00329.html
76
+ disk[:name] = disk[:path]
77
+
78
+ disk[:absolute_path] = storage_prefix + disk[:path]
73
79
 
74
80
  # make the disk. equivalent to:
75
81
  # qemu-img create -f qcow2 <path> 5g
76
82
  begin
77
- #puts "Making disk: #{d}, #{t}, #{p}"
78
83
  domain_volume_disk = env[:libvirt_compute].volumes.create(
79
84
  :name => disk[:name],
80
85
  :format_type => disk[:type],
81
- :path => disk[:path],
86
+ :path => disk[:absolute_path],
82
87
  :capacity => disk[:size],
83
88
  #:allocation => ?,
84
89
  :pool_name => @storage_pool_name)
@@ -111,7 +116,7 @@ module VagrantPlugins
111
116
  env[:ui].info(" -- Disks: #{_disks_print(@disks)}")
112
117
  end
113
118
  @disks.each do |disk|
114
- env[:ui].info(" -- Disk(#{disk[:device]}): #{disk[:path]}")
119
+ env[:ui].info(" -- Disk(#{disk[:device]}): #{disk[:absolute_path]}")
115
120
  end
116
121
  env[:ui].info(" -- Command line : #{@cmd_line}")
117
122
 
@@ -79,6 +79,7 @@ module VagrantPlugins
79
79
  @model_type = iface_configuration.fetch(:model_type, @nic_model_type)
80
80
  template_name = 'public_interface'
81
81
  @logger.info("Setting up public interface using device #{@device} in mode #{@mode}")
82
+ @ovs = iface_configuration.fetch(:ovs, false)
82
83
  end
83
84
 
84
85
  message = "Creating network interface eth#{@iface_number}"
@@ -83,7 +83,8 @@ module VagrantPlugins
83
83
  gateway_ports)
84
84
  ssh_info = machine.ssh_info
85
85
  params = %W(
86
- "-L #{host_ip}:#{host_port}:#{guest_ip}:#{guest_port}"
86
+ -L
87
+ #{host_ip}:#{host_port}:#{guest_ip}:#{guest_port}
87
88
  -N
88
89
  #{ssh_info[:host]}
89
90
  ).join(' ')
@@ -118,7 +119,20 @@ module VagrantPlugins
118
119
  ssh_cmd << "ssh #{options} #{params}"
119
120
 
120
121
  @logger.debug "Forwarding port with `#{ssh_cmd}`"
121
- spawn(ssh_cmd, [:out, :err] => '/dev/null')
122
+ log_file = ssh_forward_log_file(host_ip, host_port,
123
+ guest_ip, guest_port)
124
+ @logger.info "Logging to #{log_file}"
125
+ spawn(ssh_cmd, [:out, :err] => [log_file, 'w'])
126
+ end
127
+
128
+ def ssh_forward_log_file(host_ip, host_port, guest_ip, guest_port)
129
+ log_dir = @env[:machine].data_dir.join('logs')
130
+ log_dir.mkdir unless log_dir.directory?
131
+ File.join(
132
+ log_dir,
133
+ 'ssh-forwarding-%s_%s-%s_%s.log' %
134
+ [ host_ip, host_port, guest_ip, guest_port ]
135
+ )
122
136
  end
123
137
 
124
138
  def store_ssh_pid(host_port, ssh_pid)
@@ -44,7 +44,7 @@ module VagrantPlugins
44
44
  domain = env[:libvirt_compute].servers.get(machine.id.to_s)
45
45
  xml=Nokogiri::XML(domain.to_xml)
46
46
  networkname = xml.xpath('/domain/devices/interface/source').first.attributes['network'].value.to_s
47
- puts "network name = #{networkname}"
47
+ @logger.info("Using network named #{networkname}")
48
48
  net = env[:libvirt_compute].list_networks.find {|netw| netw[:name] == networkname}
49
49
  end
50
50
  # FIXME better implement by libvirt xml parsing
@@ -131,11 +131,10 @@ module VagrantPlugins
131
131
  :type => 'qcow2',
132
132
  :size => '10G', # matches the fog default
133
133
  :path => nil,
134
+ :bus => 'virtio'
134
135
  }.merge(options)
135
136
 
136
137
  #puts "storage(#{storage_type} --- #{options.to_s})"
137
- require 'pry'
138
- binding.pry
139
138
  @disks = [] if @disks == UNSET_VALUE
140
139
 
141
140
  disk = {
@@ -143,6 +142,8 @@ module VagrantPlugins
143
142
  :type => options[:type],
144
143
  :size => options[:size],
145
144
  :path => options[:path],
145
+ :bus => options[:bus],
146
+ :cache => options[:cache] || 'default',
146
147
  }
147
148
 
148
149
  if storage_type == :file
@@ -242,7 +243,17 @@ module VagrantPlugins
242
243
  end
243
244
 
244
245
  def validate(machine)
246
+ errors = _detected_errors
247
+
248
+ machine.provider_config.disks.each do |disk|
249
+ if disk[:path] and disk[:path][0] == '/'
250
+ errors << "absolute volume paths like '#{disk[:path]}' not yet supported"
251
+ end
252
+ end
253
+
254
+ { "Libvirt Provider" => errors }
245
255
  end
256
+
246
257
  end
247
258
  end
248
259
  end
@@ -36,9 +36,9 @@
36
36
  <%# additional disks -%>
37
37
  <% @disks.each do |d| -%>
38
38
  <disk type='file' device='disk'>
39
- <driver name='qemu' type='<%= d[:type] %>'/>
40
- <source file='<%= d[:path] %>'/>
41
- <target dev='<%= d[:device] %>' bus='virtio'/>
39
+ <driver name='qemu' type='<%= d[:type] %>' cache='<%= d[:cache] %>'/>
40
+ <source file='<%= d[:absolute_path] %>'/>
41
+ <target dev='<%= d[:device] %>' bus='<%= d[:bus] %>'/>
42
42
  <%# this will get auto generated by libvirt
43
43
  <address type='pci' domain='0x0000' bus='0x00' slot='???' function='0x0'/>
44
44
  -%>
@@ -1,6 +1,6 @@
1
1
  <interface type='<%= @type %>'>
2
- <% if @mac %>
3
- <mac address='<%= @mac %>'/>
2
+ <% if @mac %>
3
+ <mac address='<%= @mac %>'/>
4
4
  <% end %>
5
5
  <%if @type == 'direct'%>
6
6
  <source dev='<%= @device %>' mode='<%= @mode %>'/>
@@ -8,6 +8,7 @@
8
8
  <source bridge='<%=@device%>'/>
9
9
  <% end %>
10
10
  <model type='<%=@model_type%>'/>
11
+ <% if @ovs %>
12
+ <virtualport type='openvswitch'/>
13
+ <% end %>
11
14
  </interface>
12
-
13
-
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module ProviderLibvirt
3
- VERSION = '0.0.23'
3
+ VERSION = '0.0.24'
4
4
  end
5
5
  end
@@ -5,7 +5,7 @@ Gem::Specification.new do |gem|
5
5
  gem.authors = ['Lukas Stanek','Dima Vasilets','Brian Pitts']
6
6
  gem.email = ['ls@elostech.cz','pronix.service@gmail.com','brian@polibyte.com']
7
7
  gem.license = 'MIT'
8
- gem.description = %q{Vagrant provider for libvirt. support a lot options}
8
+ gem.description = %q{Vagrant provider for libvirt.}
9
9
  gem.summary = %q{Vagrant provider for libvirt.}
10
10
  gem.homepage = 'https://github.com/pradels/vagrant-libvirt'
11
11
 
@@ -16,14 +16,14 @@ Gem::Specification.new do |gem|
16
16
  gem.require_paths = ['lib']
17
17
  gem.version = VagrantPlugins::ProviderLibvirt::VERSION
18
18
 
19
- gem.add_development_dependency 'rspec-core', '2.12.2'
20
- gem.add_development_dependency 'rspec-expectations', '2.12.1'
21
- gem.add_development_dependency 'rspec-mocks', '2.12.1'
19
+ gem.add_development_dependency "rspec-core", "~> 2.12.2"
20
+ gem.add_development_dependency "rspec-expectations", "~> 2.12.1"
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.0'
23
+ gem.add_runtime_dependency 'fog', '~> 1.15'
24
+ gem.add_runtime_dependency 'ruby-libvirt', '~> 0.4'
25
25
  gem.add_runtime_dependency 'nokogiri', '~> 1.6.0'
26
26
 
27
- gem.add_development_dependency 'rake', '10.1.0'
27
+ gem.add_development_dependency 'rake'
28
28
  end
29
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.23
4
+ version: 0.0.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lukas Stanek
@@ -10,78 +10,78 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-10-07 00:00:00.000000000 Z
13
+ date: 2014-12-04 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec-core
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
- - - '='
19
+ - - "~>"
20
20
  - !ruby/object:Gem::Version
21
21
  version: 2.12.2
22
22
  type: :development
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
- - - '='
26
+ - - "~>"
27
27
  - !ruby/object:Gem::Version
28
28
  version: 2.12.2
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: rspec-expectations
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
- - - '='
33
+ - - "~>"
34
34
  - !ruby/object:Gem::Version
35
35
  version: 2.12.1
36
36
  type: :development
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - '='
40
+ - - "~>"
41
41
  - !ruby/object:Gem::Version
42
42
  version: 2.12.1
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: rspec-mocks
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - '='
47
+ - - "~>"
48
48
  - !ruby/object:Gem::Version
49
49
  version: 2.12.1
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - '='
54
+ - - "~>"
55
55
  - !ruby/object:Gem::Version
56
56
  version: 2.12.1
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: fog
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - '='
61
+ - - "~>"
62
62
  - !ruby/object:Gem::Version
63
63
  version: '1.15'
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
70
  version: '1.15'
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: ruby-libvirt
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
- - - '='
75
+ - - "~>"
76
76
  - !ruby/object:Gem::Version
77
- version: 0.4.0
77
+ version: '0.4'
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: 0.4.0
84
+ version: '0.4'
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: nokogiri
87
87
  requirement: !ruby/object:Gem::Requirement
@@ -100,17 +100,17 @@ dependencies:
100
100
  name: rake
101
101
  requirement: !ruby/object:Gem::Requirement
102
102
  requirements:
103
- - - '='
103
+ - - ">="
104
104
  - !ruby/object:Gem::Version
105
- version: 10.1.0
105
+ version: '0'
106
106
  type: :development
107
107
  prerelease: false
108
108
  version_requirements: !ruby/object:Gem::Requirement
109
109
  requirements:
110
- - - '='
110
+ - - ">="
111
111
  - !ruby/object:Gem::Version
112
- version: 10.1.0
113
- description: Vagrant provider for libvirt. support a lot options
112
+ version: '0'
113
+ description: Vagrant provider for libvirt.
114
114
  email:
115
115
  - ls@elostech.cz
116
116
  - pronix.service@gmail.com
@@ -213,3 +213,4 @@ test_files:
213
213
  - spec/spec_helper.rb
214
214
  - spec/support/environment_helper.rb
215
215
  - spec/vagrant-libvirt/action/set_name_of_domain_spec.rb
216
+ has_rdoc: