opennebula-cli 4.13.80.beta1 → 4.13.85.beta2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/onetemplate +3 -1
- data/bin/onevcenter +1 -1
- data/bin/onevm +3 -3
- data/lib/one_helper/onegroup_helper.rb +6 -6
- data/lib/one_helper/onehost_helper.rb +52 -0
- data/lib/one_helper/oneimage_helper.rb +14 -2
- data/lib/one_helper/onequota_helper.rb +10 -10
- data/lib/one_helper/onetemplate_helper.rb +27 -0
- data/lib/one_helper/oneuser_helper.rb +6 -6
- data/lib/one_helper/onevm_helper.rb +36 -9
- data/lib/one_helper.rb +13 -2
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5fca91efa12f85597ee352ef8adde81871f59fe1
|
4
|
+
data.tar.gz: 9bbb6d98f3434e31f02d11d14f7a3daa694f34a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53809bc7e557e85afa901241fe8b548ca151c2ce155c32d221e61c0df9f0cda3b3f5878774cecf05043c7077669877ee508c626a42f5ee131404008b37277a9d
|
7
|
+
data.tar.gz: 9770250b6a5dbea174bd51248d3985ac6b9d12595ad82ece9af4a3fe163c90992a6bfa09d948974c027e75788aca1f52aa0c92a2d031347d1236dd0580323a9a
|
data/bin/onetemplate
CHANGED
@@ -319,7 +319,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
319
319
|
Shows information for the given Template
|
320
320
|
EOT
|
321
321
|
|
322
|
-
command :show, show_desc, :templateid,
|
322
|
+
command :show, show_desc, :templateid,
|
323
|
+
:options=>[OpenNebulaHelper::XML,OneTemplateHelper::EXTENDED] do
|
324
|
+
|
323
325
|
helper.show_resource(args[0],options)
|
324
326
|
end
|
325
327
|
|
data/bin/onevcenter
CHANGED
data/bin/onevm
CHANGED
@@ -812,7 +812,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
812
812
|
Takes a new snapshot of the given disk. This operation needs support
|
813
813
|
from the Datastore drivers: QCOW2 or Ceph.
|
814
814
|
|
815
|
-
States: POWEROFF
|
815
|
+
States: RUNNING, POWEROFF, SUSPENDED
|
816
816
|
EOT
|
817
817
|
|
818
818
|
command :"disk-snapshot-create", disk_snapshot_create_desc,
|
@@ -825,7 +825,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
825
825
|
disk_snapshot_revert_desc = <<-EOT.unindent
|
826
826
|
Reverts disk state to a previously taken snapshot.
|
827
827
|
|
828
|
-
States: POWEROFF
|
828
|
+
States: RUNNING, POWEROFF, SUSPENDED
|
829
829
|
EOT
|
830
830
|
|
831
831
|
command :"disk-snapshot-revert", disk_snapshot_revert_desc,
|
@@ -838,7 +838,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
838
838
|
disk_snapshot_delete_desc = <<-EOT.unindent
|
839
839
|
Deletes a disk snapshot.
|
840
840
|
|
841
|
-
States: POWEROFF
|
841
|
+
States: RUNNING, POWEROFF, SUSPENDED
|
842
842
|
EOT
|
843
843
|
command :"disk-snapshot-delete", disk_snapshot_delete_desc,
|
844
844
|
:vmid, :diskid, :snapshot_id do
|
@@ -117,8 +117,8 @@ class OneGroupHelper < OpenNebulaHelper::OneHelper
|
|
117
117
|
"CPU_USED" => "0",
|
118
118
|
"MEMORY" => OneQuotaHelper::LIMIT_DEFAULT,
|
119
119
|
"MEMORY_USED" => "0",
|
120
|
-
"
|
121
|
-
"
|
120
|
+
"SYSTEM_DISK_SIZE" => OneQuotaHelper::LIMIT_DEFAULT,
|
121
|
+
"SYSTEM_DISK_SIZE_USED" => "0"
|
122
122
|
}
|
123
123
|
|
124
124
|
quotas[d['ID']] = q
|
@@ -154,8 +154,8 @@ class OneGroupHelper < OpenNebulaHelper::OneHelper
|
|
154
154
|
"CPU_USED" => "0",
|
155
155
|
"MEMORY" => OneQuotaHelper::LIMIT_DEFAULT,
|
156
156
|
"MEMORY_USED" => "0",
|
157
|
-
"
|
158
|
-
"
|
157
|
+
"SYSTEM_DISK_SIZE" => OneQuotaHelper::LIMIT_DEFAULT,
|
158
|
+
"SYSTEM_DISK_SIZE_USED" => "0"
|
159
159
|
}
|
160
160
|
|
161
161
|
quotas[d['ID']] = q
|
@@ -194,8 +194,8 @@ class OneGroupHelper < OpenNebulaHelper::OneHelper
|
|
194
194
|
"CPU_USED" => "0",
|
195
195
|
"MEMORY" => OneQuotaHelper::LIMIT_DEFAULT,
|
196
196
|
"MEMORY_USED" => "0",
|
197
|
-
"
|
198
|
-
"
|
197
|
+
"SYSTEM_DISK_SIZE" => OneQuotaHelper::LIMIT_DEFAULT,
|
198
|
+
"SYSTEM_DISK_SIZE_USED" => "0"
|
199
199
|
}
|
200
200
|
|
201
201
|
quotas[d['ID']] = q
|
@@ -413,11 +413,22 @@ class OneHostHelper < OpenNebulaHelper::OneHelper
|
|
413
413
|
|
414
414
|
wilds = host.wilds
|
415
415
|
|
416
|
+
begin
|
417
|
+
pcis = [host.to_hash['HOST']['HOST_SHARE']['PCI_DEVICES']['PCI']]
|
418
|
+
pcis = pcis.flatten.compact
|
419
|
+
rescue
|
420
|
+
pcis = nil
|
421
|
+
end
|
422
|
+
|
416
423
|
host.delete_element("TEMPLATE/VM")
|
417
424
|
host.delete_element("TEMPLATE_WILDS")
|
418
425
|
|
419
426
|
puts host.template_str
|
420
427
|
|
428
|
+
if pcis && !pcis.empty?
|
429
|
+
print_pcis(pcis)
|
430
|
+
end
|
431
|
+
|
421
432
|
puts
|
422
433
|
CLIHelper.print_header("WILD VIRTUAL MACHINES", false)
|
423
434
|
puts
|
@@ -457,4 +468,45 @@ class OneHostHelper < OpenNebulaHelper::OneHelper
|
|
457
468
|
onevm_helper.client=@client
|
458
469
|
onevm_helper.list_pool({:filter=>["HOST=#{host.name}"]}, false)
|
459
470
|
end
|
471
|
+
|
472
|
+
def print_pcis(pcis)
|
473
|
+
puts
|
474
|
+
CLIHelper.print_header("PCI DEVICES", false)
|
475
|
+
puts
|
476
|
+
|
477
|
+
table=CLIHelper::ShowTable.new(nil, self) do
|
478
|
+
column :VM, "Used by VM", :size => 5, :left => false do |d|
|
479
|
+
if d["VMID"] == "-1"
|
480
|
+
""
|
481
|
+
else
|
482
|
+
d["VMID"]
|
483
|
+
end
|
484
|
+
end
|
485
|
+
|
486
|
+
column :ADDR, "PCI Address", :size => 7, :left => true do |d|
|
487
|
+
d["SHORT_ADDRESS"]
|
488
|
+
end
|
489
|
+
|
490
|
+
column :TYPE, "Type", :size => 14, :left => true do |d|
|
491
|
+
d["TYPE"]
|
492
|
+
end
|
493
|
+
|
494
|
+
column :CLASS, "Class", :size => 12, :left => true do |d|
|
495
|
+
d["CLASS_NAME"]
|
496
|
+
end
|
497
|
+
|
498
|
+
column :NAME, "Name", :size => 50, :left => true do |d|
|
499
|
+
d["DEVICE_NAME"]
|
500
|
+
end
|
501
|
+
|
502
|
+
column :VENDOR, "Vendor", :size => 8, :left => true do |d|
|
503
|
+
d["VENDOR_NAME"]
|
504
|
+
end
|
505
|
+
|
506
|
+
default :VM, :ADDR, :TYPE, :NAME
|
507
|
+
|
508
|
+
end
|
509
|
+
|
510
|
+
table.show(pcis)
|
511
|
+
end
|
460
512
|
end
|
@@ -339,7 +339,19 @@ class OneImageHelper < OpenNebulaHelper::OneHelper
|
|
339
339
|
d["CHILDREN"]
|
340
340
|
end
|
341
341
|
|
342
|
-
column :
|
342
|
+
column :SIZE, "", :left, :size=>8 do |d|
|
343
|
+
if d["SIZE"]
|
344
|
+
OpenNebulaHelper.unit_to_str(
|
345
|
+
d['SIZE'].to_i,
|
346
|
+
{},
|
347
|
+
"M"
|
348
|
+
)
|
349
|
+
else
|
350
|
+
"-"
|
351
|
+
end
|
352
|
+
end
|
353
|
+
|
354
|
+
column :NAME, "Snapshot Name", :left, :size=>37 do |d|
|
343
355
|
d["NAME"]
|
344
356
|
end
|
345
357
|
|
@@ -347,7 +359,7 @@ class OneImageHelper < OpenNebulaHelper::OneHelper
|
|
347
359
|
OpenNebulaHelper.time_to_str(d["DATE"])
|
348
360
|
end
|
349
361
|
|
350
|
-
default :AC, :ID, :PARENT, :DATE, :
|
362
|
+
default :AC, :ID, :PARENT, :DATE, :SIZE, :NAME
|
351
363
|
end
|
352
364
|
|
353
365
|
# Convert snapshot data to an array
|
@@ -34,10 +34,10 @@ class OneQuotaHelper
|
|
34
34
|
# ]
|
35
35
|
#
|
36
36
|
# VM = [
|
37
|
-
# VMS
|
38
|
-
# MEMORY
|
39
|
-
# CPU
|
40
|
-
#
|
37
|
+
# VMS = <Max. number of VMs>
|
38
|
+
# MEMORY = <Max. allocated memory (MB)>
|
39
|
+
# CPU = <Max. allocated CPU>
|
40
|
+
# SYSTEM_DISK_SIZE = <Max. allocated system disk (MB)>
|
41
41
|
# ]
|
42
42
|
#
|
43
43
|
# NETWORK = [
|
@@ -216,8 +216,8 @@ class OneQuotaHelper
|
|
216
216
|
"CPU_USED" => "0",
|
217
217
|
"MEMORY" => limit,
|
218
218
|
"MEMORY_USED" => "0",
|
219
|
-
"
|
220
|
-
"
|
219
|
+
"SYSTEM_DISK_SIZE" => limit,
|
220
|
+
"SYSTEM_DISK_SIZE_USED" => "0"
|
221
221
|
}]
|
222
222
|
end
|
223
223
|
|
@@ -273,20 +273,20 @@ class OneQuotaHelper
|
|
273
273
|
end
|
274
274
|
end
|
275
275
|
|
276
|
-
column :"
|
276
|
+
column :"SYSTEM_DISK_SIZE", "", :right, :size=>20 do |d|
|
277
277
|
if !d.nil?
|
278
|
-
elem = '
|
278
|
+
elem = 'SYSTEM_DISK_SIZE'
|
279
279
|
limit = d[elem]
|
280
280
|
limit = helper.get_default_limit(
|
281
281
|
limit, "VM_QUOTA/VM/#{elem}")
|
282
282
|
|
283
283
|
if limit == LIMIT_UNLIMITED
|
284
284
|
"%8s / -" % [
|
285
|
-
OpenNebulaHelper.unit_to_str(d["
|
285
|
+
OpenNebulaHelper.unit_to_str(d["SYSTEM_DISK_SIZE_USED"].to_i,{},"M")
|
286
286
|
]
|
287
287
|
else
|
288
288
|
"%8s / %8s" % [
|
289
|
-
OpenNebulaHelper.unit_to_str(d["
|
289
|
+
OpenNebulaHelper.unit_to_str(d["SYSTEM_DISK_SIZE_USED"].to_i,{},"M"),
|
290
290
|
OpenNebulaHelper.unit_to_str(limit.to_i,{},"M")
|
291
291
|
]
|
292
292
|
end
|
@@ -43,6 +43,13 @@ EOT
|
|
43
43
|
:description => "Integrate userdata into the EC2 section"
|
44
44
|
}
|
45
45
|
|
46
|
+
EXTENDED={
|
47
|
+
:name => "extended",
|
48
|
+
:large => "--extended",
|
49
|
+
:description => "Process the template and included extended "+
|
50
|
+
"information, such as the SIZE for each DISK"
|
51
|
+
}
|
52
|
+
|
46
53
|
def self.rname
|
47
54
|
"VMTEMPLATE"
|
48
55
|
end
|
@@ -51,6 +58,26 @@ EOT
|
|
51
58
|
"onetemplate.yaml"
|
52
59
|
end
|
53
60
|
|
61
|
+
|
62
|
+
def show_resource(id, options)
|
63
|
+
resource = retrieve_resource(id)
|
64
|
+
|
65
|
+
if !options[:extended].nil?
|
66
|
+
rc = resource.info(options[:extended])
|
67
|
+
else
|
68
|
+
rc = resource.info
|
69
|
+
end
|
70
|
+
|
71
|
+
return -1, rc.message if OpenNebula.is_error?(rc)
|
72
|
+
|
73
|
+
if options[:xml]
|
74
|
+
return 0, resource.to_xml(true)
|
75
|
+
else
|
76
|
+
format_resource(resource, options)
|
77
|
+
return 0
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
54
81
|
def format_pool(options)
|
55
82
|
config_file = self.class.table_conf
|
56
83
|
|
@@ -260,8 +260,8 @@ class OneUserHelper < OpenNebulaHelper::OneHelper
|
|
260
260
|
"CPU_USED" => "0",
|
261
261
|
"MEMORY" => OneQuotaHelper::LIMIT_DEFAULT,
|
262
262
|
"MEMORY_USED" => "0",
|
263
|
-
"
|
264
|
-
"
|
263
|
+
"SYSTEM_DISK_SIZE" => OneQuotaHelper::LIMIT_DEFAULT,
|
264
|
+
"SYSTEM_DISK_SIZE_USED" => "0"
|
265
265
|
}
|
266
266
|
|
267
267
|
quotas[d['ID']] = q
|
@@ -299,8 +299,8 @@ class OneUserHelper < OpenNebulaHelper::OneHelper
|
|
299
299
|
"CPU_USED" => "0",
|
300
300
|
"MEMORY" => OneQuotaHelper::LIMIT_DEFAULT,
|
301
301
|
"MEMORY_USED" => "0",
|
302
|
-
"
|
303
|
-
"
|
302
|
+
"SYSTEM_DISK_SIZE" => OneQuotaHelper::LIMIT_DEFAULT,
|
303
|
+
"SYSTEM_DISK_SIZE_USED" => "0"
|
304
304
|
}
|
305
305
|
|
306
306
|
quotas[d['ID']] = q
|
@@ -341,8 +341,8 @@ class OneUserHelper < OpenNebulaHelper::OneHelper
|
|
341
341
|
"CPU_USED" => "0",
|
342
342
|
"MEMORY" => OneQuotaHelper::LIMIT_DEFAULT,
|
343
343
|
"MEMORY_USED" => "0",
|
344
|
-
"
|
345
|
-
"
|
344
|
+
"SYSTEM_DISK_SIZE" => OneQuotaHelper::LIMIT_DEFAULT,
|
345
|
+
"SYSTEM_DISK_SIZE_USED" => "0"
|
346
346
|
}
|
347
347
|
|
348
348
|
quotas[d['ID']] = q
|
@@ -28,7 +28,6 @@ $: << MAD_LOCATION
|
|
28
28
|
|
29
29
|
require 'one_helper'
|
30
30
|
require 'optparse/time'
|
31
|
-
require 'one_tm'
|
32
31
|
|
33
32
|
class String
|
34
33
|
def red
|
@@ -46,6 +45,13 @@ private
|
|
46
45
|
end
|
47
46
|
end
|
48
47
|
|
48
|
+
EXTERNAL_IP_ATTRS = [
|
49
|
+
'GUEST_IP',
|
50
|
+
'AWS_IP_ADDRESS',
|
51
|
+
'AZ_IPADDRESS',
|
52
|
+
'SL_PRIMARYIPADDRESS'
|
53
|
+
];
|
54
|
+
|
49
55
|
|
50
56
|
class OneVMHelper < OpenNebulaHelper::OneHelper
|
51
57
|
MULTIPLE={
|
@@ -237,11 +243,14 @@ class OneVMHelper < OpenNebulaHelper::OneHelper
|
|
237
243
|
end
|
238
244
|
|
239
245
|
column :UCPU, "CPU percentage used by the VM", :size=>4 do |d|
|
240
|
-
d["CPU"]
|
246
|
+
cpu = d["MONITORING"]["CPU"]
|
247
|
+
cpu = "0" if cpu.nil?
|
248
|
+
|
249
|
+
cpu
|
241
250
|
end
|
242
251
|
|
243
252
|
column :UMEM, "Memory used by the VM", :size=>7 do |d|
|
244
|
-
OpenNebulaHelper.unit_to_str(d["MEMORY"].to_i, options)
|
253
|
+
OpenNebulaHelper.unit_to_str(d["MONITORING"]["MEMORY"].to_i, options)
|
245
254
|
end
|
246
255
|
|
247
256
|
column :HOST, "Host where the VM is running", :left, :size=>10 do |d|
|
@@ -333,6 +342,16 @@ class OneVMHelper < OpenNebulaHelper::OneHelper
|
|
333
342
|
}
|
334
343
|
|
335
344
|
def recover_retry_interactive(vm)
|
345
|
+
begin
|
346
|
+
require 'one_tm'
|
347
|
+
rescue LoadError
|
348
|
+
STDERR.puts <<-EOT
|
349
|
+
one_tm library not found. Make sure you execute recover --interactive
|
350
|
+
in the frontend machine.
|
351
|
+
EOT
|
352
|
+
exit(-1)
|
353
|
+
end
|
354
|
+
|
336
355
|
# Disable CTRL-C in the menu
|
337
356
|
trap("SIGINT") { }
|
338
357
|
|
@@ -505,6 +524,14 @@ class OneVMHelper < OpenNebulaHelper::OneHelper
|
|
505
524
|
|
506
525
|
vm_monitoring = vm.to_hash['VM']['MONITORING']
|
507
526
|
|
527
|
+
# Find out if it is a hybrid VM to avoid showing local IPs
|
528
|
+
isHybrid=false
|
529
|
+
vm_monitoring.each{|key, value|
|
530
|
+
if EXTERNAL_IP_ATTRS.include? key
|
531
|
+
isHybrid=true
|
532
|
+
end
|
533
|
+
}
|
534
|
+
|
508
535
|
order_attrs = %w(CPU MEMORY NETTX NETRX)
|
509
536
|
|
510
537
|
vm_monitoring_sort = []
|
@@ -674,7 +701,7 @@ class OneVMHelper < OpenNebulaHelper::OneHelper
|
|
674
701
|
end
|
675
702
|
end
|
676
703
|
|
677
|
-
if vm.has_elements?("/VM/TEMPLATE/NIC")
|
704
|
+
if vm.has_elements?("/VM/TEMPLATE/NIC") and !isHybrid
|
678
705
|
puts
|
679
706
|
CLIHelper.print_header(str_h1 % "VM NICS",false)
|
680
707
|
|
@@ -777,7 +804,7 @@ class OneVMHelper < OpenNebulaHelper::OneHelper
|
|
777
804
|
vm.delete_element("/VM/TEMPLATE/NIC")
|
778
805
|
end if !options[:all]
|
779
806
|
|
780
|
-
if vm.has_elements?("/VM/TEMPLATE/SECURITY_GROUP_RULE")
|
807
|
+
if vm.has_elements?("/VM/TEMPLATE/SECURITY_GROUP_RULE") and !isHybrid
|
781
808
|
puts
|
782
809
|
CLIHelper.print_header(str_h1 % "SECURITY",false)
|
783
810
|
puts
|
@@ -1012,7 +1039,7 @@ class OneVMHelper < OpenNebulaHelper::OneHelper
|
|
1012
1039
|
d["CHILDREN"]
|
1013
1040
|
end
|
1014
1041
|
|
1015
|
-
column :SIZE, "", :left, :size=>
|
1042
|
+
column :SIZE, "", :left, :size=>12 do |d|
|
1016
1043
|
if d["SIZE"]
|
1017
1044
|
size = OpenNebulaHelper.unit_to_str(
|
1018
1045
|
d['SIZE'].to_i,
|
@@ -1036,15 +1063,15 @@ class OneVMHelper < OpenNebulaHelper::OneHelper
|
|
1036
1063
|
"#{monitor_size}/#{size}"
|
1037
1064
|
end
|
1038
1065
|
|
1039
|
-
column :NAME, "Snapshot Name", :left, :size=>
|
1066
|
+
column :NAME, "Snapshot Name", :left, :size=>32 do |d|
|
1040
1067
|
d["NAME"]
|
1041
1068
|
end
|
1042
1069
|
|
1043
|
-
column :DATE, "Snapshot creation date", :size=>
|
1070
|
+
column :DATE, "Snapshot creation date", :size=>15 do |d|
|
1044
1071
|
OpenNebulaHelper.time_to_str(d["DATE"])
|
1045
1072
|
end
|
1046
1073
|
|
1047
|
-
default :AC, :ID, :DISK, :PARENT, :DATE, :
|
1074
|
+
default :AC, :ID, :DISK, :PARENT, :DATE, :SIZE, :NAME
|
1048
1075
|
end
|
1049
1076
|
|
1050
1077
|
# Convert snapshot data to an array
|
data/lib/one_helper.rb
CHANGED
@@ -226,14 +226,20 @@ EOT
|
|
226
226
|
:name => 'disk',
|
227
227
|
:large => '--disk image0,image1',
|
228
228
|
:description => "Disks to attach. To use an image owned by"<<
|
229
|
-
" other user use user[disk]"
|
229
|
+
" other user use user[disk]. Add any additional"<<
|
230
|
+
" attributes separated by ':' and in the shape of"<<
|
231
|
+
" KEY=VALUE. For example, if the disk must be"<<
|
232
|
+
" resized, use image0:size=1000 . Or"<<
|
233
|
+
" image0:size=1000:target=vda,image1:target=vdb",
|
230
234
|
:format => Array
|
231
235
|
},
|
232
236
|
{
|
233
237
|
:name => 'nic',
|
234
238
|
:large => '--nic network0,network1',
|
235
239
|
:description => "Networks to attach. To use a network owned by"<<
|
236
|
-
" other user use user[network]"
|
240
|
+
" other user use user[network]. Additional"<<
|
241
|
+
" attributes are supported like with the --disk"<<
|
242
|
+
" option.",
|
237
243
|
:format => Array
|
238
244
|
},
|
239
245
|
{
|
@@ -879,12 +885,17 @@ EOT
|
|
879
885
|
template=''
|
880
886
|
|
881
887
|
objects.each do |obj|
|
888
|
+
obj, *extra_attributes = obj.split(":")
|
882
889
|
res=parse_user_object(obj)
|
883
890
|
return [-1, "#{section.capitalize} \"#{obj}\" malformed"] if !res
|
884
891
|
user, object=*res
|
885
892
|
|
886
893
|
template<<"#{section.upcase}=[\n"
|
887
894
|
template<<" #{name.upcase}_UNAME=\"#{user}\",\n" if user
|
895
|
+
extra_attributes.each do |extra_attribute|
|
896
|
+
key, value = extra_attribute.split("=")
|
897
|
+
template<<" #{key.upcase}=\"#{value}\",\n"
|
898
|
+
end
|
888
899
|
if object.match(/^\d+$/)
|
889
900
|
template<<" #{name.upcase}_ID=#{object}\n"
|
890
901
|
else
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opennebula-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.13.
|
4
|
+
version: 4.13.85.beta2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OpenNebula
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: opennebula
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 4.13.
|
19
|
+
version: 4.13.85.beta2
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 4.13.
|
26
|
+
version: 4.13.85.beta2
|
27
27
|
description: Commands used to talk to OpenNebula
|
28
28
|
email: contact@opennebula.org
|
29
29
|
executables:
|
@@ -39,12 +39,12 @@ executables:
|
|
39
39
|
- onevnet
|
40
40
|
- onezone
|
41
41
|
- oneacl
|
42
|
+
- oneflow
|
42
43
|
- onehost
|
43
44
|
- oneimage
|
45
|
+
- onetemplate
|
44
46
|
- onevcenter
|
45
|
-
- oneflow
|
46
47
|
- onevm
|
47
|
-
- onetemplate
|
48
48
|
extensions: []
|
49
49
|
extra_rdoc_files: []
|
50
50
|
files:
|
@@ -106,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
106
106
|
version: 1.3.1
|
107
107
|
requirements: []
|
108
108
|
rubyforge_project:
|
109
|
-
rubygems_version: 2.4.5
|
109
|
+
rubygems_version: 2.4.5.1
|
110
110
|
signing_key:
|
111
111
|
specification_version: 4
|
112
112
|
summary: OpenNebula Command Line Interface
|