ovirt 0.7.0 → 0.7.1

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: d19cf0b487e8c1dcb5745dfb0f95cdf74d1d8d6d
4
- data.tar.gz: 4f108899a953512df3a0b6c3d60a690d26a4abf0
3
+ metadata.gz: 71f1b7bb31e4d2232067a664b1a7c69b89ef97f1
4
+ data.tar.gz: f64da9916927aab357ba1b3afb33584f41edc5ed
5
5
  SHA512:
6
- metadata.gz: a2a468b2dca4fabb50842d9dfaf1c1cafb614496ca40fa18823fe364f1ba968adba5650e853c1cf66992929b9766c13a9fd31b7cb8f16287a51063effe6d9610
7
- data.tar.gz: c5b3a92c5dfabbaeaeadaeb49bb9853d025a6120b79e7470a964a02583fe8137fe51c1e9e9e5197f46417108409af9fcbbf580ccb732c4092ae2d55ed6308553
6
+ metadata.gz: f00947dba22ddf24e1ed1e1653aa02b1b7a8b5aaccbac6af1dd4d206f80a737fe4acd716b1b8c207b6fe4ddc6b04a86a32f989ae31d278b67b6648be88925522
7
+ data.tar.gz: add18edf2497bad5478a0dfced3d550332b0e5ada97e88d1702666e64c1404e02d621a49552c82c7f9fdeb267dcc79dc36a8fcf9f0109519903450c582daec9d
data/lib/ovirt/api.rb CHANGED
@@ -2,7 +2,7 @@ module Ovirt
2
2
  class Api < Base
3
3
  def self.parse_node_extended(node, hash)
4
4
  parse_first_node(node, :product_info, hash,
5
- :node => [:name, :vendor])
5
+ :node => [:name, :vendor, :full_version])
6
6
 
7
7
  parse_first_node_with_hash(node, 'product_info/version', hash[:product_info][:version] = {},
8
8
  :attribute => [:major, :minor, :build, :revision])
data/lib/ovirt/service.rb CHANGED
@@ -52,7 +52,8 @@ module Ovirt
52
52
  end
53
53
 
54
54
  def version
55
- @version ||= product_info[:version]
55
+ # HACK: using full_version if available due to version being wrong, https://bugzilla.redhat.com/show_bug.cgi?id=1284654
56
+ @version ||= full_version || product_info[:version]
56
57
  end
57
58
 
58
59
  def version_string
@@ -336,5 +337,12 @@ module Ovirt
336
337
  end
337
338
  end
338
339
  end
340
+
341
+ def full_version
342
+ v = product_info[:full_version]
343
+ return if v.blank?
344
+ v = v.sub("-", ".").split(".")[0..3]
345
+ Hash[[:major, :minor, :revision, :build].zip(v)]
346
+ end
339
347
  end
340
348
  end
data/lib/ovirt/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ovirt
2
- VERSION = "0.7.0"
2
+ VERSION = "0.7.1"
3
3
  end
data/lib/ovirt/vm.rb CHANGED
@@ -367,8 +367,7 @@ module Ovirt
367
367
  require 'yaml'
368
368
  raw_content = YAML.load(content)
369
369
  hash = ovirt_cloud_init_keys.each_with_object({}) { |k, h| h[k] = raw_content.delete(k) }
370
- custom_script = YAML.dump(raw_content).to_s.sub("---\n", "")
371
- hash[:custom_script] = custom_script unless custom_script.blank?
370
+ hash[:custom_script] = YAML.dump(raw_content).sub("---\n", "") if raw_content.present?
372
371
  hash.delete_nils
373
372
  end
374
373
  end
data/spec/service_spec.rb CHANGED
@@ -101,4 +101,16 @@ EOX
101
101
  expect(subject).to eq("https://nobody.com:443")
102
102
  end
103
103
  end
104
+
105
+ context "#version" do
106
+ it "with :full_version" do
107
+ allow(service).to receive(:product_info).and_return(:full_version => "3.4.5-0.3.el6ev", :version => {:major => "3", :minor => "4", :build => "0", :revision => "0"})
108
+ expect(service.version).to eq(:major => "3", :minor => "4", :revision => "5", :build => "0")
109
+ end
110
+
111
+ it "without :full_version" do
112
+ allow(service).to receive(:product_info).and_return(:version => {:major => "3", :minor => "4", :build => "0", :revision => "0"})
113
+ expect(service.version).to eq(:major => "3", :minor => "4", :revision => "0", :build => "0")
114
+ end
115
+ end
104
116
  end
