fog-ovirt 1.0.3 → 1.0.4

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: 231279bba2577e46d1eaebb4707b5fbeda1237de
4
- data.tar.gz: 1d2a2562c87a264601c73f99b86d592770e3bfca
3
+ metadata.gz: ae44f7ed66761842e8171bb18c980ac4da26c48e
4
+ data.tar.gz: a1e45426a36e13357584f8adfe82307070f98ee8
5
5
  SHA512:
6
- metadata.gz: 1adc82676c9e21ca1d7a545613357b4ab51eae18aa40dfa57c6f31637344f6f845c44d78fb917ceb340f8805474bf3c6567b9f94101012e02791c8678b93c37b
7
- data.tar.gz: 6dc5a477f43f45ba167ddafe3787b4806a5d77ea31a74367810daebfbc8c0244127f47831f6d6e935807321228a757673cb2f9aaf7bd2b4d05308b90e2088259
6
+ metadata.gz: 424c2016c3f2d01ad833c65f6f6ade596c0327f1eef47b388adcb5caeccf4bac3380896c0d8d3687627ca7e9ba05f99b54ed753f6a0b580c8b3b114faf217646
7
+ data.tar.gz: 5a4244fd04d8101d108fe6fce9a75b315785bb4ca42a1d30a5c47d053c97fc190677b4a77be7dbe730973e984f8bdb28ee4a8ab23e4c43c554f40500d1a435c3
data/.rubocop_todo.yml CHANGED
@@ -14,7 +14,7 @@ Metrics/ClassLength:
14
14
  # Offense count: 2
15
15
  # Configuration parameters: CountComments.
16
16
  Metrics/MethodLength:
17
- Max: 20
17
+ Max: 25
18
18
 
19
19
  # Offense count: 1
20
20
  Style/ClassVars:
@@ -80,6 +80,7 @@ module Fog
80
80
  value.address
81
81
  when OvirtSDK4::Cpu
82
82
  opts[:cores] = value.topology.nil? ? nil : value.topology.cores
83
+ opts[:sockets] = value.topology.nil? ? nil : value.topology.sockets
83
84
  when OvirtSDK4::Display
84
85
  subject = value.certificate.subject if value.certificate
