opennebula-cli 4.13.80.beta1 → 4.13.85.beta2
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 +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
|