opennebula-cli 6.6.2 → 6.7.80.pre

Sign up to get free protection for your applications and to get access to all the features.
data/bin/onetemplate CHANGED
@@ -149,6 +149,8 @@ CommandParser::CmdParser.new(ARGV) do
149
149
 
150
150
  onetemplate create vm_description.tmpl
151
151
 
152
+ #{OpenNebulaHelper::TEMPLATE_INPUT}
153
+
152
154
  - new VM Template named "arch vm" with a disk and a nic:
153
155
 
154
156
  onetemplate create --name "arch vm" --memory 128 --cpu 1 \\
@@ -164,9 +166,10 @@ CommandParser::CmdParser.new(ARGV) do
164
166
  command :create, create_desc, [:file, nil], :options =>
165
167
  [OneTemplateHelper::VM_NAME] + OpenNebulaHelper::TEMPLATE_OPTIONS +
166
168
  [OpenNebulaHelper::DRY] do
167
- if args[0] && OpenNebulaHelper.create_template_options_used?(options)
168
- STDERR.puts 'You can not use both template file and template' \
169
- ' creation options.'
169
+ if (args[0] || STDIN.wait_readable(0)) &&
170
+ OpenNebulaHelper.create_template_options_used?(options)
171
+
172
+ STDERR.puts 'You can not use both template file and template creation options.'
170
173
  next -1
171
174
  end
172
175
 
@@ -174,6 +177,8 @@ CommandParser::CmdParser.new(ARGV) do
174
177
  begin
175
178
  if args[0]
176
179
  template = File.read(args[0])
180
+ elsif STDIN.wait_readable(0)
181
+ template = STDIN.read
177
182
  else
178
183
  res = OpenNebulaHelper.create_template(options)
179
184
 
@@ -248,13 +253,13 @@ CommandParser::CmdParser.new(ARGV) do
248
253
  EOT
249
254
 
250
255
  command :instantiate, instantiate_desc, :templateid, [:file, nil],
251
- :options => instantiate_options +
252
- OpenNebulaHelper::TEMPLATE_OPTIONS do
256
+ :options => instantiate_options + OpenNebulaHelper::TEMPLATE_OPTIONS do
253
257
  exit_code = 0
254
258
 
255
- if args[1] && OpenNebulaHelper.create_template_options_used?(options)
256
- STDERR.puts 'You cannot use both template file and template' \
257
- ' creation options.'
259
+ if (args[1] || STDIN.wait_readable(0)) &&
260
+ OpenNebulaHelper.create_template_options_used?(options)
261
+
262
+ STDERR.puts 'You cannot use both template and template creation options.'
258
263
  next -1
259
264
  end
260
265
 
@@ -300,6 +305,8 @@ CommandParser::CmdParser.new(ARGV) do
300
305
 
301
306
  if args[1]
302
307
  extra_template = File.read(args[1])
308
+ elsif STDIN.wait_readable(0)
309
+ extra_template = STDIN.read
303
310
  else
304
311
  res = OpenNebulaHelper.create_template(options, t)
305
312
 
@@ -404,7 +411,7 @@ CommandParser::CmdParser.new(ARGV) do
404
411
  end
405
412
 
406
413
  list_desc = <<-EOT.unindent
407
- Lists Templates in the pool
414
+ Lists Templates in the pool. #{OneTemplateHelper.list_layout_help}
408
415
  EOT
409
416
 
410
417
  rename_desc = <<-EOT.unindent
data/bin/oneuser CHANGED
@@ -562,7 +562,7 @@ CommandParser::CmdParser.new(ARGV) do
562
562
  end
563
563
 
564
564
  list_desc = <<-EOT.unindent
565
- Lists Users in the pool
565
+ Lists Users in the pool. #{OneUserHelper.list_layout_help}
566
566
  EOT
567
567
 
568
568
  command :list, list_desc, :options => list_options do
