ovirt 0.4.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5eb20c16fc490965286768f8a1ec0068a75c0e01
4
- data.tar.gz: f86dd519bac3b0b97b42199c232c9975229a5a92
3
+ metadata.gz: e8e5086cc3efac6612e4e1631b5af6d14c6c5280
4
+ data.tar.gz: 25b06d7e055266368c2a3bf5ce9348a464459a9a
5
5
  SHA512:
6
- metadata.gz: f79e2e12f2faca3d402a7aa5244c28165e8e1ee45b849444b7f46122964575afbdf0ec40351b5bd37f7074ae3ebe847e4539e32eb1cc8bb908ac566c0c29a743
7
- data.tar.gz: a9b079f45a56188e8d40e21b8c0e9bd588b0faf3b46c180f5aa8f41622707a22154f416cfb23142a55e8024e78371f2ee90734ed726d8116097952ef4c36a33e
6
+ metadata.gz: d0fd8d69ed5af1e4392a023307b4165baea65a35c009d6da188f01e072d1caf5c2e06d2cc8d9683b0879d7fc204a233e334171f999812a3eac047b9c1f8e1ed7
7
+ data.tar.gz: daad3060acc9154fb9271c9e24ca2e3202ba5b82d7075cc21809a9a0c45312050fabb95dbcd85ea775dc3c19e1a85ac195c384f9a2f593af214d55b13dbf20a2
data/lib/ovirt/event.rb CHANGED
@@ -298,7 +298,6 @@ module Ovirt
298
298
  521 => "USER_SUSPEND_VM_FINISH_FAILURE",
299
299
  522 => "HOST_SET_NONOPERATIONAL_DOMAIN",
300
300
  523 => "HOST_SET_NONOPERATIONAL_DOMAIN_FAILED",
301
- 524 => "AUTO_SUSPEND_VM",
302
301
  524 => "HOST_DOMAIN_DELAY_INTERVAL",
303
302
  525 => "AUTO_SUSPEND_VM_FINISH_SUCCESS",
304
303
  526 => "AUTO_SUSPEND_VM_FINISH_FAILURE",
@@ -10,4 +10,7 @@ module Ovirt
10
10
  class VmAlreadyRunning < Error; end
11
11
  class VmIsNotRunning < Error; end
12
12
  class VmNotReadyToBoot < Error; end
13
+
14
+ class UsageError < Error; end
15
+ class CloudInitSyntaxError < UsageError; end
13
16
  end
@@ -0,0 +1,7 @@
1
+ module Ovirt
2
+ module CloudInitViaFloppyPayload
3
+ def cloud_init=(content)
4
+ attach_floppy("user-data.txt" => content)
5
+ end
6
+ end
7
+ end
data/lib/ovirt/service.rb CHANGED
@@ -240,8 +240,10 @@ module Ovirt
240
240
  doc = Nokogiri::XML(response)
241
241
  action = doc.xpath("action").first
242
242
  node = action || doc
243
- reason = node.xpath("fault/detail").text
244
- raise Ovirt::Error, reason
243
+ fault = node.xpath("fault/detail").text
244
+ usage = node.xpath("usage_message/message").text
245
+ raise Ovirt::Error, fault unless fault.blank?
246
+ raise Ovirt::UsageError, usage
245
247
  end
246
248
 
247
249
  def parse_set_cookie_header(set_cookie_header)
data/lib/ovirt/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ovirt
2
- VERSION = "0.4.2"
2
+ VERSION = "0.5.0"
3
3
  end
data/lib/ovirt/vm.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require_relative 'legacy_support/cloud_init_via_floppy_payload'
2
+
1
3
  module Ovirt
2
4
  class Vm < Template
3
5
  self.top_level_strings = [:name, :origin, :type, :description]
@@ -6,6 +8,8 @@ module Ovirt
6
8
  self.top_level_timestamps = [:creation_time, :start_time]
7
9
  self.top_level_objects = [:cluster, :template, :host]
8
10
 
11
+ include CloudInitViaFloppyPayload
12
+
9
13
  attr_accessor :creation_status_link
10
14
 
11
15
  def initialize(*args)
@@ -122,6 +126,22 @@ module Ovirt
122
126
  end
123
127
  end
124
128
 
