fog-ovirt 1.0.3 → 1.0.4

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: 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