data/bin/onevdc CHANGED
@@ -300,7 +300,7 @@ CommandParser::CmdParser.new(ARGV) do
300
300
  end
301
301
 
302
302
  list_desc = <<-EOT.unindent
303
- Lists VDCs in the pool
303
+ Lists VDCs in the pool. #{OneVdcHelper.list_layout_help}
304
304
  EOT
305
305
 
306
306
  command :list, list_desc, :options => list_options do
data/bin/onevm CHANGED
@@ -349,7 +349,9 @@ CommandParser::CmdParser.new(ARGV) do
349
349
  number = options[:multiple] || 1
350
350
  exit_code = nil
351
351
 
352
- if args[0] && OpenNebulaHelper.create_template_options_used?(options)
352
+ if (args[0] || STDIN.wait_readable(0)) &&
353
+ OpenNebulaHelper.create_template_options_used?(options)
354
+
353
355
  STDERR.puts 'You can not use both template file and template'\
354
356
  ' creation options.'
355
357
  exit(-1)
@@ -358,6 +360,8 @@ CommandParser::CmdParser.new(ARGV) do
358
360
  begin
359
361
  if args[0]
360
362
  template = File.read(args[0])
363
+ elsif STDIN.wait_readable(0)
364
+ template = STDIN.read
361
365
  else
362
366
  res = OpenNebulaHelper.create_template(options)
363
367
 
@@ -422,12 +426,7 @@ CommandParser::CmdParser.new(ARGV) do
422
426
  EOT
423
427
 
424
428
  command :hold, hold_desc, [:range, :vmid_list],
425
- :options => [OneVMHelper::SCHEDULE,
426
- OneVMHelper::WEEKLY,
427
- OneVMHelper::MONTHLY,
428
- OneVMHelper::YEARLY,
429
- OneVMHelper::HOURLY,
430
- OneVMHelper::END_TIME] do
429
+ :options => OpenNebulaHelper::SCHEDULE_OPTIONS do
431
430
  if !options[:schedule].nil?
432
431
  helper.schedule_actions(args[0], options, @comm_name)
433
432
  else
@@ -444,12 +443,7 @@ CommandParser::CmdParser.new(ARGV) do
444
443
  EOT
445
444
 
446
445
  command :release, release_desc, [:range, :vmid_list],
447
- :options => [OneVMHelper::SCHEDULE,
448
- OneVMHelper::WEEKLY,
449
- OneVMHelper::MONTHLY,
450
- OneVMHelper::YEARLY,
451
- OneVMHelper::HOURLY,
452
- OneVMHelper::END_TIME] do
446
+ :options => OpenNebulaHelper::SCHEDULE_OPTIONS do
453
447
  if !options[:schedule].nil?
454
448
  helper.schedule_actions(args[0], options, @comm_name)
455
449
  else
@@ -512,13 +506,8 @@ CommandParser::CmdParser.new(ARGV) do
512
506
  EOT
513
507
 
514
508
  command :terminate, terminate_desc, [:range, :vmid_list],
515
- :options => [OneVMHelper::SCHEDULE,
516
- OneVMHelper::WEEKLY,
517
- OneVMHelper::MONTHLY,
518
- OneVMHelper::YEARLY,
519
- OneVMHelper::HOURLY,
520
- OneVMHelper::END_TIME,
521
- OneVMHelper::HARD] do
509
+ :options => OpenNebulaHelper::SCHEDULE_OPTIONS +
510
+ [OneVMHelper::HARD] do
522
511
  command_name = 'terminate'
523
512
  command_name << '-hard' if options[:hard]
524
513
 
@@ -540,13 +529,8 @@ CommandParser::CmdParser.new(ARGV) do
540
529
  EOT
541
530
 
542
531
  command :undeploy, undeploy_desc, [:range, :vmid_list],