85
86
  {
@@ -26,12 +26,14 @@ module Fog
26
26
  model :affinity_group
27
27
  collection :affinity_groups
28
28
 
29
+ DISK_SIZE_TO_GB = 1024 * 1024 * 1024
30
+
29
31
  class ExceptionWrapper
30
32
  def initialize(client)
31
33
  @client = client
32
34
  end
33
35
 
34
- # rubocop:disable Style/MethodMissing
36
+ # rubocop:disable Style/MethodMissingSuper, Style/MissingRespondToMissing
35
37
  def method_missing(symbol, *args)
36
38
  if block_given?
37
39
  @client.__send__(symbol, *args) do |*block_args|
@@ -47,7 +49,7 @@ module Fog
47
49
  def respond_to?(symbol, include_all = false)
48
50
  @client.respond_to?(symbol, include_all)
49
51
  end
50
- # rubocop:enable Style/MethodMissing
52
+ # rubocop:enable Style/MethodMissingSuper, Style/MissingRespondToMissing
51
53
  end
52
54
 
53
55
  require "fog/ovirt/compute/v3"
@@ -65,7 +67,7 @@ module Fog
65
67
  # rubocop:enable Style/ConditionalAssignment
66
68
  end
67
69
 
68
- # rubocop:disable Style/MethodMissing
70
+ # rubocop:disable Style/MethodMissingSuper, Style/MissingRespondToMissing
69
71
  def method_missing(symbol, *args)
70
72
  @client.__send__(symbol, *args)
71
73
  end
@@ -73,7 +75,7 @@ module Fog
73
75
  def respond_to?(symbol, include_all = false)
74
76
  @client.respond_to?(symbol, include_all)
75
77
  end
76
- # rubocop:enable Style/MethodMissing
78
+ # rubocop:enable Style/MethodMissingSuper, Style/MissingRespondToMissing
77
79
 
78
80
  class Mock
79
81
  def initialize(options = {})
@@ -86,7 +88,7 @@ module Fog
86
88
  end
87
89
  end
88
90
 
89
- # rubocop:disable Style/MethodMissing
91
+ # rubocop:disable Style/MethodMissingSuper, Style/MissingRespondToMissing
90
92
  def method_missing(symbol, *args)
91
93
  @client.__send__(symbol, *args)
92
94
  end
@@ -94,7 +96,7 @@ module Fog
94
96
  def respond_to?(symbol, include_all = false)
95
97
  @client.respond_to?(symbol, include_all)
96
98
  end
97
- # rubocop:enable Style/MethodMissing
99
+ # rubocop:enable Style/MethodMissingSuper, Style/MissingRespondToMissing
98
100
  end
99
101
 
100
102
  class Real
@@ -108,7 +110,7 @@ module Fog
108
110
  end
109
111
  end
110
112
 
111
- # rubocop:disable Style/MethodMissing
113
+ # rubocop:disable Style/MethodMissingSuper, Style/MissingRespondToMissing
112
114
  def method_missing(symbol, *args)
113
115
  @client.send(symbol, *args)
114
116
  end
@@ -116,7 +118,7 @@ module Fog
116
118
  def respond_to?(symbol, include_all = false)
117
119
  @client.respond_to?(symbol, include_all)
118
120
  end
119
- # rubocop:enable Style/MethodMissing
121
+ # rubocop:enable Style/MethodMissingSuper, Style/MissingRespondToMissing
120
122
  end
121
123
  end
122
124
  end
@@ -19,6 +19,7 @@ module Fog
19
19
  attribute :ip
20
20
  attribute :status
21
21
  attribute :cores, :aliases => "cpus"
22
+ attribute :sockets
22
23
  attribute :memory
23
24
  attribute :host
24
25
  attribute :cluster
@@ -3,7 +3,6 @@ module Fog
3
3
  class Ovirt
4
4
  class Volume < Fog::Model
5
5
  attr_accessor :raw
6
- DISK_SIZE_TO_GB = 1_073_741_824
7
6
  identity :id
8
7
 
9
8
  attribute :storage_domain
@@ -20,11 +19,11 @@ module Fog
20
19
  attribute :wipe_after_delete
21
20
 
22
21
  def size_gb
23
- attributes[:size_gb] ||= attributes[:size].to_i / DISK_SIZE_TO_GB if attributes[:size]
22
+ attributes[:size_gb] ||= attributes[:size].to_i / Fog::Compute::Ovirt::DISK_SIZE_TO_GB if attributes[:size]
24
23
  end
25
24
 
26
25
  def size_gb=(size)
27
- attributes[:size] = size.to_i * DISK_SIZE_TO_GB if size
26
+ attributes[:size] = size.to_i * Fog::Compute::Ovirt::DISK_SIZE_TO_GB if size
28
27
  end
29
28
 
30
29
  def to_s
@@ -17,7 +17,7 @@ module Fog
17
17
 
18
18
  profile = profiles.detect { |x| x.name == network.name }
19
19
 
20
- profile ||= profiles.sort_by(&:name).first
20
+ profile ||= profiles.min_by(&:name)
21
21
 
22
22
  options.delete(:network)
23
23
  options[:vnic_profile] = { :id => profile.id }
@@ -3,8 +3,6 @@ module Fog
3
3
  class Ovirt
4
4
  class V4
5
5
  class Real
6
- DISK_SIZE_TO_GB = 1024 * 1024 * 1024
7
-
8
6
  def add_volume(id, options = {})
9
7
  raise ArgumentError, "instance id is a required parameter" unless id
10
8
 
@@ -21,11 +19,11 @@ module Fog
21
19
  search = options[:search] || format("datacenter=%<datacenter>s", :datacenter => datacenter)
22
20
  options[:bootable] ||= "true"
23
21
  options[:interface] ||= OvirtSDK4::DiskInterface::VIRTIO
24
- options[:provisioned_size] = options[:size_gb].to_i * DISK_SIZE_TO_GB if options[:size_gb]
22
+ options[:provisioned_size] = options[:size_gb].to_i * Fog::Compute::Ovirt::DISK_SIZE_TO_GB if options[:size_gb]
25
23
 
26
24
  options[:storage_domain_id] = options[:storage_domain] || storagedomains(:role => "data", :search => search).first.id
27
25
  # If no size is given, default to a volume size of 8GB
28
- options[:provisioned_size] ||= 8 * DISK_SIZE_TO_GB
26
+ options[:provisioned_size] ||= 8 * Fog::Compute::Ovirt::DISK_SIZE_TO_GB
29
27
  options[:type] ||= OvirtSDK4::DiskType::DATA
30
28
  options[:format] ||= OvirtSDK4::DiskFormat::COW
31
29
  options[:sparse] = true unless options[:sparse].present?
@@ -24,7 +24,7 @@ module Fog
24
24
  end
25
25
  # rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
26
26
 
27
- # rubocop:disable Metrics/AbcSize
27
+ # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
28
28
  def create_vm(attrs)
29
29
  attrs = attrs.dup
30
30
  attrs[:cluster_name] ||= datacenter.clusters.first.name unless attrs[:cluster]
@@ -40,19 +40,21 @@ module Fog
40
40
 
41
41
  attrs[:comment] ||= ""
42
42
  attrs[:quota] = attrs[:quota].present? ? client.system_service.data_centers_service.data_center_service(datacenter).quotas_service.quota_service(attrs[:quota]).get : nil
43
-
44
- if attrs[:cores].present?
45
- cpu_topology = OvirtSDK4::CpuTopology.new(:cores => attrs[:cores], :sockets => "1")
43
+ if attrs[:cores].present? || attrs[:sockets].present?
44
+ cpu_topology = OvirtSDK4::CpuTopology.new(:cores => attrs.fetch(:cores, "1"), :sockets => attrs.fetch(:sockets, "1"))
46
45
  attrs[:cpu] = OvirtSDK4::Cpu.new(:topology => cpu_topology)
47
46
  end
48
47
 
48
+ if attrs[:memory].to_i < Fog::Compute::Ovirt::DISK_SIZE_TO_GB
49
+ attrs[:memory_policy] = OvirtSDK4::MemoryPolicy.new(:guaranteed => attrs[:memory])
50
+ end
51
+
49
52
  # TODO: handle cloning from template
50
53
  process_vm_opts(attrs)
51
-
52
54
  new_vm = OvirtSDK4::Vm.new(attrs)
53
55
  vms_service.add(new_vm)
54
56
  end
55
- # rubocop:enable Metrics/AbcSize
57
+ # rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
56
58
  end
57
59
 
58
60
  class Mock
@@ -1,5 +1,5 @@
1
1
  module Fog
2
2
  module Ovirt
3
- VERSION = "1.0.3".freeze
3
+ VERSION = "1.0.4".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fog-ovirt
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ori Rabin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-11 00:00:00.000000000 Z
11
+ date: 2018-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fog-core