opennebula-cli 7.2.0 → 7.2.1

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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/bin/onevm +1 -1
  3. data/lib/command_parser.rb +134 -125
  4. data/lib/load_opennebula_paths.rb +5 -0
  5. data/lib/ods_helper.rb +541 -0
  6. data/lib/one_helper/oneacct_helper.rb +116 -108
  7. data/lib/one_helper/onedatastore_helper.rb +86 -79
  8. data/lib/one_helper/onemarket_helper.rb +58 -57
  9. data/lib/one_helper/onequota_helper.rb +239 -189
  10. data/lib/one_helper/onesecgroup_helper.rb +86 -84
  11. data/lib/one_helper/onetemplate_helper.rb +63 -63
  12. data/lib/one_helper/onevdc_helper.rb +44 -44
  13. data/lib/one_helper/onevm_helper.rb +5 -7
  14. data/lib/one_helper/onevmgroup_helper.rb +64 -62
  15. data/lib/one_helper/onevntemplate_helper.rb +42 -39
  16. data/lib/one_helper/onevrouter_helper.rb +85 -86
  17. data/lib/one_helper/onezone_helper.rb +97 -100
  18. data/lib/one_helper.rb +88 -69
  19. data/share/schemas/xsd/acct.xsd +3 -104
  20. data/share/schemas/xsd/cluster.xsd +4 -21
  21. data/share/schemas/xsd/datastore.xsd +4 -29
  22. data/share/schemas/xsd/document.xsd +3 -25
  23. data/share/schemas/xsd/group.xsd +2 -14
  24. data/share/schemas/xsd/group_pool.xsd +2 -14
  25. data/share/schemas/xsd/hook.xsd +2 -0
  26. data/share/schemas/xsd/host.xsd +5 -7
  27. data/share/schemas/xsd/image.xsd +2 -25
  28. data/share/schemas/xsd/marketplace.xsd +3 -22
  29. data/share/schemas/xsd/marketplaceapp.xsd +3 -25
  30. data/share/schemas/xsd/opennebula_configuration.xsd +1 -0
  31. data/share/schemas/xsd/requirements.xsd +3 -21
  32. data/share/schemas/xsd/security_group.xsd +6 -43
  33. data/share/schemas/xsd/shared.xsd +3 -3
  34. data/share/schemas/xsd/vdc.xsd +2 -7
  35. data/share/schemas/xsd/vm_group.xsd +3 -25
  36. data/share/schemas/xsd/vm_pool.xsd +2 -0
  37. data/share/schemas/xsd/vmtemplate.xsd +3 -25
  38. data/share/schemas/xsd/vnet.xsd +9 -67
  39. data/share/schemas/xsd/vnet_pool.xsd +8 -57
  40. data/share/schemas/xsd/vntemplate.xsd +3 -25
  41. data/share/schemas/xsd/vrouter.xsd +4 -32
  42. metadata +6 -4
@@ -17,34 +17,35 @@
17
17
  require 'cli_helper'
18
18
  require 'opennebula/system'
19
19
 
20
+ # Helper class for Quota commands
20
21
  class OneQuotaHelper
21
22
 
22
- LIMIT_DEFAULT = "-1"
23
- LIMIT_UNLIMITED = "-2"
23
+ LIMIT_DEFAULT = '-1'
24
+ LIMIT_UNLIMITED = '-2'
24
25
  DEFAULT_VM_QUOTA = {
25
- "VMS" => LIMIT_DEFAULT,
26
- "VMS_USED" => "0",
27
- "CPU" => LIMIT_DEFAULT,
28
- "CPU_USED" => "0",
29
- "PCI_DEV" => LIMIT_DEFAULT,
30
- "PCI_DEV_USED" => "0",
31
- "PCI_NIC" => LIMIT_DEFAULT,
32
- "PCI_NIC_USED" => "0",
33
- "MEMORY" => LIMIT_DEFAULT,
34
- "MEMORY_USED" => "0",
35
- "RUNNING_VMS" => LIMIT_DEFAULT,
36
- "RUNNING_VMS_USED" => "0",
37
- "RUNNING_CPU" => LIMIT_DEFAULT,
38
- "RUNNING_CPU_USED" => "0",
39
- "RUNNING_MEMORY" => LIMIT_DEFAULT,
40
- "RUNNING_MEMORY_USED" => "0",
41
- "RUNNING_PCI_DEV" => LIMIT_DEFAULT,
42
- "RUNNING_PCI_DEV_USED" => "0",
43
- "RUNNING_PCI_NIC" => LIMIT_DEFAULT,
44
- "RUNNING_PCI_NIC_USED" => "0",
45
- "SYSTEM_DISK_SIZE" => LIMIT_DEFAULT,
46
- "SYSTEM_DISK_SIZE_USED" => "0"
47
- }
26
+ 'VMS' => LIMIT_DEFAULT,
27
+ 'VMS_USED' => '0',
28
+ 'CPU' => LIMIT_DEFAULT,
29
+ 'CPU_USED' => '0',
30
+ 'PCI_DEV' => LIMIT_DEFAULT,
31
+ 'PCI_DEV_USED' => '0',
32
+ 'PCI_NIC' => LIMIT_DEFAULT,
33
+ 'PCI_NIC_USED' => '0',
34
+ 'MEMORY' => LIMIT_DEFAULT,
35
+ 'MEMORY_USED' => '0',
36
+ 'RUNNING_VMS' => LIMIT_DEFAULT,
37
+ 'RUNNING_VMS_USED' => '0',
38
+ 'RUNNING_CPU' => LIMIT_DEFAULT,
39
+ 'RUNNING_CPU_USED' => '0',
40
+ 'RUNNING_MEMORY' => LIMIT_DEFAULT,
41
+ 'RUNNING_MEMORY_USED' => '0',
42
+ 'RUNNING_PCI_DEV' => LIMIT_DEFAULT,
43
+ 'RUNNING_PCI_DEV_USED' => '0',
44
+ 'RUNNING_PCI_NIC' => LIMIT_DEFAULT,
45
+ 'RUNNING_PCI_NIC_USED' => '0',
46
+ 'SYSTEM_DISK_SIZE' => LIMIT_DEFAULT,
47
+ 'SYSTEM_DISK_SIZE_USED' => '0'
48
+ }
48
49
 