543
- :options => [OneVMHelper::SCHEDULE,
544
- OneVMHelper::WEEKLY,
545
- OneVMHelper::MONTHLY,
546
- OneVMHelper::YEARLY,
547
- OneVMHelper::HOURLY,
548
- OneVMHelper::END_TIME,
549
- OneVMHelper::HARD] do
532
+ :options => OpenNebulaHelper::SCHEDULE_OPTIONS +
533
+ [OneVMHelper::HARD] do
550
534
  command_name = 'undeploy'
551
535
  command_name << '-hard' if options[:hard]
552
536
 
@@ -567,13 +551,8 @@ CommandParser::CmdParser.new(ARGV) do
567
551
  EOT
568
552
 
569
553
  command :poweroff, poweroff_desc, [:range, :vmid_list],
570
- :options => [OneVMHelper::SCHEDULE,
571
- OneVMHelper::WEEKLY,
572
- OneVMHelper::MONTHLY,
573
- OneVMHelper::YEARLY,
574
- OneVMHelper::HOURLY,
575
- OneVMHelper::END_TIME,
576
- OneVMHelper::HARD] do
554
+ :options => OpenNebulaHelper::SCHEDULE_OPTIONS +
555
+ [OneVMHelper::HARD] do
577
556
  command_name = 'poweroff'
578
557
  command_name << '-hard' if options[:hard]
579
558
 
@@ -596,13 +575,8 @@ CommandParser::CmdParser.new(ARGV) do
596
575
  EOT
597
576
 
598
577
  command :reboot, reboot_desc, [:range, :vmid_list],
599
- :options => [OneVMHelper::SCHEDULE,
600
- OneVMHelper::WEEKLY,
601
- OneVMHelper::MONTHLY,
602
- OneVMHelper::YEARLY,
603
- OneVMHelper::HOURLY,
604
- OneVMHelper::END_TIME,
605
- OneVMHelper::HARD] do
578
+ :options => OpenNebulaHelper::SCHEDULE_OPTIONS +
579
+ [OneVMHelper::HARD] do
606
580
  command_name = 'reboot'
607
581
  command_name << '-hard' if options[:hard]
608
582
 
@@ -620,6 +594,8 @@ CommandParser::CmdParser.new(ARGV) do
620
594
  deployment, in a standard installation the Scheduler is in charge
621
595
  of this decision
622
596
 
597
+ #{OpenNebulaHelper::TEMPLATE_INPUT}
598
+
623
599
  States: PENDING, HOLD, STOPPED, UNDEPLOYED
624
600
  EOT
625
601
 
@@ -628,7 +604,7 @@ CommandParser::CmdParser.new(ARGV) do
628
604
  [:range, :vmid_list],
629
605
  :hostid,
630
606
  [:datastoreid, nil],
631
- :options => [ENFORCE, OneVMHelper::FILE] do
607
+ :options => [ENFORCE, OpenNebulaHelper::FILE] do
632
608
  host_id = args[1]
633
609
  verbose = "deploying in host #{host_id}"
634
610
 
@@ -639,6 +615,8 @@ CommandParser::CmdParser.new(ARGV) do
639
615
 
640
616
  if options[:file]
641
617
  extra_template = File.read(options[:file])
618
+ elsif STDIN.wait_readable(0)
619
+ extra_template = STDIN.read
642
620
  end
643
621
 
644
622
  helper.perform_actions(args[0], options, verbose) do |vm|
@@ -680,12 +658,7 @@ CommandParser::CmdParser.new(ARGV) do
680
658
  EOT
681
659
 
682
660
  command :stop, stop_desc, [:range, :vmid_list],
683
- :options => [OneVMHelper::SCHEDULE,
684
- OneVMHelper::WEEKLY,
685
- OneVMHelper::MONTHLY,
686
- OneVMHelper::YEARLY,
687
- OneVMHelper::HOURLY,
688
- OneVMHelper::END_TIME] do
661
+ :options => OpenNebulaHelper::SCHEDULE_OPTIONS do
689
662
  if !options[:schedule].nil?
690
663
  helper.schedule_actions(args[0], options, @comm_name)
691
664
  else