data/spec/vm_spec.rb CHANGED
@@ -287,26 +287,9 @@ EOX
287
287
  end
288
288
  end
289
289
 
290
- it "cloud_init= Ovirt 3.4 and newer" do
291
- cloud_config = <<-EOCC.chomp
292
- #cloud_config
293
- regenerate_ssh_keys: false
294
- root_password: some_password
295
- fqdn: example.example.com
296
- debug: True
297
- EOCC
298
-
299
- expected_data = <<-EOX.chomp
300
- <vm>
301
- <initialization>
302
- <regenerate_ssh_keys>false</regenerate_ssh_keys>
303
- <root_password>some_password</root_password>
304
- <custom_script>fqdn: example.example.com\ndebug: true\n</custom_script>
305
- </initialization>
306
- </vm>
307
- EOX
308
-
309
- return_data = <<-EOX.chomp
290
+ context "#cloud_init= Ovirt 3.4 and newer" do
291
+ let(:return_data) do
292
+ <<-EOX.chomp
310
293
  <vm href="/api/vms/128f9ffd-b82c-41e4-8c00-9742ed173bac" id="128f9ffd-b82c-41e4-8c00-9742ed173bac">
311
294
  <name>bd-skeletal-clone-from-template</name>
312
295
  <cpu>
@@ -325,9 +308,51 @@ EOX
325
308
  </memory_policy>
326
309
  </vm>
327
310
  EOX
311
+ end
312
+
313
+ it "with custom_script" do
314
+ cloud_config = <<-EOCC.chomp
315
+ #cloud_config
316
+ regenerate_ssh_keys: false
317
+ root_password: some_password
318
+ fqdn: example.example.com
319
+ debug: True
320
+ EOCC
321
+
322
+ expected_data = <<-EOX.chomp
323
+ <vm>
324
+ <initialization>
325
+ <regenerate_ssh_keys>false</regenerate_ssh_keys>
326
+ <root_password>some_password</root_password>
327
+ <custom_script>fqdn: example.example.com\ndebug: true\n</custom_script>
328
+ </initialization>
329
+ </vm>
330
+ EOX
331
+
332
+ expect(service).to receive(:api).and_return(:product_info => {:version => {:major => "3", :minor => "4", :revision => "0", :build => "0"}})
333
+ expect(service).to receive(:resource_put).once.with(vm.attributes[:href], expected_data).and_return(return_data)
334
+ vm.cloud_init = cloud_config
335
+ end
328
336
 
329
- expect(service).to receive(:api).and_return(:product_info => {:version => {:major => "3", :minor => "4", :revision => "0", :build => "0"}})
330
- expect(service).to receive(:resource_put).once.with(vm.attributes[:href], expected_data).and_return(return_data)
331
- vm.cloud_init = cloud_config
337
+ it "without custom_script" do
338
+ cloud_config = <<-EOCC.chomp
339
+ #cloud_config
340
+ regenerate_ssh_keys: false
341
+ root_password: some_password
342
+ EOCC
343
+
344
+ expected_data = <<-EOX.chomp
345
+ <vm>
346
+ <initialization>
347
+ <regenerate_ssh_keys>false</regenerate_ssh_keys>
348
+ <root_password>some_password</root_password>
349
+ </initialization>
350
+ </vm>
351
+ EOX
352
+
353
+ expect(service).to receive(:api).and_return(:product_info => {:version => {:major => "3", :minor => "4", :revision => "0", :build => "0"}})
354
+ expect(service).to receive(:resource_put).once.with(vm.attributes[:href], expected_data).and_return(return_data)
355
+ vm.cloud_init = cloud_config
356
+ end
332
357
  end
333
358
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ovirt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Frey
@@ -16,7 +16,7 @@ authors:
16
16
  autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
- date: 2015-10-21 00:00:00.000000000 Z
19
+ date: 2015-11-25 00:00:00.000000000 Z
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: bundler