49
50
  EDITOR_PATH='/usr/bin/vi'
50
51
 
@@ -114,8 +115,8 @@ class OneQuotaHelper
114
115
  # used
115
116
  # @param [True|False] is_default To change the help text
116
117
  # @return [String] contents of the new quotas
117
- def self.set_quota(resource, path, is_default=false)
118
- str = ""
118
+ def self.set_quota(resource, path, is_default = false)
119
+ str = ''
119
120
 
120
121
  if path.nil?
121
122
  require 'tempfile'
@@ -125,25 +126,25 @@ class OneQuotaHelper
125
126
 
126
127
  tmp << HELP_QUOTA
127
128
 
128
- if (is_default)
129
+ if is_default
129
130
  tmp << HELP_DEFAULT_QUOTA_FOOTER
130
131
  else
131
132
  tmp << HELP_QUOTA_FOOTER
132
133
  end
133
134
 
134
- tmp << resource.template_like_str("DATASTORE_QUOTA") << "\n"
135
- tmp << resource.template_like_str("VM_QUOTA") << "\n"
136
- tmp << resource.template_like_str("NETWORK_QUOTA") << "\n"
137
- tmp << resource.template_like_str("IMAGE_QUOTA") << "\n"
135
+ tmp << resource.template_like_str('DATASTORE_QUOTA') << "\n"
136
+ tmp << resource.template_like_str('VM_QUOTA') << "\n"
137
+ tmp << resource.template_like_str('NETWORK_QUOTA') << "\n"
138
+ tmp << resource.template_like_str('IMAGE_QUOTA') << "\n"
138
139
 
139
140
  tmp.close
140
141
 
141
- editor_path = ENV["EDITOR"] ? ENV["EDITOR"] : EDITOR_PATH
142
+ editor_path = ENV['EDITOR'] ? ENV['EDITOR'] : EDITOR_PATH
142
143
  system("#{editor_path} #{path}")
143
144
 
144
- unless $?.exitstatus == 0
145
- puts "Editor not defined"
146
- exit -1
145
+ unless $CHILD_STATUS.exitstatus == 0
146
+ puts 'Editor not defined'
147
+ exit(-1)
147
148
  end
148
149
 
149
150
  str = File.read(path)
@@ -162,7 +163,7 @@ class OneQuotaHelper
162
163
  # used
163
164
  # @return [String] contents of the new quotas
164
165
  def self.get_batch_quota(path)
165
- str = ""
166
+ str = ''
166
167
 
167
168
  if path.nil?
168
169
  require 'tempfile'
@@ -174,12 +175,12 @@ class OneQuotaHelper
174
175
 
175
176
  tmp.close
176
177
 
177
- editor_path = ENV["EDITOR"] ? ENV["EDITOR"] : EDITOR_PATH
178
+ editor_path = ENV['EDITOR'] ? ENV['EDITOR'] : EDITOR_PATH
178
179
  system("#{editor_path} #{path}")
179
180
 
180
- unless $?.exitstatus == 0
181
- puts "Editor not defined"
182
- exit -1
181
+ unless $CHILD_STATUS.exitstatus == 0
182
+ puts 'Editor not defined'
183
+ exit(-1)
183
184
  end
184
185
 
185
186
  str = File.read(path)
@@ -210,12 +211,12 @@ class OneQuotaHelper
210
211
  # reading them in order and replacing the quotas with each new
211
212
  # appearance
212
213
 
213
- tmp_str = ""
214
+ tmp_str = ''
214
215
 
