kitchen-qemu 0.1.1 → 0.1.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
  SHA1:
3
- metadata.gz: 0b384b431d25be6af9629e25257b22aae196b6ee
4
- data.tar.gz: a357e929445b2ed642d3afe3e1c6b2dfa09c65c6
3
+ metadata.gz: 1029f7e678c666e950af682e6efa5ef223f2fc21
4
+ data.tar.gz: 3bb85ec743a685a5a4e9adf9b166b21117a1caf5
5
5
  SHA512:
6
- metadata.gz: c2528d3868e9d8f30466636577dc0c8e4823be92243171ae1e31c6be6db00b298f7629b93361f9a776f265953db9f89d7f8eaa3d5589c2d67109736644901a62
7
- data.tar.gz: 3c6efcde7a3193201f4f2aaafd2cdf063da363ca3b0f80a6c0bdc613b0febe778c72030dd1a11e8f79584f125cc0dfa111cbf85a61d4d77e4255d9097fca0734
6
+ metadata.gz: 28214283a12ec0d94a6b59551a438de3eaa4804dbdd2fe5c53d0be3fa33b70eaf054184e43f44d324e24eeaeef9b80565168a6273d42d652596cb31a0c013797
7
+ data.tar.gz: cee503538175132530f22439bf3259556fbbcbb0af878a0444199b5cbb35e9f400abb8d45bc8e87913e0780d6f0458767f085c5f9345a1fe0502f8ba97c74433
@@ -37,6 +37,7 @@ module Kitchen
37
37
  default_config :username, 'kitchen'
38
38
  default_config :password, 'kitchen'
39
39
  default_config :port, 2222
40
+ default_config :display, 'none'
40
41
  default_config :memory, '512'
41
42
  default_config :nic_model, 'virtio'
42
43
 
@@ -59,9 +60,7 @@ module Kitchen
59
60
  config[:binary] = @@archbinary[config[:arch]] or
60
61
  raise UserError, "Unknown architecture '#{config[:arch]}'"
61
62
  end
62
- if not config[:vnc] and not config[:spice]
63
- config[:spice] = "addr=#{spice_path},unix"
64
- end
63
+ config[:vga] = 'qxl' if config[:spice] && !config[:vga]
65
64
  self
66
65
  end
67
66
 
@@ -75,6 +74,7 @@ module Kitchen
75
74
  begin
76
75
  mon = UNIXSocket.new(monitor)
77
76
  rescue Errno::ECONNREFUSED
77
+ info 'Stale monitor socket detected. Assuming old QEMU already quit.'
78
78
  cleanup!
79
79
  else
80
80
  mon.close
@@ -94,9 +94,10 @@ module Kitchen
94
94
 
95
95
  cmd = [
96
96
  config[:binary], '-daemonize',
97
+ '-display', config[:display].to_s,
97
98
  '-chardev', "socket,id=monitor,path=#{monitor},server,nowait",
98
99
  '-mon', 'chardev=monitor,mode=control,default',
99
- '-m', config[:memory],
100
+ '-m', config[:memory].to_s,
100
101
  '-net', "nic,model=#{config[:nic_model]}",
101
102
  '-net', "user,net=192.168.1.0/24,hostname=#{hostname},hostfwd=tcp::#{state[:port]}-:22",
102
103
  '-device', 'virtio-scsi-pci,id=scsi',
@@ -124,15 +125,13 @@ module Kitchen
124
125
  info 'KVM disabled'
125
126
  end
126
127
 
127
- if config[:spice]
128
- cmd.push('-vga', 'qxl', '-spice', config[:spice])
129
- elsif config[:vnc]
130
- cmd.push('-vnc', config[:vnc])
131
- end
128
+ cmd.push('-vga', config[:vga].to_s) if config[:vga]
129
+ cmd.push('-spice', config[:spice].to_s) if config[:spice]
130
+ cmd.push('-vnc', config[:vnc].to_s) if config[:vnc]
132
131
 
133
132
  info 'Spawning QEMU..'
134
133
  error = nil
135
- Open3.popen3({ 'QEMU_AUDIO_DRV' => 'none' }, *cmd, :unsetenv_others=>true ) do |_, _, err, thr|
134
+ Open3.popen3({ 'QEMU_AUDIO_DRV' => 'none' }, *cmd) do |_, _, err, thr|
136
135
  if not thr.value.success?
137
136
  error = err.read.strip
138
137
  end
@@ -213,9 +212,9 @@ jxl4Yo9wNmkVrWMkOUn1BRWTEVLnx88EaIOu3CJyJDsaSufbyENCtCXhjVEV4Eqp
213
212
  kc9GOsm4n+EVnWyhUVjwxEExaCRuFa4aJ/ekLZYtepNnd9Nsoknqd1SVW163QjrY
214
213
  tY4IM9IaSC2LuPFVc0Kx6TwObdeQScOokIxL3HfayfLKieTLC+w2
215
214
  -----END RSA PRIVATE KEY-----
216
- }
215
+ }.freeze
217
216
 
