opennebula-cli 5.10.4 → 5.12.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 +4 -4
- data/bin/oneacct +2 -1
- data/bin/oneacl +2 -1
- data/bin/onecluster +2 -1
- data/bin/onedatastore +2 -1
- data/bin/oneflow +149 -551
- data/bin/oneflow-template +171 -292
- data/bin/onegroup +2 -1
- data/bin/onehook +2 -1
- data/bin/onehost +76 -9
- data/bin/oneimage +2 -1
- data/bin/onemarket +2 -1
- data/bin/onemarketapp +15 -3
- data/bin/onesecgroup +2 -1
- data/bin/oneshowback +2 -1
- data/bin/onetemplate +2 -1
- data/bin/oneuser +2 -1
- data/bin/onevcenter +2 -1
- data/bin/onevdc +2 -1
- data/bin/onevm +88 -16
- data/bin/onevmgroup +2 -1
- data/bin/onevnet +11 -3
- data/bin/onevntemplate +2 -1
- data/bin/onevrouter +2 -1
- data/bin/onezone +5 -1
- data/lib/cli_helper.rb +54 -30
- data/lib/command_parser.rb +33 -14
- data/lib/one_helper.rb +258 -6
- data/lib/one_helper/oneacct_helper.rb +1 -1
- data/lib/one_helper/oneacl_helper.rb +1 -1
- data/lib/one_helper/onecluster_helper.rb +4 -4
- data/lib/one_helper/onedatastore_helper.rb +1 -1
- data/lib/one_helper/oneflow_helper.rb +419 -0
- data/lib/one_helper/oneflowtemplate_helper.rb +312 -0
- data/lib/one_helper/onegroup_helper.rb +1 -1
- data/lib/one_helper/onehook_helper.rb +1 -1
- data/lib/one_helper/onehost_helper.rb +148 -68
- data/lib/one_helper/oneimage_helper.rb +2 -2
- data/lib/one_helper/onemarket_helper.rb +1 -1
- data/lib/one_helper/onemarketapp_helper.rb +1 -1
- data/lib/one_helper/oneprovision_helper.rb +104 -60
- data/lib/one_helper/onequota_helper.rb +1 -1
- data/lib/one_helper/onesecgroup_helper.rb +1 -1
- data/lib/one_helper/onetemplate_helper.rb +9 -180
- data/lib/one_helper/oneuser_helper.rb +1 -1
- data/lib/one_helper/onevcenter_helper.rb +2 -1
- data/lib/one_helper/onevdc_helper.rb +1 -1
- data/lib/one_helper/onevm_helper.rb +11 -6
- data/lib/one_helper/onevmgroup_helper.rb +1 -1
- data/lib/one_helper/onevnet_helper.rb +1 -1
- data/lib/one_helper/onevntemplate_helper.rb +1 -1
- data/lib/one_helper/onevrouter_helper.rb +1 -1
- data/lib/one_helper/onezone_helper.rb +3 -1
- metadata +8 -6
data/bin/onegroup
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -28,6 +28,7 @@ end
|
|
28
28
|
|
29
29
|
if File.directory?(GEMS_LOCATION)
|
30
30
|
Gem.use_paths(GEMS_LOCATION)
|
31
|
+
$LOAD_PATH.reject! {|l| l =~ /(vendor|site)_ruby/ }
|
31
32
|
end
|
32
33
|
|
33
34
|
$LOAD_PATH << RUBY_LIB_LOCATION
|
data/bin/onehook
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -28,6 +28,7 @@ end
|
|
28
28
|
|
29
29
|
if File.directory?(GEMS_LOCATION)
|
30
30
|
Gem.use_paths(GEMS_LOCATION)
|
31
|
+
$LOAD_PATH.reject! {|l| l =~ /(vendor|site)_ruby/ }
|
31
32
|
end
|
32
33
|
|
33
34
|
$LOAD_PATH << RUBY_LIB_LOCATION
|
data/bin/onehost
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -30,6 +30,7 @@ end
|
|
30
30
|
|
31
31
|
if File.directory?(GEMS_LOCATION)
|
32
32
|
Gem.use_paths(GEMS_LOCATION)
|
33
|
+
$LOAD_PATH.reject! {|l| l =~ /(vendor|site)_ruby/ }
|
33
34
|
end
|
34
35
|
|
35
36
|
$LOAD_PATH << RUBY_LIB_LOCATION
|
@@ -77,13 +78,12 @@ CommandParser::CmdParser.new(ARGV) do
|
|
77
78
|
:description => 'Force probe upgrade in onehost sync'
|
78
79
|
}
|
79
80
|
|
80
|
-
|
81
|
-
:name => '
|
82
|
-
:large => '--
|
83
|
-
:description => 'Use
|
84
|
-
'probes are no longer in the fronted
|
85
|
-
'deleted in the hosts.
|
86
|
-
'installed in the frontend and nodes.'
|
81
|
+
SSH = {
|
82
|
+
:name => 'ssh',
|
83
|
+
:large => '--ssh',
|
84
|
+
:description => 'Use SSH to synchronize remotes. In case some '\
|
85
|
+
'probes are no longer in the fronted they will be '\
|
86
|
+
'deleted in the hosts.'
|
87
87
|
}
|
88
88
|
|
89
89
|
TYPE = {
|
@@ -95,7 +95,53 @@ CommandParser::CmdParser.new(ARGV) do
|
|
95
95
|
}
|
96
96
|
|
97
97
|
CREAT_OPTIONS = [IM, VMM, OneClusterHelper::CLUSTER, TYPE]
|
98
|
-
SYNC_OPTIONS = [OneClusterHelper::CLUSTER, FORCE,
|
98
|
+
SYNC_OPTIONS = [OneClusterHelper::CLUSTER, FORCE, SSH]
|
99
|
+
|
100
|
+
########################################################################
|
101
|
+
# Monitoring PLOT options
|
102
|
+
########################################################################
|
103
|
+
START_T = {
|
104
|
+
:name => 'start',
|
105
|
+
:large => '--start date',
|
106
|
+
:description => 'Start date to show data',
|
107
|
+
:format => String
|
108
|
+
}
|
109
|
+
|
110
|
+
END_T = {
|
111
|
+
:name => 'end',
|
112
|
+
:large => '--end date',
|
113
|
+
:description => 'End date to show data',
|
114
|
+
:format => String
|
115
|
+
}
|
116
|
+
|
117
|
+
UNIT = {
|
118
|
+
:name => 'unit',
|
119
|
+
:large => '--unit unit',
|
120
|
+
:description => 'Unit to format data',
|
121
|
+
:format => String
|
122
|
+
}
|
123
|
+
|
124
|
+
TABLE = {
|
125
|
+
:name => 'table',
|
126
|
+
:large => '--table',
|
127
|
+
:description => 'Show monitoring information in table format'
|
128
|
+
}
|
129
|
+
|
130
|
+
N_ELEMS = {
|
131
|
+
:name => 'n_elems',
|
132
|
+
:large => '--n elements',
|
133
|
+
:description => 'Number of records to show',
|
134
|
+
:format => Integer
|
135
|
+
}
|
136
|
+
|
137
|
+
CSV_WITH_SEP = {
|
138
|
+
:name => 'csv',
|
139
|
+
:large => '--csv separator',
|
140
|
+
:description => 'Show data in CSV format',
|
141
|
+
:format => String
|
142
|
+
}
|
143
|
+
|
144
|
+
PLOT_OPTS = [START_T, END_T, UNIT, TABLE, N_ELEMS, CSV_WITH_SEP]
|
99
145
|
|
100
146
|
########################################################################
|
101
147
|
# Formatters for arguments
|
@@ -304,4 +350,25 @@ CommandParser::CmdParser.new(ARGV) do
|
|
304
350
|
:options => [OneClusterHelper::CLUSTER] do
|
305
351
|
helper.forceupdate(args[0], options)
|
306
352
|
end
|
353
|
+
|
354
|
+
monitoring_desc = <<-EOT.unindent
|
355
|
+
Show monitoring metrics in a graphic
|
356
|
+
EOT
|
357
|
+
|
358
|
+
command :monitoring,
|
359
|
+
monitoring_desc,
|
360
|
+
:hostid,
|
361
|
+
:attr,
|
362
|
+
:options => PLOT_OPTS do
|
363
|
+
helper.perform_action(args[0], options, 'monitoring') do |host|
|
364
|
+
rc = host.info
|
365
|
+
|
366
|
+
if OpenNebula.is_error?(rc)
|
367
|
+
STDERR.puts rc.message
|
368
|
+
exit(-1)
|
369
|
+
end
|
370
|
+
|
371
|
+
helper.monitoring(host, args[1], options)
|
372
|
+
end
|
373
|
+
end
|
307
374
|
end
|
data/bin/oneimage
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -28,6 +28,7 @@ end
|
|
28
28
|
|
29
29
|
if File.directory?(GEMS_LOCATION)
|
30
30
|
Gem.use_paths(GEMS_LOCATION)
|
31
|
+
$LOAD_PATH.reject! {|l| l =~ /(vendor|site)_ruby/ }
|
31
32
|
end
|
32
33
|
|
33
34
|
$LOAD_PATH << RUBY_LIB_LOCATION
|
data/bin/onemarket
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -28,6 +28,7 @@ end
|
|
28
28
|
|
29
29
|
if File.directory?(GEMS_LOCATION)
|
30
30
|
Gem.use_paths(GEMS_LOCATION)
|
31
|
+
$LOAD_PATH.reject! {|l| l =~ /(vendor|site)_ruby/ }
|
31
32
|
end
|
32
33
|
|
33
34
|
$LOAD_PATH << RUBY_LIB_LOCATION
|
data/bin/onemarketapp
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -30,6 +30,7 @@ end
|
|
30
30
|
|
31
31
|
if File.directory?(GEMS_LOCATION)
|
32
32
|
Gem.use_paths(GEMS_LOCATION)
|
33
|
+
$LOAD_PATH.reject! {|l| l =~ /(vendor|site)_ruby/ }
|
33
34
|
end
|
34
35
|
|
35
36
|
$LOAD_PATH << RUBY_LIB_LOCATION
|
@@ -74,6 +75,13 @@ CommandParser::CmdParser.new(ARGV) do
|
|
74
75
|
:description => 'lock all actions'
|
75
76
|
}
|
76
77
|
|
78
|
+
TAG = {
|
79
|
+
:name => 'tag',
|
80
|
+
:large => '--tag tag',
|
81
|
+
:format => String,
|
82
|
+
:description => 'DockerHub image tag (default latest)'
|
83
|
+
}
|
84
|
+
|
77
85
|
########################################################################
|
78
86
|
# Global Options
|
79
87
|
########################################################################
|
@@ -86,7 +94,8 @@ CommandParser::CmdParser.new(ARGV) do
|
|
86
94
|
|
87
95
|
CREATE_OPTIONS = [OneMarketPlaceHelper::MARKETPLACE]
|
88
96
|
EXPORT_OPTIONS = [OneDatastoreHelper::DATASTORE,
|
89
|
-
OneMarketPlaceAppHelper::VMNAME
|
97
|
+
OneMarketPlaceAppHelper::VMNAME,
|
98
|
+
TAG]
|
90
99
|
|
91
100
|
########################################################################
|
92
101
|
# Formatters for arguments
|
@@ -171,10 +180,13 @@ CommandParser::CmdParser.new(ARGV) do
|
|
171
180
|
|
172
181
|
command :export, export_desc, :appid, :name, :options => EXPORT_OPTIONS do
|
173
182
|
helper.perform_action(args[0], options, 'exported') do |obj|
|
183
|
+
tag ="tag=#{options[:tag]}" if options[:tag]
|
184
|
+
|
174
185
|
rc = obj.export(
|
175
186
|
:dsid => options[:datastore],
|
176
187
|
:name => args[1],
|
177
|
-
:vmtemplate_name => options[:vmname]
|
188
|
+
:vmtemplate_name => options[:vmname],
|
189
|
+
:url_args => tag
|
178
190
|
)
|
179
191
|
|
180
192
|
next rc if OpenNebula.is_error?(rc)
|
data/bin/onesecgroup
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -28,6 +28,7 @@ end
|
|
28
28
|
|
29
29
|
if File.directory?(GEMS_LOCATION)
|
30
30
|
Gem.use_paths(GEMS_LOCATION)
|
31
|
+
$LOAD_PATH.reject! {|l| l =~ /(vendor|site)_ruby/ }
|
31
32
|
end
|
32
33
|
|
33
34
|
$LOAD_PATH << RUBY_LIB_LOCATION
|
data/bin/oneshowback
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -28,6 +28,7 @@ end
|
|
28
28
|
|
29
29
|
if File.directory?(GEMS_LOCATION)
|
30
30
|
Gem.use_paths(GEMS_LOCATION)
|
31
|
+
$LOAD_PATH.reject! {|l| l =~ /(vendor|site)_ruby/ }
|
31
32
|
end
|
32
33
|
|
33
34
|
$LOAD_PATH << RUBY_LIB_LOCATION
|
data/bin/onetemplate
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -28,6 +28,7 @@ end
|
|
28
28
|
|
29
29
|
if File.directory?(GEMS_LOCATION)
|
30
30
|
Gem.use_paths(GEMS_LOCATION)
|
31
|
+
$LOAD_PATH.reject! {|l| l =~ /(vendor|site)_ruby/ }
|
31
32
|
end
|
32
33
|
|
33
34
|
$LOAD_PATH << RUBY_LIB_LOCATION
|
data/bin/oneuser
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -28,6 +28,7 @@ end
|
|
28
28
|
|
29
29
|
if File.directory?(GEMS_LOCATION)
|
30
30
|
Gem.use_paths(GEMS_LOCATION)
|
31
|
+
$LOAD_PATH.reject! {|l| l =~ /(vendor|site)_ruby/ }
|
31
32
|
end
|
32
33
|
|
33
34
|
$LOAD_PATH << RUBY_LIB_LOCATION
|
data/bin/onevcenter
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -30,6 +30,7 @@ end
|
|
30
30
|
|
31
31
|
if File.directory?(GEMS_LOCATION)
|
32
32
|
Gem.use_paths(GEMS_LOCATION)
|
33
|
+
$LOAD_PATH.reject! {|l| l =~ /(vendor|site)_ruby/ }
|
33
34
|
end
|
34
35
|
|
35
36
|
$LOAD_PATH << RUBY_LIB_LOCATION
|
data/bin/onevdc
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -28,6 +28,7 @@ end
|
|
28
28
|
|
29
29
|
if File.directory?(GEMS_LOCATION)
|
30
30
|
Gem.use_paths(GEMS_LOCATION)
|
31
|
+
$LOAD_PATH.reject! {|l| l =~ /(vendor|site)_ruby/ }
|
31
32
|
end
|
32
33
|
|
33
34
|
$LOAD_PATH << RUBY_LIB_LOCATION
|
data/bin/onevm
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# -------------------------------------------------------------------------- #
|
4
|
-
# Copyright 2002-
|
4
|
+
# Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
|
5
5
|
# #
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
7
7
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -28,6 +28,7 @@ end
|
|
28
28
|
|
29
29
|
if File.directory?(GEMS_LOCATION)
|
30
30
|
Gem.use_paths(GEMS_LOCATION)
|
31
|
+
$LOAD_PATH.reject! {|l| l =~ /(vendor|site)_ruby/ }
|
31
32
|
end
|
32
33
|
|
33
34
|
$LOAD_PATH << RUBY_LIB_LOCATION
|
@@ -927,6 +928,9 @@ CommandParser::CmdParser.new(ARGV) do
|
|
927
928
|
OneVMHelper::HOURLY,
|
928
929
|
OneVMHelper::END_TIME] do
|
929
930
|
if !options[:schedule].nil?
|
931
|
+
# add name as an argument
|
932
|
+
options[:args] = args[1]
|
933
|
+
|
930
934
|
helper.schedule_actions(args[0], options, @comm_name)
|
931
935
|
else
|
932
936
|
helper.perform_actions(args[0], options, 'snapshot created') do |o|
|
@@ -940,9 +944,22 @@ CommandParser::CmdParser.new(ARGV) do
|
|
940
944
|
Reverts a VM to a saved snapshot
|
941
945
|
EOT
|
942
946
|
|
943
|
-
command :"snapshot-revert", snapshot_revert_desc, :vmid, :snapshot_id
|
944
|
-
|
945
|
-
|
947
|
+
command :"snapshot-revert", snapshot_revert_desc, :vmid, :snapshot_id,
|
948
|
+
:options => [OneVMHelper::SCHEDULE,
|
949
|
+
OneVMHelper::WEEKLY,
|
950
|
+
OneVMHelper::MONTHLY,
|
951
|
+
OneVMHelper::YEARLY,
|
952
|
+
OneVMHelper::HOURLY,
|
953
|
+
OneVMHelper::END_TIME] do
|
954
|
+
if !options[:schedule].nil?
|
955
|
+
# add snap ID as an argument
|
956
|
+
options[:args] = args[1]
|
957
|
+
|
958
|
+
helper.schedule_actions([args[0]], options, @comm_name)
|
959
|
+
else
|
960
|
+
helper.perform_action(args[0], options, 'snapshot reverted') do |o|
|
961
|
+
o.snapshot_revert(args[1].to_i)
|
962
|
+
end
|
946
963
|
end
|
947
964
|
end
|
948
965
|
|
@@ -951,9 +968,22 @@ CommandParser::CmdParser.new(ARGV) do
|
|
951
968
|
Delets a snapshot of a VM
|
952
969
|
EOT
|
953
970
|
|
954
|
-
command :"snapshot-delete", snapshot_delete_desc, :vmid, :snapshot_id
|
955
|
-
|
956
|
-
|
971
|
+
command :"snapshot-delete", snapshot_delete_desc, :vmid, :snapshot_id,
|
972
|
+
:options => [OneVMHelper::SCHEDULE,
|
973
|
+
OneVMHelper::WEEKLY,
|
974
|
+
OneVMHelper::MONTHLY,
|
975
|
+
OneVMHelper::YEARLY,
|
976
|
+
OneVMHelper::HOURLY,
|
977
|
+
OneVMHelper::END_TIME] do
|
978
|
+
if !options[:schedule].nil?
|
979
|
+
# add snap ID as an argument
|
980
|
+
options[:args] = args[1]
|
981
|
+
|
982
|
+
helper.schedule_actions([args[0]], options, @comm_name)
|
983
|
+
else
|
984
|
+
helper.perform_action(args[0], options, 'snapshot deleted') do |o|
|
985
|
+
o.snapshot_delete(args[1])
|
986
|
+
end
|
957
987
|
end
|
958
988
|
end
|
959
989
|
|
@@ -965,9 +995,23 @@ CommandParser::CmdParser.new(ARGV) do
|
|
965
995
|
EOT
|
966
996
|
|
967
997
|
command :"disk-snapshot-create", disk_snapshot_create_desc,
|
968
|
-
:vmid, :diskid, :name
|
969
|
-
|
970
|
-
|
998
|
+
:vmid, :diskid, :name,
|
999
|
+
:options => [OneVMHelper::SCHEDULE,
|
1000
|
+
OneVMHelper::WEEKLY,
|
1001
|
+
OneVMHelper::MONTHLY,
|
1002
|
+
OneVMHelper::YEARLY,
|
1003
|
+
OneVMHelper::HOURLY,
|
1004
|
+
OneVMHelper::END_TIME] do
|
1005
|
+
if !options[:schedule].nil?
|
1006
|
+
# add disk ID and name as arguments
|
1007
|
+
options[:args] = "#{args[1]},#{args[2]}"
|
1008
|
+
|
1009
|
+
helper.schedule_actions([args[0]], options, @comm_name)
|
1010
|
+
else
|
1011
|
+
helper.perform_action(args[0], options,
|
1012
|
+
'disk snapshot created') do |o|
|
1013
|
+
o.disk_snapshot_create(args[1].to_i, args[2])
|
1014
|
+
end
|
971
1015
|
end
|
972
1016
|
end
|
973
1017
|
|
@@ -978,9 +1022,23 @@ CommandParser::CmdParser.new(ARGV) do
|
|
978
1022
|
EOT
|
979
1023
|
|
980
1024
|
command :"disk-snapshot-revert", disk_snapshot_revert_desc,
|
981
|
-
:vmid, :diskid, :disk_snapshot_id
|
982
|
-
|
983
|
-
|
1025
|
+
:vmid, :diskid, :disk_snapshot_id,
|
1026
|
+
:options => [OneVMHelper::SCHEDULE,
|
1027
|
+
OneVMHelper::WEEKLY,
|
1028
|
+
OneVMHelper::MONTHLY,
|
1029
|
+
OneVMHelper::YEARLY,
|
1030
|
+
OneVMHelper::HOURLY,
|
1031
|
+
OneVMHelper::END_TIME] do
|
1032
|
+
if !options[:schedule].nil?
|
1033
|
+
# add disk ID and snap ID as arguments
|
1034
|
+
options[:args] = "#{args[1]},#{args[2]}"
|
1035
|
+
|
1036
|
+
helper.schedule_actions([args[0]], options, @comm_name)
|
1037
|
+
else
|
1038
|
+
helper.perform_action(args[0], options,
|
1039
|
+
'disk snapshot reverted') do |o|
|
1040
|
+
o.disk_snapshot_revert(args[1].to_i, args[2].to_i)
|
1041
|
+
end
|
984
1042
|
end
|
985
1043
|
end
|
986
1044
|
|
@@ -991,9 +1049,23 @@ CommandParser::CmdParser.new(ARGV) do
|
|
991
1049
|
EOT
|
992
1050
|
|
993
1051
|
command :"disk-snapshot-delete", disk_snapshot_delete_desc,
|
994
|
-
:vmid, :diskid, :disk_snapshot_id
|
995
|
-
|
996
|
-
|
1052
|
+
:vmid, :diskid, :disk_snapshot_id,
|
1053
|
+
:options => [OneVMHelper::SCHEDULE,
|
1054
|
+
OneVMHelper::WEEKLY,
|
1055
|
+
OneVMHelper::MONTHLY,
|
1056
|
+
OneVMHelper::YEARLY,
|
1057
|
+
OneVMHelper::HOURLY,
|
1058
|
+
OneVMHelper::END_TIME] do
|
1059
|
+
if !options[:schedule].nil?
|
1060
|
+
# add disk ID and snap ID as arguments
|
1061
|
+
options[:args] = "#{args[1]},#{args[2]}"
|
1062
|
+
|
1063
|
+
helper.schedule_actions([args[0]], options, @comm_name)
|
1064
|
+
else
|
1065
|
+
helper.perform_action(args[0], options,
|
1066
|
+
'disk snapshot deleted') do |o|
|
1067
|
+
o.disk_snapshot_delete(args[1].to_i, args[2].to_i)
|
1068
|
+
end
|
997
1069
|
end
|
998
1070
|
end
|
999
1071
|
|