vmpooler 0.3.0 → 0.4.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: 1c5027bff497e89d89d0b5048276af03587e9b27
4
- data.tar.gz: 04991d0e5cb9b1f1d46374a4f64a2d1bf4c77204
3
+ metadata.gz: 70b24a35b7082f6c1230b2153836109c2c27179a
4
+ data.tar.gz: 5b96e190335f98a0ca345875d0125d3394d929b3
5
5
  SHA512:
6
- metadata.gz: 1a85e290445f2a14dadb0341799fd8e23780faad45805a75dfb4617f1befdaa8c38e3f336c5e7f144b28b9b5525e66ccf886fa3d82c0fed28d964c768bbc3b16
7
- data.tar.gz: 18c7ba2eaf3fe4528d8aeb9df7af463518284e48eb3656e591b233453b74696ec18bb47dee8aa8e780b49a3d2365ee7387ac0533f4a56acb3cce0f205a4b69b9
6
+ metadata.gz: c1ea025eb7111e2c8531edbd4195510adc596bed536277a401d89a7fe8260149502803ffc1543d4df53debcbe58d1b702ec828967aba3633e497707df677c55e
7
+ data.tar.gz: 51e71c11aba30a7f16616f4e1eea3657e1f65ba35531de070593105ad2cb1d10e720b49bb042b72dce6b42d89be5714db9dec20fea989f81607d4f8c00f74b55
@@ -40,8 +40,8 @@ module Vmpooler
40
40
  template_backends = [template]
41
41
  aliases = Vmpooler::API.settings.config[:alias]
42
42
  if aliases
43
- template_backends << aliases[template] if aliases[template]
44
-
43
+ template_backends = template_backends + aliases[template] if aliases[template].is_a?(Array)
44
+ template_backends << aliases[template] if aliases[template].is_a?(String)
45
45
  pool_index = pool_index(pools)
46
46
  weighted_pools = {}
47
47
  template_backends.each do |t|
@@ -61,7 +61,9 @@ module Vmpooler
61
61
  template_backends.delete(selection)
62
62
  template_backends.unshift(selection)
63
63
  else
64
- template_backends = template_backends.sample(template_backends.count)
64
+ first = template_backends.sample
65
+ template_backends.delete(first)
66
+ template_backends.unshift(first)
65
67
  end
66
68
  end
67
69
 
@@ -1,3 +1,3 @@
1
1
  module Vmpooler
2
- VERSION = '0.3.0'.freeze
2
+ VERSION = '0.4.0'.freeze
3
3
  end
data/lib/vmpooler.rb CHANGED
@@ -47,21 +47,21 @@ module Vmpooler
47
47
  end
48
48
 
49
49
  # Set some configuration defaults
50
- parsed_config[:config]['task_limit'] = ENV['TASK_LIMIT'] || parsed_config[:config]['task_limit'] || 10
51
- parsed_config[:config]['migration_limit'] = ENV['MIGRATION_LIMIT'] if ENV['MIGRATION_LIMIT']
52
- parsed_config[:config]['vm_checktime'] = ENV['VM_CHECKTIME'] || parsed_config[:config]['vm_checktime'] || 1
53
- parsed_config[:config]['vm_lifetime'] = ENV['VM_LIFETIME'] || parsed_config[:config]['vm_lifetime'] || 24
54
- parsed_config[:config]['prefix'] = ENV['VM_PREFIX'] || parsed_config[:config]['prefix'] || ''
50
+ parsed_config[:config]['task_limit'] = string_to_int(ENV['TASK_LIMIT']) || parsed_config[:config]['task_limit'] || 10
51
+ parsed_config[:config]['migration_limit'] = string_to_int(ENV['MIGRATION_LIMIT']) if ENV['MIGRATION_LIMIT']
52
+ parsed_config[:config]['vm_checktime'] = string_to_int(ENV['VM_CHECKTIME']) || parsed_config[:config]['vm_checktime'] || 1
53
+ parsed_config[:config]['vm_lifetime'] = string_to_int(ENV['VM_LIFETIME']) || parsed_config[:config]['vm_lifetime'] || 24
54
+ parsed_config[:config]['prefix'] = ENV['PREFIX'] || parsed_config[:config]['prefix'] || ''
55
55
 
56
56
  parsed_config[:config]['logfile'] = ENV['LOGFILE'] if ENV['LOGFILE']
57
57
 
58
58
  parsed_config[:config]['site_name'] = ENV['SITE_NAME'] if ENV['SITE_NAME']
59
- parsed_config[:config]['domain'] = ENV['DOMAIN_NAME'] if ENV['DOMAIN_NAME']
59
+ parsed_config[:config]['domain'] = ENV['DOMAIN'] if ENV['DOMAIN']
60
60
  parsed_config[:config]['clone_target'] = ENV['CLONE_TARGET'] if ENV['CLONE_TARGET']
61
- parsed_config[:config]['timeout'] = ENV['TIMEOUT'] if ENV['TIMEOUT']
62
- parsed_config[:config]['vm_lifetime_auth'] = ENV['VM_LIFETIME_AUTH'] if ENV['VM_LIFETIME_AUTH']
63
- parsed_config[:config]['max_tries'] = ENV['MAX_TRIES'] if ENV['MAX_TRIES']
64
- parsed_config[:config]['retry_factor'] = ENV['RETRY_FACTOR'] if ENV['RETRY_FACTOR']
61
+ parsed_config[:config]['timeout'] = string_to_int(ENV['TIMEOUT']) if ENV['TIMEOUT']
62
+ parsed_config[:config]['vm_lifetime_auth'] = string_to_int(ENV['VM_LIFETIME_AUTH']) if ENV['VM_LIFETIME_AUTH']
63
+ parsed_config[:config]['max_tries'] = string_to_int(ENV['MAX_TRIES']) if ENV['MAX_TRIES']
64
+ parsed_config[:config]['retry_factor'] = string_to_int(ENV['RETRY_FACTOR']) if ENV['RETRY_FACTOR']
65
65
  parsed_config[:config]['create_folders'] = ENV['CREATE_FOLDERS'] if ENV['CREATE_FOLDERS']
