kitchen-qemu 0.2.5 → 0.2.6

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: cb38771a7b4755414d61c8766b9503fc79cce395
4
- data.tar.gz: 6aec6dcc6dabcb1b6dfaaf4b9ab39c9a50aa4f47
3
+ metadata.gz: 8dd24ef6c0204e58e644cca85f42a7bec9e0fc75
4
+ data.tar.gz: 4840059137e31c53f4327582b39c6cb173d767ae
5
5
  SHA512:
6
- metadata.gz: 5ab29a56d741c00fb0bbfc41eaf470a0274bc5a33df3d70ff891e563a044fb31e40c7efc88f5b84737d792f3930de3370f64639b54ae95dd2302fc3419243568
7
- data.tar.gz: 49f495ef2d79e9b53106a217c475a19808b5fd1f405af98bcb14647892ecb7bcf106119a8802ebb739776be3f147ddbfeb17e436fa00a578a92618e174c97914
6
+ metadata.gz: af40db104231ae9fc40c536adf0041b7a4209c8105b344bcc7d54917b6eaf4120443056ab0279ffcd17bd80be6f1d6a452b9e31dfbba90f0227720248b34c8cb
7
+ data.tar.gz: c5abe718f9d579b699cc2deaa38beb0ec2f46d9426395d185bca3b207aca3226b22c7f83ee5411c38ba8ece4542e533120f1f781c5f20972b1397f0fb46183fa
@@ -41,7 +41,6 @@ module Kitchen
41
41
  default_config :port_max, 65535
42
42
  default_config :display, 'none'
43
43
  default_config :memory, '512'
44
- default_config :nic_model, 'virtio'
45
44
  default_config :hostshares, []
46
45
 
47
46
  default_config :image_path do |_|
@@ -79,6 +78,24 @@ module Kitchen
79
78
  # kitchen-vagrant compatibility
80
79
  config[:hostname] = config[:vm_hostname] unless config.has_key?(:hostname)
81
80
 
81
+ # add default network
82
+ if !config.has_key?(:networks)
83
+ config[:networks] = [{
84
+ :netdev => 'user,id=user,net=192.168.1.0/24,hostname=%h,hostfwd=tcp::%p-:22',
85
+ :device => 'virtio-net-pci,netdev=user',
86
+ }]
87
+ else
88
+ raise UserError, "Invalid network entry for #{instance.to_str}" unless
89
+ config[:networks].kind_of?(Array)
90
+
91
+ config[:networks].each_with_index do |network, i|
92
+ raise UserError, "Invalid network entry #{i+1} for #{instance.to_str}" unless
93
+ network.kind_of?(Hash) && network[:device].kind_of?(String)
94
+ raise UserError, "Invalid network entry #{i+1} for #{instance.to_str}" if
95
+ network.has_key?(:device) && !network[:device].kind_of?(String)
96
+ end
97
+ end
98
+
82
99
  acpi_poweroff = false
83
100
  if config[:image].kind_of?(String)
84
101
  config[:image] = [{
@@ -185,6 +202,18 @@ module Kitchen
185
202
  info 'KVM disabled'
186
203
  end
187
204
 
205
+ port = config[:port]
206
+ port = random_free_port('127.0.0.1', config[:port_min], config[:port_max]) if port.nil?
207
+ config[:networks].each do |network|
208
+ cmd.push(
209
+ '-netdev',
210
+ network[:netdev]
211
+ .gsub(/hostfwd=[^,]*/) { |x| x.gsub('%p', port.to_s) }
212
+ .gsub(/hostname=%h/, "hostname=#{hostname}")
213
+ ) if network[:netdev]
214
+ cmd.push('-device', network[:device])
215
+ end
216
+
188
217
  cmd.push('-vga', config[:vga].to_s) if config[:vga]
189
218
  cmd.push('-spice', config[:spice].to_s) if config[:spice]
190
219
  cmd.push('-vnc', config[:vnc].to_s) if config[:vnc]
@@ -224,13 +253,6 @@ module Kitchen
224
253
  '-device', "virtio-9p-pci,fsdev=fsdev#{i},mount_tag=path#{i}")
225
254
  end
226
255
 
227
- port = config[:port]
228
- port = random_free_port('127.0.0.1', config[:port_min], config[:port_max]) if port.nil?
229
- cmd.push(
230
- '-net', "nic,model=#{config[:nic_model]}",
231
- '-net', "user,net=192.168.1.0/24,hostname=#{hostname},hostfwd=tcp::#{port}-:22",
232
- )
233
-
234
256
  info 'Spawning QEMU..'
235
257
  error = nil
236
258
  Open3.popen3({ 'QEMU_AUDIO_DRV' => 'none' }, *cmd) do |_, _, err, thr|
@@ -17,6 +17,6 @@
17
17
  module Kitchen
18
18
  module Driver
19
19
  # Version string for the QEMU Kitchen driver
20
- QEMU_VERSION = '0.2.5'
20
+ QEMU_VERSION = '0.2.6'
21
21
  end
22
22
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-qemu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emil Renner Berthing
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-19 00:00:00.000000000 Z
11
+ date: 2016-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: test-kitchen