215
- tmp_str << resource.template_like_str("DATASTORE_QUOTA") << "\n"
216
- tmp_str << resource.template_like_str("VM_QUOTA") << "\n"
217
- tmp_str << resource.template_like_str("NETWORK_QUOTA") << "\n"
218
- tmp_str << resource.template_like_str("IMAGE_QUOTA") << "\n"
216
+ tmp_str << resource.template_like_str('DATASTORE_QUOTA') << "\n"
217
+ tmp_str << resource.template_like_str('VM_QUOTA') << "\n"
218
+ tmp_str << resource.template_like_str('NETWORK_QUOTA') << "\n"
219
+ tmp_str << resource.template_like_str('IMAGE_QUOTA') << "\n"
219
220
 
220
221
  tmp_str << str
221
222
 
@@ -228,11 +229,11 @@ class OneQuotaHelper
228
229
  # @param resource_id [Integer] user/group ID
229
230
  #
230
231
  def format_quota(qh, default_quotas, resource_id)
231
- str_h1="%-80s"
232
+ str_h1='%-80s'
232
233
 
233
234
  puts
234
235
 
235
- CLIHelper.print_header(str_h1 % "VMS USAGE & QUOTAS",false)
236
+ CLIHelper.print_header(str_h1 % 'VMS USAGE & QUOTAS', false)
236
237
 
237
238
  puts
238
239
 
@@ -240,7 +241,7 @@ class OneQuotaHelper
240
241
 
241
242
  vm_quotas = [qh['VM_QUOTA']['VM']].flatten
242
243
 
243
- generic_quotas = get_generic_quotas
244
+ generic_q = generic_quotas
244
245
 
245
246
  # This initializes the VM quotas for users/groups that don't have any
246
247
  # resource usage yet. It not applied to oneadmin
@@ -248,142 +249,156 @@ class OneQuotaHelper
248
249
  limit = LIMIT_DEFAULT
249
250
 
250
251
  vm_quotas = [{
251
- "VMS" => limit,
252
- "VMS_USED" => "0",
253
- "CPU" => limit,
254
- "CPU_USED" => "0",
255
- "MEMORY" => limit,
256
- "MEMORY_USED" => "0",
257
- "PCI_DEV" => limit,
258
- "PCI_DEV_USED" => "0",
259
- "PCI_NIC" => limit,
260
- "PCI_NIC_USED" => "0",
261
- "RUNNING_VMS" => limit,
262
- "RUNNING_VMS_USED" => "0",
263
- "RUNNING_CPU" => limit,
264
- "RUNNING_CPU_USED" => "0",
265
- "RUNNING_MEMORY" => limit,
266
- "RUNNING_MEMORY_USED" => "0",
267
- "RUNNING_PCI_DEV" => limit,
268
- "RUNNING_PCI_DEV_USED" => "0",
269
- "RUNNING_PCI_NIC" => limit,
270
- "RUNNING_PCI_NIC_USED" => "0",
271
- "SYSTEM_DISK_SIZE" => limit,
272
- "SYSTEM_DISK_SIZE_USED" => "0"
252
+ 'VMS' => limit,
253
+ 'VMS_USED' => '0',
254
+ 'CPU' => limit,
255
+ 'CPU_USED' => '0',
256
+ 'MEMORY' => limit,
257
+ 'MEMORY_USED' => '0',
258
+ 'PCI_DEV' => limit,
259
+ 'PCI_DEV_USED' => '0',
260
+ 'PCI_NIC' => limit,
261
+ 'PCI_NIC_USED' => '0',
262
+ 'RUNNING_VMS' => limit,
263
+ 'RUNNING_VMS_USED' => '0',
264
+ 'RUNNING_CPU' => limit,
265
+ 'RUNNING_CPU_USED' => '0',
266
+ 'RUNNING_MEMORY' => limit,
267
+ 'RUNNING_MEMORY_USED' => '0',
268
+ 'RUNNING_PCI_DEV' => limit,
269
+ 'RUNNING_PCI_DEV_USED' => '0',
270
+ 'RUNNING_PCI_NIC' => limit,
271
+ 'RUNNING_PCI_NIC_USED' => '0',
272
+ 'SYSTEM_DISK_SIZE' => limit,
273
+ 'SYSTEM_DISK_SIZE_USED' => '0'
273
274
  }]
274
275
 
275
- generic_quotas.each do |q|
276
+ generic_q.each do |q|
276
277
  vm_quotas[0][q] = limit
277
- vm_quotas[0]["#{q}_USED"] = "0"
278
+ vm_quotas[0]["#{q}_USED"] = '0'
278
279
  vm_quotas[0]["RUNNING_#{q}"] = limit
279
- vm_quotas[0]["RUNNING_#{q}_USED"] = "0"
280
+ vm_quotas[0]["RUNNING_#{q}_USED"] = '0'
280
281
  end
281
282
  end
282
283
 
283
284
  if !vm_quotas[0].nil?
284
285
  CLIHelper::ShowTable.new(nil, self) do
285
- column :"CLUSTERS", "", :right, :size=>8 do |d|
286
+ column :CLUSTERS, '', :right, :size=>8 do |d|
286
287
  if !d.nil?
287
288
  d['CLUSTER_IDS']
288
289
  end
289
290
  end
290
291
 
291
- column :"VMS", "", :right, :size=>9 do |d|
292
+ column :VMS, '', :right, :size=>9 do |d|
292
293
  if !d.nil?