218
- @@pubkey = 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIboBIvdtZLruuwDksO8qd90IFqArrUHksiv4292MrehEqEKqpGzto1I86oy7Y1sqi3j8G0PSFaKkXsICwyor7bjVygxTDFFOWq+h78vvFnbgq1qOubWST/E1QY/m9bIryxh9icNS4tLKlFpn9l9a4pmBAsN07DYVaocVUugkOxeCxr/KLUXdvmXj4Xfq837ultL1ggyaN2YqeDwn+GxM8RNm51rIRa4DL6Y1rPgztm3FL+A9MglzEjELbs8s6EDVewAG6do1HwS3LqCGxlfZgRieelzIHkyaqLRU4mzqbkhmfaR/U/fHQppRDYWb3CoCSBilJxxYfjLK1VDyXOWkH kitchen-qemu'
217
+ @@pubkey = 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIboBIvdtZLruuwDksO8qd90IFqArrUHksiv4292MrehEqEKqpGzto1I86oy7Y1sqi3j8G0PSFaKkXsICwyor7bjVygxTDFFOWq+h78vvFnbgq1qOubWST/E1QY/m9bIryxh9icNS4tLKlFpn9l9a4pmBAsN07DYVaocVUugkOxeCxr/KLUXdvmXj4Xfq837ultL1ggyaN2YqeDwn+GxM8RNm51rIRa4DL6Y1rPgztm3FL+A9MglzEjELbs8s6EDVewAG6do1HwS3LqCGxlfZgRieelzIHkyaqLRU4mzqbkhmfaR/U/fHQppRDYWb3CoCSBilJxxYfjLK1VDyXOWkH kitchen-qemu'.freeze
219
218
 
220
219
  @@archbinary = {
221
220
  'i386' => 'qemu-system-i386',
@@ -224,7 +223,7 @@ tY4IM9IaSC2LuPFVc0Kx6TwObdeQScOokIxL3HfayfLKieTLC+w2
224
223
  'x86_64' => 'qemu-system-x86_64',
225
224
  '32bit' => 'qemu-system-i386',
226
225
  '64bit' => 'qemu-system-x86_64',
227
- }
226
+ }.freeze
228
227
 
229
228
  def privkey_path
230
229
  File.join(config[:kitchen_root], '.kitchen', 'kitchen-qemu.key')
@@ -234,10 +233,6 @@ tY4IM9IaSC2LuPFVc0Kx6TwObdeQScOokIxL3HfayfLKieTLC+w2
234
233
  File.join(config[:kitchen_root], '.kitchen', "#{instance.name}.mon")
235
234
  end
236
235
 
237
- def spice_path
238
- File.join(config[:kitchen_root], '.kitchen', "#{instance.name}.spice")
239
- end
240
-
241
236
  def create_privkey
242
237
  path = privkey_path
243
238
  return true if File.file?(path)
@@ -245,12 +240,10 @@ tY4IM9IaSC2LuPFVc0Kx6TwObdeQScOokIxL3HfayfLKieTLC+w2
245
240
  end
246
241
 
247
242
  def cleanup!
248
- [ spice_path, monitor_path ].each do |path|
249
- begin
250
- File.delete(path)
251
- rescue Errno::ENOENT
252
- # do nothing
253
- end
243
+ begin
244
+ File.delete(monitor_path)
245
+ rescue Errno::ENOENT
246
+ # do nothing
254
247
  end
255
248
  end
256
249
 
@@ -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.1.1'
20
+ QEMU_VERSION = '0.1.2'
21
21
  end
22
22
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-qemu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emil Renner Berthing