129
+ def cloud_init=(content)
130
+ if service.version[:major].to_i == 3 && service.version[:minor].to_i < 4
131
+ super # Use legacy method defined in CloudInitViaFloppyPayload
132
+ else
133
+ begin
134
+ update! do |xml|
135
+ xml.initialization do
136
+ converted_cloud_init(content).each { |k, v| xml.send(k, v) }
137
+ end
138
+ end
139
+ rescue Ovirt::UsageError => err
140
+ raise CloudInitSyntaxError, err.message
141
+ end
142
+ end
143
+ end
144
+
125
145
  # Attaches a payload.
126
146
  #
127
147
  # payloads:: Hash of payload_type => {file_name => content} that will be
@@ -332,5 +352,19 @@ module Ovirt
332
352
  raise TemplateAlreadyExists, err.message if err.message.include?("Template name already exists")
333
353
  raise
334
354
  end
355
+
356
+ private
357
+
358
+ def converted_cloud_init(content)
359
+ ovirt_cloud_init_keys = %w(active_directory_ou authorized_ssh_keys dns_search dns_servers domain host_name input_locale nic_configurations org_name regenerate_ssh_keys root_password system_locale timezone ui_language user_locale user_name)
360
+
361
+ require 'yaml'
362
+ raw_content = YAML.load(content)
363
+
364
+ hash = ovirt_cloud_init_keys.each_with_object({}) { |k, h| h[k] = raw_content.delete(k) }
365
+ custom_script = YAML.dump(raw_content).to_s.sub("---\n", "")
366
+ hash[:custom_script] = custom_script unless custom_script.blank?
367
+ hash.delete_nils
368
+ end
335
369
  end
336
370
  end
@@ -0,0 +1,5 @@
1
+ FactoryGirl.define do
2
+ factory :service, :class => "Ovirt::Service" do
3
+ initialize_with { new(:server => "", :username => "", :password => "") }
4
+ end
5
+ end
@@ -0,0 +1,40 @@
1
+ FactoryGirl.define do
2
+ factory :vm, :class => "Ovirt::Vm" do
3
+ initialize_with { new(service, {}) }
4
+ service { build(:service) }
5
+ end
6
+
7
+ factory :vm_full, :parent => :vm do
8
+ initialize_with do
9
+ new(service,
10
+ {
11
+ :actions => {:stop => '/api/vms/128f9ffd-b82c-41e4-8c00-9742ed173bac/stop'},
12
+ :id => "128f9ffd-b82c-41e4-8c00-9742ed173bac",
13
+ :href => "/api/vms/128f9ffd-b82c-41e4-8c00-9742ed173bac",
14
+ :cluster => {
15
+ :id => "5be5d08a-a60b-11e2-bee6-005056a217db",
16
+ :href => "/api/clusters/5be5d08a-a60b-11e2-bee6-005056a217db"},
17
+ :template => {
18
+ :id => "00000000-0000-0000-0000-000000000000",
19
+ :href => "/api/templates/00000000-0000-0000-0000-000000000000"},
20
+ :name => "bd-skeletal-clone-from-template",
21
+ :origin => "rhev",
22
+ :type => "server",
23
+ :memory => 536_870_912,
24
+ :stateless => false,
25
+ :creation_time => "2013-09-04 16:24:20 -0400",
26
+ :status => {:state => "down"},
27
+ :display => {:type => "spice", :monitors => 1},
28
+ :usb => {:enabled => false},
29
+ :cpu => {:sockets => 1, :cores => 1},
30
+ :high_availability => {:priority => 1, :enabled => false},
31
+ :os => {:type => "unassigned", :boot_order => [{:dev => "hd"}]},
32
+ :custom_attributes => [],
33
+ :placement_policy => {:affinity => "migratable", :host => {}},
34
+ :memory_policy => {:guaranteed => 536_870_912},
35
+ :guest_info => {}
36
+ }
37
+ )
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,14 @@
1
+ require 'spec_helper'
2
+
3
+ describe Ovirt::CloudInitViaFloppyPayload do
4
+ let(:vm) { build(:vm) }
5
+
6
+ it "cloud_init= Ovirt 3.3 and older" do
7
+ cloud_config = "#cloud_config\nroot_password: some_password\nregenerate_ssh_keys: false\ncustom_script: \"#!/bin/bash\necho 'hi'\""
8
+
9
+ expect(vm.service).to receive(:api).and_return(:product_info => {:version => {:major => "3", :minor => "3", :revision => "0", :build => "0"}})
10
+ expect(vm).to receive(:attach_floppy).with("user-data.txt" => cloud_config)
11
+
12
+ vm.cloud_init = cloud_config
13
+ end
14
+ end
data/spec/service_spec.rb CHANGED
@@ -2,9 +2,7 @@ require 'spec_helper'
2
2
  require 'rest-client'