293
294
  elem = 'VMS'
294
295
  limit = d[elem]
295
296
  limit = helper.get_default_limit(
296
- limit, "VM_QUOTA/VM/#{elem}")
297
+ limit, "VM_QUOTA/VM/#{elem}"
298
+ )
297
299
 
298
300
  if limit == LIMIT_UNLIMITED
299
- "%3d / -" % [d["VMS_USED"]]
301
+ format('%<used>3d / -', :used => d['VMS_USED'])
300
302
  else
301
- "%3d / %3d" % [d["VMS_USED"], limit]
303
+ format('%<used>3d / %<limit>3d',
304
+ :used => d['VMS_USED'], :limit => limit)
302
305
  end
303
306
  end
304
307
  end
305
308
 
306
- column :"MEMORY", "", :right, :size=>15 do |d|
309
+ column :MEMORY, '', :right, :size=>15 do |d|
307
310
  if !d.nil?
308
311
  elem = 'MEMORY'
309
312
  limit = d[elem]
310
313
  limit = helper.get_default_limit(
311
- limit, "VM_QUOTA/VM/#{elem}")
314
+ limit, "VM_QUOTA/VM/#{elem}"
315
+ )
312
316
 
313
317
  if limit == LIMIT_UNLIMITED
314
- "%6s / -" % [
315
- OpenNebulaHelper.unit_to_str(d["MEMORY_USED"].to_i,{},"M")
316
- ]
318
+ format('%<used>6s / -',
319
+ :used => OpenNebulaHelper.unit_to_str(d['MEMORY_USED'].to_i, {},
320
+ 'M'))
317
321
  else
318
- "%6s / %6s" % [
319
- OpenNebulaHelper.unit_to_str(d["MEMORY_USED"].to_i,{},"M"),
320
- OpenNebulaHelper.unit_to_str(limit.to_i,{},"M")
321
- ]
322
+ format('%<used>6s / %<limit>6s',
323
+ :used => OpenNebulaHelper.unit_to_str(d['MEMORY_USED'].to_i, {},
324
+ 'M'),
325
+ :limit => OpenNebulaHelper.unit_to_str(limit.to_i, {}, 'M'))
322
326
  end
323
327
  end
324
328
  end
325
329
 
326
- column :"CPU", "", :right, :size=>15 do |d|
330
+ column :CPU, '', :right, :size=>15 do |d|
327
331
  if !d.nil?
328
332
  elem = 'CPU'
329
333
  limit = d[elem]
330
334
  limit = helper.get_default_limit(
331
- limit, "VM_QUOTA/VM/#{elem}")
335
+ limit, "VM_QUOTA/VM/#{elem}"
336
+ )
332
337
 
333
338
  if limit == LIMIT_UNLIMITED
334
- "%6.1f / -" % [d["CPU_USED"]]
339
+ format('%<used>6.1f / -', :used => d['CPU_USED'])
335
340
  else
336
- "%6.1f / %6.2f" % [d["CPU_USED"], limit]
341
+ format('%<used>6.1f / %<limit>6.2f',
342
+ :used => d['CPU_USED'], :limit => limit)
337
343
  end
338
344
  end
339
345
  end
340
346
 
341
- column :"PCI DEV", "", :right, :size=>9 do |d|
347
+ column :"PCI DEV", '', :right, :size=>9 do |d|
342
348
  if !d.nil?
343
349
  elem = 'PCI_DEV'
344
350
  limit = d[elem]
345
351
  limit = helper.get_default_limit(
346
- limit, "VM_QUOTA/VM/#{elem}")
352
+ limit, "VM_QUOTA/VM/#{elem}"
353
+ )
347
354
 
348
355
  if limit == LIMIT_UNLIMITED
349
- "%3d / -" % [d["PCI_DEV_USED"]]
356
+ format('%<used>3d / -', :used => d['PCI_DEV_USED'])
350
357
  else
351
- "%3d / %3d" % [d["PCI_DEV_USED"], limit]
358
+ format('%<used>3d / %<limit>3d',
359
+ :used => d['PCI_DEV_USED'], :limit => limit)
352
360
  end
353
361
  end
354
362
  end
355
363
 
356
- column :"PCI NIC", "", :right, :size=>9 do |d|
364
+ column :"PCI NIC", '', :right, :size=>9 do |d|
357
365
  if !d.nil?
358
366
  elem = 'PCI_NIC'
359
367
  limit = d[elem]
360
368
  limit = helper.get_default_limit(
361
- limit, "VM_QUOTA/VM/#{elem}")
369
+ limit, "VM_QUOTA/VM/#{elem}"
370
+ )
362
371
 
363
372
  if limit == LIMIT_UNLIMITED
364
- "%3d / -" % [d["PCI_NIC_USED"]]
373
+ format('%<used>3d / -', :used => d['PCI_NIC_USED'])
365
374
  else
366
- "%3d / %3d" % [d["PCI_NIC_USED"], limit]
375
+ format('%<used>3d / %<limit>3d',
376
+ :used => d['PCI_NIC_USED'], :limit => limit)
367
377
  end