@@ -705,12 +678,7 @@ CommandParser::CmdParser.new(ARGV) do
705
678
  EOT
706
679
 
707
680
  command :suspend, suspend_desc, [:range, :vmid_list],
708
- :options => [OneVMHelper::SCHEDULE,
709
- OneVMHelper::WEEKLY,
710
- OneVMHelper::MONTHLY,
711
- OneVMHelper::YEARLY,
712
- OneVMHelper::HOURLY,
713
- OneVMHelper::END_TIME] do
681
+ :options => OpenNebulaHelper::SCHEDULE_OPTIONS do
714
682
  if !options[:schedule].nil?
715
683
  helper.schedule_actions(args[0], options, @comm_name)
716
684
  else
@@ -727,12 +695,7 @@ CommandParser::CmdParser.new(ARGV) do
727
695
  EOT
728
696
 
729
697
  command :resume, resume_desc, [:range, :vmid_list],
730
- :options => [OneVMHelper::SCHEDULE,
731
- OneVMHelper::WEEKLY,
732
- OneVMHelper::MONTHLY,
733
- OneVMHelper::YEARLY,
734
- OneVMHelper::HOURLY,
735
- OneVMHelper::END_TIME] do
698
+ :options => OpenNebulaHelper::SCHEDULE_OPTIONS do
736
699
  if !options[:schedule].nil?
737
700
  helper.schedule_actions(args[0], options, @comm_name)
738
701
  else
@@ -799,25 +762,21 @@ CommandParser::CmdParser.new(ARGV) do
799
762
  end
800
763
 
801
764
  disk_attach_desc = <<-EOT.unindent
802
- Attaches a disk to a running VM. When using --file add only one
803
- DISK instance.
765
+ Attaches a disk to a running VM.
766
+
767
+ #{OneVMHelper.template_input_help('DISK')}
804
768
 
805
769
  States: RUNNING, POWEROFF
806
770
  EOT
807
771
 
808
772
  command :"disk-attach", disk_attach_desc, :vmid,