66
66
  parsed_config[:config]['create_template_delta_disks'] = ENV['CREATE_TEMPLATE_DELTA_DISKS'] if ENV['CREATE_TEMPLATE_DELTA_DISKS']
67
67
  parsed_config[:config]['experimental_features'] = ENV['EXPERIMENTAL_FEATURES'] if ENV['EXPERIMENTAL_FEATURES']
@@ -70,26 +70,26 @@ module Vmpooler
70
70
 
71
71
  parsed_config[:redis] = parsed_config[:redis] || {}
72
72
  parsed_config[:redis]['server'] = ENV['REDIS_SERVER'] || parsed_config[:redis]['server'] || 'localhost'
73
- parsed_config[:redis]['port'] = ENV['REDIS_PORT'] if ENV['REDIS_PORT']
73
+ parsed_config[:redis]['port'] = string_to_int(ENV['REDIS_PORT']) if ENV['REDIS_PORT']
74
74
  parsed_config[:redis]['password'] = ENV['REDIS_PASSWORD'] if ENV['REDIS_PASSWORD']
75
- parsed_config[:redis]['data_ttl'] = ENV['REDIS_DATA_TTL'] || parsed_config[:redis]['data_ttl'] || 168
75
+ parsed_config[:redis]['data_ttl'] = string_to_int(ENV['REDIS_DATA_TTL']) || parsed_config[:redis]['data_ttl'] || 168
76
76
 
77
77
  parsed_config[:statsd] = parsed_config[:statsd] || {} if ENV['STATSD_SERVER']
78
78
  parsed_config[:statsd]['server'] = ENV['STATSD_SERVER'] if ENV['STATSD_SERVER']
79
79
  parsed_config[:statsd]['prefix'] = ENV['STATSD_PREFIX'] if ENV['STATSD_PREFIX']
80
- parsed_config[:statsd]['port'] = ENV['STATSD_PORT'] if ENV['STATSD_PORT']
80
+ parsed_config[:statsd]['port'] = string_to_int(ENV['STATSD_PORT']) if ENV['STATSD_PORT']
81
81
 
82
82
  parsed_config[:graphite] = parsed_config[:graphite] || {} if ENV['GRAPHITE_SERVER']
83
83
  parsed_config[:graphite]['server'] = ENV['GRAPHITE_SERVER'] if ENV['GRAPHITE_SERVER']
84
84
  parsed_config[:graphite]['prefix'] = ENV['GRAPHITE_PREFIX'] if ENV['GRAPHITE_PREFIX']
85
- parsed_config[:graphite]['port'] = ENV['GRAPHITE_PORT'] if ENV['GRAPHITE_PORT']
85
+ parsed_config[:graphite]['port'] = string_to_int(ENV['GRAPHITE_PORT']) if ENV['GRAPHITE_PORT']
86
86
 
87
87
  parsed_config[:auth] = parsed_config[:auth] || {} if ENV['AUTH_PROVIDER']
88
88
  if parsed_config.has_key? :auth
89
89
  parsed_config[:auth]['provider'] = ENV['AUTH_PROVIDER'] if ENV['AUTH_PROVIDER']
90
90
  parsed_config[:auth][:ldap] = parsed_config[:auth][:ldap] || {} if parsed_config[:auth]['provider'] == 'ldap'
91
91
  parsed_config[:auth][:ldap]['host'] = ENV['LDAP_HOST'] if ENV['LDAP_HOST']
92
- parsed_config[:auth][:ldap]['port'] = ENV['LDAP_PORT'] if ENV['LDAP_PORT']
92
+ parsed_config[:auth][:ldap]['port'] = string_to_int(ENV['LDAP_PORT']) if ENV['LDAP_PORT']
93
93
  parsed_config[:auth][:ldap]['base'] = ENV['LDAP_BASE'] if ENV['LDAP_BASE']
94
94
  parsed_config[:auth][:ldap]['user_object'] = ENV['LDAP_USER_OBJECT'] if ENV['LDAP_USER_OBJECT']
95
95
  end
@@ -108,10 +108,11 @@ module Vmpooler
108
108
  parsed_config[:pool_names] << pool['name']
109
109
  if pool['alias']
110
110
  if pool['alias'].is_a?(Array)
111
- pool['alias'].each do |a|
111
+ pool['alias'].each do |pool_alias|
112
112
  parsed_config[:alias] ||= {}
113
- parsed_config[:alias][a] = pool['name']
114
- parsed_config[:pool_names] << a
113
+ parsed_config[:alias][pool_alias] = [pool['name']] unless parsed_config[:alias].key? pool_alias
114
+ parsed_config[:alias][pool_alias] << pool['name'] unless parsed_config[:alias][pool_alias].include? pool['name']
115
+ parsed_config[:pool_names] << pool_alias
115
116
  end
116
117
  elsif pool['alias'].is_a?(String)
117
118
  parsed_config[:alias][pool['alias']] = pool['name']
@@ -175,4 +176,11 @@ module Vmpooler
175
176
  end
176
177
  pools_hash
177
178
  end
179
+
180
+ def self.string_to_int(s)
181
+ # Returns a integer if input is a string
182
+ return if s.nil?
183
+ return unless s =~ /\d/
184
+ return Integer(s)
185
+ end
178
186
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vmpooler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-20 00:00:00.000000000 Z
11
+ date: 2019-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pickup