368
378
  end
369
379
  end
370
380
 
371
- column :"DISK SIZE", "", :right, :size=>15 do |d|
381
+ column :"DISK SIZE", '', :right, :size=>15 do |d|
372
382
  if !d.nil?
373
383
  elem = 'SYSTEM_DISK_SIZE'
374
384
  limit = d[elem]
375
385
  limit = helper.get_default_limit(
376
- limit, "VM_QUOTA/VM/#{elem}")
386
+ limit, "VM_QUOTA/VM/#{elem}"
387
+ )
377
388
 
378
389
  if limit == LIMIT_UNLIMITED
379
- "%6s / -" % [
380
- OpenNebulaHelper.unit_to_str(d["SYSTEM_DISK_SIZE_USED"].to_i,{},"M")
381
- ]
390
+ format('%<used>6s / -',
391
+ :used => OpenNebulaHelper.unit_to_str(
392
+ d['SYSTEM_DISK_SIZE_USED'].to_i, {}, 'M'
393
+ ))
382
394
  else
383
- "%6s / %6s" % [
384
- OpenNebulaHelper.unit_to_str(d["SYSTEM_DISK_SIZE_USED"].to_i,{},"M"),
385
- OpenNebulaHelper.unit_to_str(limit.to_i,{},"M")
386
- ]
395
+ format('%<used>6s / %<limit>6s',
396
+ :used => OpenNebulaHelper.unit_to_str(
397
+ d['SYSTEM_DISK_SIZE_USED'].to_i, {}, 'M'
398
+ ),
399
+ :limit => OpenNebulaHelper.unit_to_str(
400
+ limit.to_i, {}, 'M'
401
+ ))
387
402
  end
388
403
  end
389
404
  end
@@ -392,107 +407,123 @@ class OneQuotaHelper
392
407
  puts
393
408
  end
394
409
 
395
- CLIHelper.print_header(str_h1 % "VMS USAGE & QUOTAS - RUNNING",false)
410
+ CLIHelper.print_header(str_h1 % 'VMS USAGE & QUOTAS - RUNNING', false)
396
411
 
397
412
  puts
398
413
 
399
414
  if !vm_quotas[0].nil?
400
415
  CLIHelper::ShowTable.new(nil, self) do
401
- column :"CLUSTERS", "", :right, :size=>8 do |d|
416
+ column :CLUSTERS, '', :right, :size=>8 do |d|
402
417
  if !d.nil?
403
418
  d['CLUSTER_IDS']
404
419
  end
405
420
  end
406
- column :"RUN VMS", "", :right, :size=>9 do |d|
421
+ column :"RUN VMS", '', :right, :size=>9 do |d|
407
422
  if !d.nil?
408
423
  elem = 'RUNNING_VMS'
409
424
  limit = d[elem] || LIMIT_UNLIMITED
410
425
  limit = helper.get_default_limit(
411
- limit, "VM_QUOTA/VM/#{elem}")
426
+ limit, "VM_QUOTA/VM/#{elem}"
427
+ )
412
428
 
413
- if d["RUNNING_VMS_USED"].nil?
414
- d["RUNNING_VMS_USED"] = 0
429
+ if d['RUNNING_VMS_USED'].nil?
430
+ d['RUNNING_VMS_USED'] = 0
415
431
  end
416
432
 
417
433
  if limit == LIMIT_UNLIMITED
418
- "%3d / -" % [d["RUNNING_VMS_USED"]]
434
+ format('%<used>3d / -', :used => d['RUNNING_VMS_USED'])
419
435
  else
420
- "%3d / %3d" % [d["RUNNING_VMS_USED"], limit]
436
+ format('%<used>3d / %<limit>3d',
437
+ :used => d['RUNNING_VMS_USED'],
438
+ :limit => limit)
421
439
  end
422
440
  end
423
441
  end
424
442
 
425
- column :"RUN MEMORY", "", :right, :size=>15 do |d|
443
+ column :"RUN MEMORY", '', :right, :size=>15 do |d|
426
444
  if !d.nil?
427
445
  elem = 'RUNNING_MEMORY'
428
446
  limit = d[elem] || LIMIT_UNLIMITED
429
447
  limit = helper.get_default_limit(
430
- limit, "VM_QUOTA/VM/#{elem}")
448
+ limit, "VM_QUOTA/VM/#{elem}"
449
+ )
431
450
 
432
- if d["RUNNING_MEMORY_USED"].nil?
433
- d["RUNNING_MEMORY_USED"] = 0
451
+ if d['RUNNING_MEMORY_USED'].nil?
452
+ d['RUNNING_MEMORY_USED'] = 0
434
453
  end
435
454
 
436
455
  if limit == LIMIT_UNLIMITED
437
- "%6s / -" % [
438
- OpenNebulaHelper.unit_to_str(d["RUNNING_MEMORY_USED"].to_i,{},"M")
439
- ]
456
+ format('%<used>6s / -',
457
+ :used => OpenNebulaHelper.unit_to_str(
458
+ d['RUNNING_MEMORY_USED'].to_i, {}, 'M'
459
+ ))
440
460
  else