809
- :options => [OneVMHelper::FILE, OneVMHelper::IMAGE,
773
+ :options => [OpenNebulaHelper::FILE, OneVMHelper::IMAGE,
810
774
  TARGET, CACHE, DISCARD, PREFIX] do
811
- if options[:file].nil? && options[:image].nil?
812
- STDERR.puts 'Provide a template file or an image:'
813
- STDERR.puts '\t--file <file>'
814
- STDERR.puts '\t--image <image>'
815
- exit(-1)
816
- end
817
-
818
775
  if options[:file]
819
776
  template = File.read(options[:file])
820
- else
777
+ elsif STDIN.wait_readable(0)
778
+ template = STDIN.read
779
+ elsif options[:image]
821
780
  image_id = options[:image]
822
781
  target = options[:target]
823
782
  prefix = options[:prefix]
@@ -839,6 +798,11 @@ CommandParser::CmdParser.new(ARGV) do
839
798
  end
840
799
 
841
800
  template << ' ]'
801
+ else
802
+ STDERR.puts 'Provide a template or an image:'
803
+ STDERR.puts '\t--file <file>'
804
+ STDERR.puts '\t--image <image>'
805
+ exit(-1)
842
806
  end
843
807
 
844
808
  helper.perform_action(args[0], options, 'Attaching disk') do |vm|
@@ -861,37 +825,35 @@ CommandParser::CmdParser.new(ARGV) do
861
825
  end
862
826
 
863
827
  nic_attach_desc = <<-EOT.unindent
864
- Attaches a NIC to a VM. When using --file add only one NIC instance.
828
+ Attaches a NIC to a VM.
829
+
830
+ To attach a nic alias
831
+ #{OneVMHelper.template_input_help('NIC')}
865
832
 
866
833
  To hotplug a PCI device and use it as a NIC interface in the VM select
867
834
  it with --pci (short_address) or --pci_device (device ID),
868
835
  --pci_class (class ID) and/or --pci_vendor (vendor ID).
869
836
 
870
- To attach a nic alias, use --file or --alias option.
871
-
872
837
  States: RUNNING, POWEROFF
873
838
  EOT
874
839
 
875
840
  command :"nic-attach", nic_attach_desc, :vmid,
876
- :options => [OneVMHelper::FILE,
877
- OneVMHelper::NETWORK,
878
- OneVMHelper::IP,
879
- OneVMHelper::ALIAS,
880
- OneVMHelper::NIC_NAME,
881
- PCI,
882
- PCI_CLASS,
883
- PCI_VENDOR,
884
- PCI_DEVICE] do
885
- if options[:file].nil? && options[:network].nil?
886
- STDERR.puts 'Provide a template file or a network:'
887
- STDERR.puts "\t--file <file>"
888
- STDERR.puts "\t--network <network>"
889
- exit(-1)
890
- end
891
-
841
+ :options => [
842
+ OpenNebulaHelper::FILE,
843
+ OneVMHelper::NETWORK,
844
+ OneVMHelper::IP,
845
+ OneVMHelper::ALIAS,
846
+ OneVMHelper::NIC_NAME,
847
+ PCI,
848
+ PCI_CLASS,
849
+ PCI_VENDOR,
850
+ PCI_DEVICE
851
+ ] do
892
852
  if options[:file]
893
853
  template = File.read(options[:file])
894
- else
854
+ elsif STDIN.wait_readable(0)
855
+ template = STDIN.read
856
+ elsif options[:network]
895
857
  network_id = options[:network]
896
858
  ip = options[:ip]
897
859
  nic_alias = options[:alias]
@@ -923,6 +885,11 @@ CommandParser::CmdParser.new(ARGV) do
923
885
  template << ", IP = #{ip}" if ip
924
886
  template << ", NAME = #{nic_name}" if nic_name
925
887
  template << ']'
888
+ else
889
+ STDERR.puts 'Provide a network or a template:'
890
+ STDERR.puts "\t--file <file>"
891
+ STDERR.puts "\t--network <network>"
892
+ exit(-1)
926
893
  end
927
894
 
928
895
  helper.perform_action(args[0], options, 'Attaching NIC') do |vm|
@@ -1084,12 +1051,7 @@ CommandParser::CmdParser.new(ARGV) do
1084
1051
  EOT
1085
1052
 
1086
1053
  command :"snapshot-create", snapshot_create_desc, [:range, :vmid_list],
1087
- [:name, nil], :options => [OneVMHelper::SCHEDULE,
1088
- OneVMHelper::WEEKLY,
1089
- OneVMHelper::MONTHLY,
1090
- OneVMHelper::YEARLY,
1091
- OneVMHelper::HOURLY,
1092
- OneVMHelper::END_TIME] do
1054
+ [:name, nil], :options => OpenNebulaHelper::SCHEDULE_OPTIONS do
1093
1055
  if !options[:schedule].nil?
1094
1056
  # add name as an argument
1095
1057
  options[:args] = args[1]
@@ -1108,12 +1070,7 @@ CommandParser::CmdParser.new(ARGV) do
1108
1070
  EOT
1109
1071
 
1110
1072
  command :"snapshot-revert", snapshot_revert_desc, :vmid, :snapshot_id,
1111
- :options => [OneVMHelper::SCHEDULE,
1112
- OneVMHelper::WEEKLY,
1113
- OneVMHelper::MONTHLY,
1114
- OneVMHelper::YEARLY,
1115
- OneVMHelper::HOURLY,
1116
- OneVMHelper::END_TIME] do
1073
+ :options => OpenNebulaHelper::SCHEDULE_OPTIONS do
1117
1074
  if !options[:schedule].nil?
1118
1075
  # add snap ID as an argument
1119
1076
  options[:args] = args[1]
@@ -1132,12 +1089,7 @@ CommandParser::CmdParser.new(ARGV) do
1132
1089
  EOT
1133
1090
 
1134
1091
  command :"snapshot-delete", snapshot_delete_desc, :vmid, :snapshot_id,
1135
- :options => [OneVMHelper::SCHEDULE,
1136
- OneVMHelper::WEEKLY,
1137
- OneVMHelper::MONTHLY,
1138
- OneVMHelper::YEARLY,
1139
- OneVMHelper::HOURLY,
1140
- OneVMHelper::END_TIME] do
1092
+ :options => OpenNebulaHelper::SCHEDULE_OPTIONS do
1141
1093
  if !options[:schedule].nil?
1142
1094
  # add snap ID as an argument
1143
1095
  options[:args] = args[1]
@@ -1159,12 +1111,7 @@ CommandParser::CmdParser.new(ARGV) do
1159
1111
 
1160
1112
  command :"disk-snapshot-create", disk_snapshot_create_desc,
1161
1113
  :vmid, :diskid, :name,
1162
- :options => [OneVMHelper::SCHEDULE,
1163
- OneVMHelper::WEEKLY,
1164
- OneVMHelper::MONTHLY,
1165
- OneVMHelper::YEARLY,
1166
- OneVMHelper::HOURLY,
1167
- OneVMHelper::END_TIME] do
1114
+ :options => OpenNebulaHelper::SCHEDULE_OPTIONS do
1168
1115
  if !options[:schedule].nil?
1169
1116
  # add disk ID and name as arguments
1170
1117
  options[:args] = "#{args[1]},#{args[2]}"
@@ -1186,12 +1133,7 @@ CommandParser::CmdParser.new(ARGV) do
1186
1133
 
1187
1134
  command :"disk-snapshot-revert", disk_snapshot_revert_desc,
1188
1135
  :vmid, :diskid, :disk_snapshot_id,
1189
- :options => [OneVMHelper::SCHEDULE,
1190
- OneVMHelper::WEEKLY,
1191
- OneVMHelper::MONTHLY,
1192
- OneVMHelper::YEARLY,
1193
- OneVMHelper::HOURLY,
1194
- OneVMHelper::END_TIME] do
1136
+ :options => OpenNebulaHelper::SCHEDULE_OPTIONS do
1195
1137
  if !options[:schedule].nil?
1196
1138
  # add disk ID and snap ID as arguments
1197
1139
  options[:args] = "#{args[1]},#{args[2]}"
@@ -1213,12 +1155,7 @@ CommandParser::CmdParser.new(ARGV) do
1213
1155
 
1214
1156
  command :"disk-snapshot-delete", disk_snapshot_delete_desc,
1215
1157
  :vmid, :diskid, :disk_snapshot_id,
1216
- :options => [OneVMHelper::SCHEDULE,
1217
- OneVMHelper::WEEKLY,
1218
- OneVMHelper::MONTHLY,
1219
- OneVMHelper::YEARLY,
1220
- OneVMHelper::HOURLY,
1221
- OneVMHelper::END_TIME] do
1158
+ :options => OpenNebulaHelper::SCHEDULE_OPTIONS do
1222
1159
  if !options[:schedule].nil?
1223
1160
  # add disk ID and snap ID as arguments
1224
1161
  options[:args] = "#{args[1]},#{args[2]}"
@@ -1278,7 +1215,7 @@ CommandParser::CmdParser.new(ARGV) do
1278
1215
  end
1279
1216
 
1280
1217
  list_desc = <<-EOT.unindent
1281
- Lists VMs in the pool
1218
+ Lists VMs in the pool. #{OneVMHelper.list_layout_help}
1282
1219
  EOT
1283
1220
 
1284
1221
  command :list, list_desc, [:filterflag, nil],
@@ -1333,13 +1270,15 @@ CommandParser::CmdParser.new(ARGV) do
1333
1270
  Resizes the capacity of a Virtual Machine (offline, the VM cannot be
1334
1271
  RUNNING)
1335
1272
 
1273
+ #{OpenNebulaHelper::TEMPLATE_INPUT}
1336
1274
  EOT
1337
1275
 
1338
1276
  command :resize, resize_desc, :vmid,
1339
- :options => OpenNebulaHelper::CAPACITY_OPTIONS_VM +
1340
- [ENFORCE, OneVMHelper::FILE] do
1277
+ :options => OpenNebulaHelper::CAPACITY_OPTIONS_VM + [ENFORCE, OpenNebulaHelper::FILE] do
1341
1278
  if options[:file]
1342
1279
  template = File.read(options[:file])
1280
+ elsif STDIN.wait_readable(0)
1281
+ template = STDIN.read
1343
1282
  else
1344
1283
  template = ''
1345
1284
 
@@ -1392,13 +1331,16 @@ CommandParser::CmdParser.new(ARGV) do
1392
1331
  In running state only changes in CONTEXT and BACKUP_CONFIG take effect
1393
1332
  immediately, other values may need a VM restart.
1394
1333
 
1395
- This command accepts a template file or opens an editor, the full list of
1396
- configuration attributes are:
1334
+ This command accepts a template or opens an editor.
1335
+ #{OpenNebulaHelper::TEMPLATE_INPUT}
1336
+
1337
+ The full list of configuration attributes are:
1397
1338
 
1398
1339
  OS = ["ARCH", "MACHINE", "KERNEL", "INITRD", "BOOTLOADER", "BOOT", "UUID"]
1399
1340
  FEATURES = ["ACPI", "PAE", "APIC", "LOCALTIME", "HYPERV", "GUEST_AGENT", "IOTHREADS"]
1400
1341
  INPUT = ["TYPE", "BUS"]
1401
1342
  GRAPHICS = ["TYPE", "LISTEN", "PASSWD", "KEYMAP" ]
1343
+ VIDEO = ["TYPE", "IOMMU", "ATS", "VRAM", "RESOLUTION"]
1402
1344
  RAW = ["DATA", "DATA_VMX", "TYPE", "VALIDATE"]
1403
1345
  CPU_MODEL = ["MODEL"]
1404
1346
  BACKUP_CONFIG = ["FS_FREEZE", "KEEP_LAST", "BACKUP_VOLATILE", "MODE"]
@@ -1411,6 +1353,7 @@ CommandParser::CmdParser.new(ARGV) do
1411
1353
 
1412
1354
  begin
1413
1355
  template = File.read(args[1]) if args[1]
1356
+ template = STDIN.read if STDIN.wait_readable(0)
1414
1357
  rescue StandardError => e
1415
1358
  STDERR.puts "Error reading template: #{e.message}."
1416
1359
  exit(-1)
@@ -1430,8 +1373,8 @@ CommandParser::CmdParser.new(ARGV) do
1430
1373
  'BACKUP_CONFIG')