3
3
 
4
4
  describe Ovirt::Service do
5
- before do
6
- @service = described_class.new(:server => "", :username => "", :password => "")
7
- end
5
+ let(:service) { build(:service) }
8
6
 
9
7
  context "#resource_post" do
10
8
  it "raises Ovirt::Error if HTTP 409 response code received" do
@@ -23,14 +21,32 @@ EOX
23
21
  block.call(return_data)
24
22
  end
25
23
 
26
- @service.stub(:create_resource).and_return(rest_client)
27
- expect { @service.resource_post('uri', 'data') }.to raise_error(Ovirt::Error, error_detail)
24
+ service.stub(:create_resource).and_return(rest_client)
25
+ expect { service.resource_post('uri', 'data') }.to raise_error(Ovirt::Error, error_detail)
26
+ end
27
+
28
+ it "raises Ovirt::Error if HTTP 409 response code received" do
29
+ error_detail = "Usage message"
30
+ return_data = <<-EOX.chomp
31
+ <usage_message>
32
+ <message>#{error_detail}</message>
33
+ </usage_message>
34
+ EOX
35
+
36
+ rest_client = double('rest_client').as_null_object
37
+ rest_client.should_receive(:post) do |&block|
38
+ return_data.stub(:code).and_return(409)
39
+ block.call(return_data)
40
+ end
41
+
42
+ service.stub(:create_resource).and_return(rest_client)
43
+ expect { service.resource_post('uri', 'data') }.to raise_error(Ovirt::UsageError, error_detail)
28
44
  end
29
45
  end
30
46
 
31
47
  it "#resource_get on exception" do
32
- @service.stub(:create_resource).and_raise(Exception, "BLAH")
33
- expect { @service.resource_get('api') }.to raise_error(Exception, "BLAH")
48
+ service.stub(:create_resource).and_raise(Exception, "BLAH")
49
+ expect { service.resource_get('api') }.to raise_error(Exception, "BLAH")
34
50
  end
35
51
 
36
52
  context ".ovirt?" do
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,6 @@
1
+ require 'factory_girl'
2
+ FactoryGirl.find_definitions
3
+
1
4
  # This file was generated by the `rspec --init` command. Conventionally, all
2
5
  # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
6
  # Require this file using `require "spec_helper"` to ensure that it is only
@@ -13,6 +16,7 @@ RSpec.configure do |config|
13
16
  # the seed, which is printed after each run.
14
17
  # --seed 1234
15
18
  config.order = 'random'
19
+ config.include FactoryGirl::Syntax::Methods
16
20
  end
17
21
 
18
22
  begin
@@ -1,9 +1,9 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Ovirt::Template do
4
+ let(:service) { build(:service) }
4
5
  before do