441
- "%6s / %6s" % [
442
- OpenNebulaHelper.unit_to_str(d["RUNNING_MEMORY_USED"].to_i,{},"M"),
443
- OpenNebulaHelper.unit_to_str(limit.to_i,{},"M")
444
- ]
461
+ format('%<used>6s / %<limit>6s',
462
+ :used => OpenNebulaHelper.unit_to_str(
463
+ d['RUNNING_MEMORY_USED'].to_i, {}, 'M'
464
+ ),
465
+ :limit => OpenNebulaHelper.unit_to_str(
466
+ limit.to_i, {}, 'M'
467
+ ))
445
468
  end
446
469
  end
447
470
  end
448
471
 
449
- column :"RUN CPU", "", :right, :size=>15 do |d|
472
+ column :"RUN CPU", '', :right, :size=>15 do |d|
450
473
  if !d.nil?
451
474
  elem = 'RUNNING_CPU'
452
475
  limit = d[elem] || LIMIT_UNLIMITED
453
476
  limit = helper.get_default_limit(
454
- limit, "VM_QUOTA/VM/#{elem}")
477
+ limit, "VM_QUOTA/VM/#{elem}"
478
+ )
455
479
 
456
- if d["RUNNING_CPU_USED"].nil?
457
- d["RUNNING_CPU_USED"] = 0
480
+ if d['RUNNING_CPU_USED'].nil?
481
+ d['RUNNING_CPU_USED'] = 0
458
482
  end
459
483
 
460
484
  if limit == LIMIT_UNLIMITED
461
- "%6.1f / -" % [d["RUNNING_CPU_USED"]]
485
+ format('%<used>6.1f / -',
486
+ :used => d['RUNNING_CPU_USED'])
462
487
  else
463
- "%6.1f / %6.1f" % [d["RUNNING_CPU_USED"], limit]
488
+ format('%<used>6.1f / %<limit>6.1f',
489
+ :used => d['RUNNING_CPU_USED'],
490
+ :limit => limit)
464
491
  end
465
492
  end
466
493
  end
467
494
 
468
- column :"RUN PCI", "", :right, :size=>12 do |d|
495
+ column :"RUN PCI", '', :right, :size=>12 do |d|
469
496
  if !d.nil?
470
497
  elem = 'RUNNING_PCI_DEV'
471
498
  limit = d[elem] || LIMIT_UNLIMITED
472
499
  limit = helper.get_default_limit(
473
- limit, "VM_QUOTA/VM/#{elem}")
500
+ limit, "VM_QUOTA/VM/#{elem}"
501
+ )
474
502
  value = d['RUNNING_PCI_DEV_USED'] || 0
475
503
 
476
504
  if limit == LIMIT_UNLIMITED
477
- "%3s / -" % [value]
505
+ format('%<used>3s / -', :used => value)
478
506
  else
479
- "%3s / %3s" % [value, limit]
507
+ format('%<used>3s / %<limit>3s',
508
+ :used => value, :limit => limit)
480
509
  end
481
510
  end
482
511
  end
483
512
 
484
- column :"RUN PCI NIC", "", :right, :size=>12 do |d|
513
+ column :"RUN PCI NIC", '', :right, :size=>12 do |d|
485
514
  if !d.nil?
486
515
  elem = 'RUNNING_PCI_NIC'
487
516
  limit = d[elem] || LIMIT_UNLIMITED
488
517
  limit = helper.get_default_limit(
489
- limit, "VM_QUOTA/VM/#{elem}")
518
+ limit, "VM_QUOTA/VM/#{elem}"
519
+ )
490
520
  value = d['RUNNING_PCI_NIC_USED'] || 0
491
521
 
492
522
  if limit == LIMIT_UNLIMITED
493
- "%3s / -" % [value]
523
+ format('%<used>3s / -', :used => value)
494
524
  else
495
- "%3s / %3s" % [value, limit]
525
+ format('%<used>3s / %<limit>3s',
526
+ :used => value, :limit => limit)
496
527
  end
497
528
  end
498
529
  end
@@ -501,22 +532,26 @@ class OneQuotaHelper
501
532
  puts
502
533
  end
503
534
 
504
- if !generic_quotas.empty? && !vm_quotas[0].nil?
505
- CLIHelper.print_header(str_h1 % "VMS GENERIC QUOTAS",false)
506
- size = [80 / generic_quotas.length - 1, 18].min
535
+ if !generic_q.empty? && !vm_quotas[0].nil?
536
+ CLIHelper.print_header(str_h1 % 'VMS GENERIC QUOTAS', false)
537
+ size = [80 / generic_q.length - 1, 18].min
507
538
 
508
539
  CLIHelper::ShowTable.new(nil, self) do
509
- generic_quotas.each do |elem|
510
- column elem.to_sym, "", :right, :size=>size do |d|
540
+ generic_q.each do |elem|
541
+ column elem.to_sym, '', :right, :size=>size do |d|
511
542
  if !d.nil?
512
543
  limit = d[elem]