1431
1374
  template = vm.template_like_str('TEMPLATE', true,
1432
1375
  'OS | FEATURES | INPUT | '\
1433
- 'GRAPHICS | RAW | CONTEXT | '\
1434
- 'CPU_MODEL')
1376
+ 'GRAPHICS | VIDEO | RAW | '\
1377
+ 'CONTEXT | CPU_MODEL')
1435
1378
 
1436
1379
  template << "\n" << backup
1437
1380
 
@@ -1485,11 +1428,11 @@ CommandParser::CmdParser.new(ARGV) do
1485
1428
  create_chart_desc = <<-EOT.unindent
1486
1429
  Adds a charter to the VM, these are some consecutive scheduled actions
1487
1430
 
1488
- You can configure the actions in /etc/one/cli/onevm.yaml
1431
+ You can configure the actions in #{OneVMHelper.conf_file}
1489
1432
  EOT
1490
1433
 
1491
1434
  command :'create-chart', create_chart_desc, :vmid do
1492
- charters = helper.get_charters
1435
+ charters = helper.charters
1493
1436
 
1494
1437
  if charters.nil?
1495
1438
  STDERR.puts 'No charters found on configuration file'
@@ -1512,10 +1455,7 @@ CommandParser::CmdParser.new(ARGV) do
1512
1455
  action.to_s,