5
- @service = double('service')
6
- @template = Ovirt::Template.new(@service, {
6
+ @template = Ovirt::Template.new(service, {
7
7
  :id => "128f9ffd-b82c-41e4-8c00-9742ed173bac",
8
8
  :href => "/api/vms/128f9ffd-b82c-41e4-8c00-9742ed173bac",
9
9
  :cluster => {
@@ -46,8 +46,8 @@ describe Ovirt::Template do
46
46
  :os_type => "rhel5_64"}
47
47
  @template.stub(:nics).and_return([])
48
48
  @template.stub(:disks).and_return([])
49
- @service.stub(:blank_template).and_return(double('blank template'))
50
- @service.blank_template.should_receive(:create_vm).once.with(expected_data)
49
+ service.stub(:blank_template).and_return(double('blank template'))
50
+ service.blank_template.should_receive(:create_vm).once.with(expected_data)
51
51
  @template.create_vm(options)
52
52
  end
53
53
 
@@ -90,13 +90,13 @@ EOX
90
90
  :name => 'new name',
91
91
  :cluster => 'fb27f9a0-cb75-4e0f-8c07-8dec0c5ab483',
92
92
  :os_type => 'test'}
93
- @service.should_receive(:resource_post).once.with(:vms, expected_data).and_return(response_xml)
93
+ service.should_receive(:resource_post).once.with(:vms, expected_data).and_return(response_xml)
94
94
  @template.create_vm(options)
95
95
  end
96
96
 
97
97
  context "#create_new_disks_from_template" do
98
98
  before do
99
- @disk = Ovirt::Disk.new(@service, {
99
+ @disk = Ovirt::Disk.new(service, {
100
100
  :id=>"01eae62b-90df-424d-978c-beaa7eb2f7f6",
101
101
  :href=>"/api/templates/54f1b9f4-0e89-4c72-9a26-f94dcb857264/disks/01eae62b-90df-424d-978c-beaa7eb2f7f6",
102
102
  :name=>"clone_Disk1",
data/spec/vm_spec.rb CHANGED
@@ -1,40 +1,12 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Ovirt::Vm do
4
- before do
5
- @service = Ovirt::Service.new({:server => "", :username => "", :password => ""})
6
- @vm = Ovirt::Vm.new(@service, {
7
- :actions => {:stop => '/api/vms/128f9ffd-b82c-41e4-8c00-9742ed173bac/stop'},
8
- :id => "128f9ffd-b82c-41e4-8c00-9742ed173bac",
9
- :href => "/api/vms/128f9ffd-b82c-41e4-8c00-9742ed173bac",
10
- :cluster => {
11
- :id => "5be5d08a-a60b-11e2-bee6-005056a217db",
12
- :href => "/api/clusters/5be5d08a-a60b-11e2-bee6-005056a217db"},
13
- :template => {
14
- :id => "00000000-0000-0000-0000-000000000000",
15
- :href => "/api/templates/00000000-0000-0000-0000-000000000000"},
16
- :name => "bd-skeletal-clone-from-template",
17
- :origin => "rhev",
18
- :type => "server",
19
- :memory => 536_870_912,
20
- :stateless => false,
21
- :creation_time => "2013-09-04 16:24:20 -0400",
22
- :status => {:state => "down"},
23
- :display => {:type => "spice", :monitors => 1},
24
- :usb => {:enabled => false},
25
- :cpu => {:sockets => 1, :cores => 1},
26
- :high_availability => {:priority => 1, :enabled => false},
27
- :os => {:type => "unassigned", :boot_order => [{:dev => "hd"}]},
28
- :custom_attributes => [],
29
- :placement_policy => {:affinity => "migratable", :host => {}},
30
- :memory_policy => {:guaranteed => 536_870_912},
31
- :guest_info => {}
32
- })
33
- end
4
+ let(:service) { vm.service }
5
+ let(:vm) { build(:vm_full) }
34
6
 
35
7
  context "#create_disk" do
36
8
  before do
37
- @resource_url = "#{@vm.attributes[:href]}/disks"
9
+ @resource_url = "#{vm.attributes[:href]}/disks"
38
10
  @base_options = {
39
11
  :storage => "aa7e70e5-abcd-1234-a605-92ce6ba652a8",
40
12
  :id => "01eae62b-90df-424d-978c-beaa7eb2f7f6",
@@ -77,16 +49,16 @@ EOX
77
49
  expected_data = @base_data
78
50
  options = @base_options.merge(boolean_key => true)
79
51
 
80
- @service.should_receive(:resource_post).once.with(@resource_url, expected_data)
81
- @vm.create_disk(options)
52
+ service.should_receive(:resource_post).once.with(@resource_url, expected_data)
53
+ vm.create_disk(options)
82
54
  end
83
55
 
84
56
  it "set to false" do
85
57
  expected_data = @base_data.gsub("<#{boolean_key.to_s}>true</#{boolean_key.to_s}>", "<#{boolean_key.to_s}>false</#{boolean_key.to_s}>")
86
58
  options = @base_options.merge(boolean_key => false)
87
59
 
88
- @service.should_receive(:resource_post).once.with(@resource_url, expected_data)
89
- @vm.create_disk(options)
60
+ service.should_receive(:resource_post).once.with(@resource_url, expected_data)
61
+ vm.create_disk(options)
90
62
  end
91
63
 
92
64
  it "unset" do
@@ -94,8 +66,8 @@ EOX
94
66
  options = @base_options.dup
95
67
  options.delete(boolean_key)
96
68
 
97
- @service.should_receive(:resource_post).once.with(@resource_url, expected_data)
98
- @vm.create_disk(options)
69
+ service.should_receive(:resource_post).once.with(@resource_url, expected_data)
70
+ vm.create_disk(options)
99
71
  end
100
72
  end
101
73
  end
@@ -104,7 +76,7 @@ EOX
104
76
  context "#create_nic" do
105
77
  before do
106
78
  @name = 'nic_name'
107
- @resource_url = "#{@vm.attributes[:href]}/nics"
79
+ @resource_url = "#{vm.attributes[:href]}/nics"
108
80
  @base_options = {:name => @name}
109
81
  end
110
82
 
@@ -119,23 +91,23 @@ EOX
119
91
 
120
92
  it "populates the interface" do
121
93
  interface = 'interface'
122
- @service.should_receive(:resource_post).once.with(
94
+ service.should_receive(:resource_post).once.with(
123
95
  @resource_url, expected_data("<interface>#{interface}</interface>"))
124
- @vm.create_nic(@base_options.merge({:interface => interface}))
96
+ vm.create_nic(@base_options.merge({:interface => interface}))
125
97
  end
126
98
 
127
99
  it "populates the network id" do
128
100
  network_id = 'network_id'
129
- @service.should_receive(:resource_post).once.with(
101
+ service.should_receive(:resource_post).once.with(
130
102
  @resource_url, expected_data("<network id=\"#{network_id}\"/>"))
131
- @vm.create_nic(@base_options.merge({:network_id => network_id}))
103
+ vm.create_nic(@base_options.merge({:network_id => network_id}))
132
104
  end
133
105
 
134
106
  it "populates the MAC address" do
135
107
  mac_address = 'mac_address'
136
- @service.should_receive(:resource_post).once.with(
108
+ service.should_receive(:resource_post).once.with(
137
109
  @resource_url, expected_data("<mac address=\"#{mac_address}\"/>"))
138
- @vm.create_nic(@base_options.merge({:mac_address => mac_address}))
110
+ vm.create_nic(@base_options.merge({:mac_address => mac_address}))
139
111
  end
140
112
  end
141
113
 
@@ -159,10 +131,10 @@ EOX
159
131
  </vm>
160
132
  EOX
161
133
 
162
- @service.should_receive(:resource_put).once.with(
163
- @vm.attributes[:href],
134
+ service.should_receive(:resource_put).once.with(
135
+ vm.attributes[:href],
164
136
  expected_data).and_return(return_data)
165
- @vm.memory_reserve = memory_reserve
137
+ vm.memory_reserve = memory_reserve
166
138
  end
167
139
  end
168
140
 
@@ -182,8 +154,8 @@ EOX
182
154
  block.call(return_data)
183
155
  end
184
156
 
185
- @service.stub(:create_resource).and_return(rest_client)
186
- expect { @vm.stop }.to raise_error Ovirt::VmIsNotRunning
157
+ service.stub(:create_resource).and_return(rest_client)
158
+ expect { vm.stop }.to raise_error Ovirt::VmIsNotRunning
187
159
  end
188
160
  end
189
161
 
@@ -222,9 +194,9 @@ EOX
222
194
  </memory_policy>
223
195
  </vm>
224
196
  EOX
225
- @service.should_receive(:version).twice.and_return(:major=>"3", :minor=>"0", :build=>"0", :revision=>"0")
226
- @service.should_receive(:resource_put).once.with(@vm.attributes[:href], expected_data).and_return(return_data)
227
- @vm.detach_floppy
197
+ service.should_receive(:version).twice.and_return(:major=>"3", :minor=>"0", :build=>"0", :revision=>"0")
198
+ service.should_receive(:resource_put).once.with(vm.attributes[:href], expected_data).and_return(return_data)
199
+ vm.detach_floppy
228
200
  end
229
201
 
230
202
  it "Ovirt 3.3 should remove payload" do
@@ -252,10 +224,54 @@ EOX
252
224
  </memory_policy>
253
225
  </vm>
254
226
  EOX
255
- @service.should_receive(:version).and_return(:major=>"3", :minor=>"3", :build=>"0", :revision=>"0")
256
- @service.should_receive(:resource_put).once.with(@vm.attributes[:href], expected_data).and_return(return_data)
257
- @vm.detach_floppy
227
+ service.should_receive(:version).and_return(:major=>"3", :minor=>"3", :build=>"0", :revision=>"0")
228
+ service.should_receive(:resource_put).once.with(vm.attributes[:href], expected_data).and_return(return_data)
229
+ vm.detach_floppy
258
230
  end
259
231
  end
260
232
  end
233
+
234
+ it "cloud_init= Ovirt 3.4 and newer" do
235
+ cloud_config = <<-EOCC.chomp
236
+ #cloud_config
237
+ regenerate_ssh_keys: false
238
+ root_password: some_password
239
+ fqdn: example.example.com
240
+ debug: True
241
+ EOCC
242
+
243
+ expected_data = <<-EOX.chomp
244
+ <vm>
245
+ <initialization>
246
+ <regenerate_ssh_keys>false</regenerate_ssh_keys>
247
+ <root_password>some_password</root_password>
248
+ <custom_script>fqdn: example.example.com\ndebug: true\n</custom_script>
249
+ </initialization>
250
+ </vm>
251
+ EOX
252
+
253
+ return_data = <<-EOX.chomp
254
+ <vm href="/api/vms/128f9ffd-b82c-41e4-8c00-9742ed173bac" id="128f9ffd-b82c-41e4-8c00-9742ed173bac">
255
+ <name>bd-skeletal-clone-from-template</name>
256
+ <cpu>
257
+ <topology sockets="1" cores="1"/>
258
+ </cpu>
259
+ <os type="rhel_6x64">
260
+ <boot dev="hd"/>
261
+ </os>
262
+ <placement_policy>
263
+ <host id="a3abe9ed-fa52-4a7f-8a9b-1eebc782781f"/>
264
+ <affinity>migratable</affinity>
265
+ </placement_policy>
266
+ <memory_policy>
267
+ <guaranteed>1073741824</guaranteed>
268
+ <ballooning>true</ballooning>
269
+ </memory_policy>
270
+ </vm>
271
+ EOX
272
+
273
+ expect(service).to receive(:api).and_return(:product_info => {:version => {:major => "3", :minor => "4", :revision => "0", :build => "0"}})
274
+ expect(service).to receive(:resource_put).once.with(vm.attributes[:href], expected_data).and_return(return_data)
275
+ vm.cloud_init = cloud_config
276
+ end
261
277
  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.4.2
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Frey
@@ -15,7 +15,7 @@ authors:
15
15
  autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
- date: 2015-04-22 00:00:00.000000000 Z
18
+ date: 2015-07-27 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: bundler
@@ -31,6 +31,20 @@ dependencies:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.3'
34
+ - !ruby/object:Gem::Dependency
35
+ name: factory_girl
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '4.0'
41
+ type: :development
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '4.0'
34
48
  - !ruby/object:Gem::Dependency
35
49
  name: rake
36
50
  requirement: !ruby/object:Gem::Requirement
@@ -176,6 +190,7 @@ files:
176
190
  - lib/ovirt/host.rb
177
191
  - lib/ovirt/host_nic.rb
178
192
  - lib/ovirt/inventory.rb
193
+ - lib/ovirt/legacy_support/cloud_init_via_floppy_payload.rb
179
194
  - lib/ovirt/network.rb
180
195
  - lib/ovirt/nic.rb
181
196
  - lib/ovirt/permission.rb
@@ -194,6 +209,9 @@ files:
194
209
  - lib/ovirt/vmpool.rb
195
210
  - spec/base_spec.rb
196
211
  - spec/event_spec.rb
212
+ - spec/factories/service.rb
213
+ - spec/factories/vm.rb
214
+ - spec/legacy_support/cloud_init_via_floppy_payload_spec.rb
197
215
  - spec/service_spec.rb
198
216
  - spec/spec_helper.rb
199
217
  - spec/template_spec.rb
@@ -218,7 +236,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
218
236
  version: '0'
219
237
  requirements: []
220
238
  rubyforge_project:
221
- rubygems_version: 2.2.2
239
+ rubygems_version: 2.4.5
222
240
  signing_key:
223
241
  specification_version: 4
224
242
  summary: Ovirt provides a simple Object Oriented interface to the REST API of oVirt
@@ -226,6 +244,9 @@ summary: Ovirt provides a simple Object Oriented interface to the REST API of oV
226
244
  test_files:
227
245
  - spec/base_spec.rb
228
246
  - spec/event_spec.rb
247
+ - spec/factories/service.rb
248
+ - spec/factories/vm.rb
249
+ - spec/legacy_support/cloud_init_via_floppy_payload_spec.rb
229
250
  - spec/service_spec.rb
230
251
  - spec/spec_helper.rb
231
252
  - spec/template_spec.rb