513
544
  limit = helper.get_default_limit(
514
- limit, "VM_QUOTA/VM/#{elem}")
545
+ limit, "VM_QUOTA/VM/#{elem}"
546
+ )
515
547
 
516
548
  if limit == LIMIT_UNLIMITED
517
- "%6s / -" % [d["#{elem}_USED"]]
549
+ format('%<used>6s / -',
550
+ :used => d["#{elem}_USED"])
518
551
  else
519
- "%6s / %6s" % [d["#{elem}_USED"], limit]
552
+ format('%<used>6s / %<limit>6s',
553
+ :used => d["#{elem}_USED"],
554
+ :limit => limit)
520
555
  end
521
556
  end
522
557
  end
@@ -525,22 +560,26 @@ class OneQuotaHelper
525
560
 
526
561
  puts
527
562
 
528
- CLIHelper.print_header(str_h1 % "VMS GENERIC RUNNING QUOTAS",false)
529
- size = [80 / generic_quotas.length - 1, 18].min
563
+ CLIHelper.print_header(str_h1 % 'VMS GENERIC RUNNING QUOTAS', false)
564
+ size = [80 / generic_q.length - 1, 18].min
530
565
 
531
566
  CLIHelper::ShowTable.new(nil, self) do
532
- generic_quotas.each do |q|
567
+ generic_q.each do |q|
533
568
  elem = "RUNNING_#{q}"
534
- column elem.to_sym, "", :right, :size=>size do |d|
569
+ column elem.to_sym, '', :right, :size=>size do |d|
535
570
  if !d.nil?
536
571
  limit = d[elem]
537
572
  limit = helper.get_default_limit(
538
- limit, "VM_QUOTA/VM/#{elem}")
573
+ limit, "VM_QUOTA/VM/#{elem}"
574
+ )
539
575
 
540
576
  if limit == LIMIT_UNLIMITED
541
- "%6s / -" % [d["#{elem}_USED"]]
577
+ format('%<used>6s / -',
578
+ :used => d["#{elem}_USED"])
542
579
  else
543
- "%6s / %6s" % [d["#{elem}_USED"], limit]
580
+ format('%<used>6s / %<limit>6s',
581
+ :used => d["#{elem}_USED"],
582
+ :limit => limit)
544
583
  end
545
584
  end
546
585
  end
@@ -550,7 +589,7 @@ class OneQuotaHelper
550
589
  puts
551
590
  end
552
591
 
553
- CLIHelper.print_header(str_h1 % "DATASTORE USAGE & QUOTAS",false)
592
+ CLIHelper.print_header(str_h1 % 'DATASTORE USAGE & QUOTAS', false)
554
593
 
555
594
  puts
556
595
 
@@ -558,41 +597,48 @@ class OneQuotaHelper
558
597
 
559
598
  if !ds_quotas[0].nil?
560
599
  CLIHelper::ShowTable.new(nil, self) do
561
- column :"ID", "", :size=>12 do |d|
562
- d["ID"] if !d.nil?
600
+ column :ID, '', :size=>12 do |d|
601
+ d['ID'] unless d.nil?
563
602
  end
564
603
 
565
- column :"IMAGES", "", :right, :size=>20 do |d|
604
+ column :IMAGES, '', :right, :size=>20 do |d|
566
605
  if !d.nil?
567
606
  elem = 'IMAGES'
568
607
  limit = d[elem]
569
608
  limit = helper.get_default_limit(
570
- limit, "DATASTORE_QUOTA/DATASTORE[ID=#{d['ID']}]/#{elem}")
609
+ limit, "DATASTORE_QUOTA/DATASTORE[ID=#{d['ID']}]/#{elem}"
610
+ )
571
611
 
572
612
  if limit == LIMIT_UNLIMITED
573
- "%8d / -" % [d["IMAGES_USED"]]
613
+ format('%<used>8d / -', :used => d['IMAGES_USED'])
574
614
  else
575
- "%8d / %8d" % [d["IMAGES_USED"], limit]
615
+ format('%<used>8d / %<limit>8d',
616
+ :used => d['IMAGES_USED'], :limit => limit)
576
617
  end
577
618
  end
578
619
  end
579
620
 
580
- column :"SIZE", "", :right, :size=>19 do |d|
621
+ column :SIZE, '', :right, :size=>19 do |d|
581
622
  if !d.nil?
582
623
  elem = 'SIZE'
583
624
  limit = d[elem]
584
625
  limit = helper.get_default_limit(
585
- limit, "DATASTORE_QUOTA/DATASTORE[ID=#{d['ID']}]/#{elem}")
626
+ limit, "DATASTORE_QUOTA/DATASTORE[ID=#{d['ID']}]/#{elem}"
627
+ )
586
628
 
587
629
  if limit == LIMIT_UNLIMITED
588
- "%8s / -" % [
589
- OpenNebulaHelper.unit_to_str(d["SIZE_USED"].to_i,{},"M")
590
- ]
630
+ format('%<used>8s / -',
631
+ :used => OpenNebulaHelper.unit_to_str(
632
+ d['SIZE_USED'].to_i, {}, 'M'
633
+ ))
591
634
  else