1513
1456
  time[:warning][:time] + acc_w)
1514
1457
 
1515
- if OpenNebula.is_error?(rc)
1516
- STDERR.puts rc.message
1517
- exit(-1)
1518
- end
1458
+ exit(-1) if rc < 0
1519
1459
 
1520
1460
  acc_t += time[:time].to_i
1521
1461
  acc_w += time[:warning][:time].to_i
@@ -1551,7 +1491,38 @@ CommandParser::CmdParser.new(ARGV) do
1551
1491
  :vmid,
1552
1492
  :sched_id,
1553
1493
  [:file, nil] do
1554
- helper.update_schedule_action(args[0], args[1], args[2])
1494
+ helper.update_schedule_action(args[0], args[1], args[2], options)
1495
+
1496
+ 0
1497
+ end
1498
+
1499
+ sched_delete_desc = <<-EOT.unindent
1500
+ Deletes a Scheduled Action from the VM
1501
+ EOT
1502
+
1503
+ command :'sched-delete', sched_delete_desc, :vmid, :sched_id do
1504
+ helper.perform_action(args[0], {}, 'Scheduled Action deleted') do |vm|
1505
+ rc = vm.sched_action_delete(args[1])
1506
+
1507
+ if OpenNebula.is_error?(rc)
1508
+ STDERR.puts "Error deleting: #{rc.message}"
1509
+ exit(-1)
1510
+ end
1511
+ end
1512
+
1513
+ 0
1514
+ end
1515
+
1516
+ sched_update_desc = <<-EOT.unindent
1517
+ Updates a Scheduled Action from a VM
1518
+ EOT
1519
+
1520
+ command :'sched-update',
1521
+ sched_update_desc,
1522
+ :vmid,
1523
+ :sched_id,
1524
+ [:file, nil] do
1525
+ helper.update_schedule_action(args[0], args[1], args[2], options)
1555
1526
 