592
- "%8s / %8s" % [
593
- OpenNebulaHelper.unit_to_str(d["SIZE_USED"].to_i,{},"M"),
594
- OpenNebulaHelper.unit_to_str(limit.to_i,{},"M")
595
- ]
635
+ format('%<used>8s / %<limit>8s',
636
+ :used => OpenNebulaHelper.unit_to_str(
637
+ d['SIZE_USED'].to_i, {}, 'M'
638
+ ),
639
+ :limit => OpenNebulaHelper.unit_to_str(
640
+ limit.to_i, {}, 'M'
641
+ ))
596
642
  end
597
643
  end
598
644
  end
@@ -601,7 +647,7 @@ class OneQuotaHelper
601
647
  puts
602
648
  end
603
649
 
604
- CLIHelper.print_header(str_h1 % "NETWORK USAGE & QUOTAS",false)
650
+ CLIHelper.print_header(str_h1 % 'NETWORK USAGE & QUOTAS', false)
605
651
 
606
652
  puts
607
653
 
@@ -609,21 +655,23 @@ class OneQuotaHelper
609
655
 
610
656
  if !net_quotas[0].nil?
611
657
  CLIHelper::ShowTable.new(nil, self) do
612
- column :"ID", "", :size=>12 do |d|
613
- d["ID"] if !d.nil?
658
+ column :ID, '', :size=>12 do |d|
659
+ d['ID'] unless d.nil?
614
660
  end
615
661
 
616
- column :"LEASES", "", :right, :size=>20 do |d|
662
+ column :LEASES, '', :right, :size=>20 do |d|
617
663
  if !d.nil?
618
664
  elem = 'LEASES'
619
665
  limit = d[elem]
620
666
  limit = helper.get_default_limit(
621
- limit, "NETWORK_QUOTA/NETWORK[ID=#{d['ID']}]/#{elem}")
667
+ limit, "NETWORK_QUOTA/NETWORK[ID=#{d['ID']}]/#{elem}"
668
+ )
622
669
 
623
670
  if limit == LIMIT_UNLIMITED
624
- "%8d / -" % [d["LEASES_USED"]]
671
+ format('%<used>8d / -', :used => d['LEASES_USED'])
625
672
  else
626
- "%8d / %8d" % [d["LEASES_USED"], limit]
673
+ format('%<used>8d / %<limit>8d',
674
+ :used => d['LEASES_USED'], :limit => limit)
627
675
  end
628
676
  end
629
677
  end
@@ -632,7 +680,7 @@ class OneQuotaHelper
632
680
  puts
633
681
  end
634
682
 
635
- CLIHelper.print_header(str_h1 % "IMAGE USAGE & QUOTAS",false)
683
+ CLIHelper.print_header(str_h1 % 'IMAGE USAGE & QUOTAS', false)
636
684
 
637
685
  puts
638
686
 
@@ -640,21 +688,23 @@ class OneQuotaHelper
640
688
 
641
689
  if !image_quotas[0].nil?
642
690
  CLIHelper::ShowTable.new(nil, self) do
643
- column :"ID", "", :size=>12 do |d|
644
- d["ID"] if !d.nil?
691
+ column :ID, '', :size=>12 do |d|
692
+ d['ID'] unless d.nil?
645
693
  end
646
694
 
647
- column :"RUNNING VMS", "", :right, :size=>20 do |d|
695
+ column :"RUNNING VMS", '', :right, :size=>20 do |d|
648
696
  if !d.nil?
649
697
  elem = 'RVMS'
650
698
  limit = d[elem]
651
699
  limit = helper.get_default_limit(
652
- limit, "IMAGE_QUOTA/IMAGE[ID=#{d['ID']}]/RVMS")
700
+ limit, "IMAGE_QUOTA/IMAGE[ID=#{d['ID']}]/RVMS"
701
+ )
653
702
 
654
703
  if limit == LIMIT_UNLIMITED
655
- "%8d / -" % [d["RVMS_USED"]]
704
+ format('%<used>8d / -', :used => d['RVMS_USED'])
656
705
  else
657
- "%8d / %8d" % [d["RVMS_USED"], limit]
706
+ format('%<used>8d / %<limit>8d',
707
+ :used => d['RVMS_USED'], :limit => limit)
658
708
  end
659
709
  end
660
710
  end
@@ -667,7 +717,7 @@ class OneQuotaHelper
667
717
  if !@default_quotas.nil?
668
718
  limit = @default_quotas[xpath]
669
719
 
670
- limit = LIMIT_UNLIMITED if limit.nil? || limit == ""
720
+ limit = LIMIT_UNLIMITED if limit.nil? || limit == ''
671
721
  else
672
722
  limit = LIMIT_UNLIMITED
673
723
  end
@@ -678,7 +728,7 @@ class OneQuotaHelper
678
728
 
679
729
  private
680
730
 
681
- def get_generic_quotas
731
+ def generic_quotas
682
732
  conf = OpenNebula::System.new(@client).get_configuration
683
733
 
684
734
  return [] if OpenNebula.is_error?(conf)