1556
1527
  0
1557
1528
  end
@@ -1566,19 +1537,14 @@ CommandParser::CmdParser.new(ARGV) do
1566
1537
  backup_vm_desc,
1567
1538
  :vmid,
1568
1539
  :options => [RESET_BACKUP,
1569
- OneDatastoreHelper::DATASTORE,
1570
- OneVMHelper::SCHEDULE,
1571
- OneVMHelper::WEEKLY,
1572
- OneVMHelper::MONTHLY,
1573
- OneVMHelper::YEARLY,
1574
- OneVMHelper::HOURLY,
1575
- OneVMHelper::END_TIME] do
1540
+ OneDatastoreHelper::DATASTORE] +
1541
+ OpenNebulaHelper::SCHEDULE_OPTIONS do
1576
1542
  options[:datastore] = -1 if options[:datastore].nil?
1577
1543
 
1578
1544
  reset = options[:reset] == true
1579
1545
 
1580
1546
  if !options[:schedule].nil?
1581
- options[:args] = options[:datastore]
1547
+ options[:args] = "#{options[:datastore]},#{reset ? 1 : 0}"
1582
1548
 
1583
1549
  helper.schedule_actions([args[0]], options, @comm_name)
1584
1550
  else
@@ -1716,8 +1682,8 @@ CommandParser::CmdParser.new(ARGV) do
1716
1682
  end
1717
1683
  end
1718
1684
 
1719
- # Deprecated commands
1685
+ # Deprecated commands, remove these commands in release 8.x
1720
1686
 
1721
- deprecated_command(:shutdown, 'terminate')
1722
- deprecated_command(:delete, 'recover')
1687
+ deprecated_command(:'delete-chart', 'sched-delete')
1688
+ deprecated_command(:'update-chart', 'sched-update')
1723
1689
  end