opennebula-cli 5.6.2 → 5.7.80.pre
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 +37 -35
- data/bin/oneacl +15 -15
- data/bin/onecluster +31 -31
- data/bin/onedatastore +35 -35
- data/bin/oneflow +274 -237
- data/bin/oneflow-template +161 -138
- data/bin/onegroup +32 -30
- data/bin/onehost +68 -63
- data/bin/oneimage +92 -81
- data/bin/onemarket +31 -29
- data/bin/onemarketapp +83 -75
- data/bin/onesecgroup +37 -33
- data/bin/oneshowback +40 -43
- data/bin/onetemplate +73 -70
- data/bin/oneuser +171 -158
- data/bin/onevcenter +70 -64
- data/bin/onevdc +61 -45
- data/bin/onevm +396 -260
- data/bin/onevmgroup +47 -47
- data/bin/onevnet +94 -158
- data/bin/onevntemplate +361 -0
- data/bin/onevrouter +76 -70
- data/bin/onezone +30 -31
- data/lib/one_helper.rb +106 -22
- data/lib/one_helper/oneacl_helper.rb +6 -4
- data/lib/one_helper/onevcenter_helper.rb +1 -1
- data/lib/one_helper/onevm_helper.rb +134 -91
- data/lib/one_helper/onevnet_helper.rb +20 -8
- data/lib/one_helper/onevntemplate_helper.rb +104 -0
- metadata +9 -6
data/bin/onegroup
CHANGED
@@ -16,22 +16,22 @@
|
|
16
16
|
# limitations under the License. #
|
17
17
|
#--------------------------------------------------------------------------- #
|
18
18
|
|
19
|
-
ONE_LOCATION=ENV[
|
19
|
+
ONE_LOCATION = ENV['ONE_LOCATION']
|
20
20
|
|
21
21
|
if !ONE_LOCATION
|
22
|
-
RUBY_LIB_LOCATION=
|
22
|
+
RUBY_LIB_LOCATION = '/usr/lib/one/ruby'
|
23
23
|
else
|
24
|
-
RUBY_LIB_LOCATION=ONE_LOCATION+
|
24
|
+
RUBY_LIB_LOCATION = ONE_LOCATION + '/lib/ruby'
|
25
25
|
end
|
26
26
|
|
27
|
-
|
28
|
-
|
27
|
+
$LOAD_PATH << RUBY_LIB_LOCATION
|
28
|
+
$LOAD_PATH << RUBY_LIB_LOCATION + '/cli'
|
29
29
|
|
30
30
|
require 'command_parser'
|
31
31
|
require 'one_helper/onegroup_helper'
|
32
32
|
|
33
|
-
|
34
|
-
usage
|
33
|
+
CommandParser::CmdParser.new(ARGV) do
|
34
|
+
usage '`onegroup` <command> [<args>] [<options>]'
|
35
35
|
version OpenNebulaHelper::ONE_VERSION
|
36
36
|
|
37
37
|
helper = OneGroupHelper.new
|
@@ -43,7 +43,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
43
43
|
########################################################################
|
44
44
|
# Global Options
|
45
45
|
########################################################################
|
46
|
-
set :option, CommandParser::OPTIONS+OpenNebulaHelper::CLIENT_OPTIONS
|
46
|
+
set :option, CommandParser::OPTIONS + OpenNebulaHelper::CLIENT_OPTIONS
|
47
47
|
|
48
48
|
list_options = CLIHelper::OPTIONS
|
49
49
|
list_options << OpenNebulaHelper::XML
|
@@ -61,8 +61,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
61
61
|
helper.list_to_id(arg)
|
62
62
|
end
|
63
63
|
|
64
|
-
set :format, :userid, OpenNebulaHelper.rname_to_id_desc(
|
65
|
-
OpenNebulaHelper.rname_to_id(arg,
|
64
|
+
set :format, :userid, OpenNebulaHelper.rname_to_id_desc('USER') do |arg|
|
65
|
+
OpenNebulaHelper.rname_to_id(arg, 'USER')
|
66
66
|
end
|
67
67
|
|
68
68
|
########################################################################
|
@@ -89,14 +89,16 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
89
89
|
|
90
90
|
if options && options[:admin_user]
|
91
91
|
if !options[:admin_password]
|
92
|
-
STDERR.puts
|
92
|
+
STDERR.puts 'Admin user needs password'
|
93
93
|
next -1
|
94
94
|
end
|
95
95
|
|
96
|
-
admin_user=
|
96
|
+
admin_user = {}
|
97
97
|
admin_user[:name] = options[:admin_user]
|
98
98
|
admin_user[:password] = options[:admin_password]
|
99
|
-
|
99
|
+
if options[:admin_driver]
|
100
|
+
admin_user[:auth_driver] = options[:admin_driver]
|
101
|
+
end
|
100
102
|
|
101
103
|
options[:group_admin] = admin_user
|
102
104
|
end
|
@@ -107,8 +109,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
107
109
|
elsif options[:name]
|
108
110
|
helper.create_complete_resource(options)
|
109
111
|
else
|
110
|
-
STDERR.puts
|
111
|
-
|
112
|
+
STDERR.puts 'Please use either a group name or command arguments.'\
|
113
|
+
' Run onegroup create -h for more information'
|
112
114
|
next -1
|
113
115
|
end
|
114
116
|
end
|
@@ -119,8 +121,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
119
121
|
EOT
|
120
122
|
|
121
123
|
command :update, update_desc, :groupid, [:file, nil],
|
122
|
-
|
123
|
-
helper.perform_action(args[0],options,
|
124
|
+
:options => OpenNebulaHelper::APPEND do
|
125
|
+
helper.perform_action(args[0], options, 'modified') do |obj|
|
124
126
|
if options[:append]
|
125
127
|
str = OpenNebulaHelper.append_template(args[0], obj, args[1])
|
126
128
|
else
|
@@ -139,7 +141,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
139
141
|
EOT
|
140
142
|
|
141
143
|
command :delete, delete_desc, [:range, :groupid_list] do
|
142
|
-
helper.perform_actions(args[0],options,
|
144
|
+
helper.perform_actions(args[0], options, 'deleted') do |obj|
|
143
145
|
obj.delete
|
144
146
|
end
|
145
147
|
end
|
@@ -148,7 +150,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
148
150
|
Lists Groups in the pool
|
149
151
|
EOT
|
150
152
|
|
151
|
-
command :list, list_desc, :options=>list_options do
|
153
|
+
command :list, list_desc, :options => list_options do
|
152
154
|
helper.list_pool(options)
|
153
155
|
end
|
154
156
|
|
@@ -156,9 +158,10 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
156
158
|
Shows information for the given Group
|
157
159
|
EOT
|
158
160
|
|
159
|
-
command :show, show_desc,[:groupid, nil],
|
161
|
+
command :show, show_desc, [:groupid, nil],
|
162
|
+
:options => OpenNebulaHelper::XML do
|
160
163
|
group = args[0] || OpenNebula::Group::SELF
|
161
|
-
helper.show_resource(group,options)
|
164
|
+
helper.show_resource(group, options)
|
162
165
|
end
|
163
166
|
|
164
167
|
add_admin_desc = <<-EOT.unindent
|
@@ -166,7 +169,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
166
169
|
EOT
|
167
170
|
|
168
171
|
command :addadmin, add_admin_desc, [:range, :groupid_list], :userid do
|
169
|
-
helper.perform_actions(args[0],options,
|
172
|
+
helper.perform_actions(args[0], options, 'admin added') do |obj|
|
170
173
|
obj.add_admin(args[1].to_i)
|
171
174
|
end
|
172
175
|
end
|
@@ -176,7 +179,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
176
179
|
EOT
|
177
180
|
|
178
181
|
command :deladmin, del_admin_desc, [:range, :groupid_list], :userid do
|
179
|
-
helper.perform_actions(args[0],options,
|
182
|
+
helper.perform_actions(args[0], options, 'admin deleted') do |obj|
|
180
183
|
obj.del_admin(args[1].to_i)
|
181
184
|
end
|
182
185
|
end
|
@@ -187,12 +190,12 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
187
190
|
EOT
|
188
191
|
|
189
192
|
command :quota, quota_desc, :groupid, [:file, nil] do
|
190
|
-
helper.perform_action(args[0], options,
|
193
|
+
helper.perform_action(args[0], options, 'modified') do |group|
|
191
194
|
rc = group.info
|
192
195
|
|
193
196
|
if OpenNebula.is_error?(rc)
|
194
197
|
puts rc.message
|
195
|
-
exit
|
198
|
+
exit(-1)
|
196
199
|
end
|
197
200
|
|
198
201
|
str = OneQuotaHelper.set_quota(group, args[1])
|
@@ -200,7 +203,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
200
203
|
|
201
204
|
if OpenNebula.is_error?(rc)
|
202
205
|
puts rc.message
|
203
|
-
exit
|
206
|
+
exit(-1)
|
204
207
|
end
|
205
208
|
end
|
206
209
|
end
|
@@ -214,19 +217,18 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
214
217
|
[:file, nil] do
|
215
218
|
batch_str = OneQuotaHelper.get_batch_quota(args[1])
|
216
219
|
|
217
|
-
helper.perform_actions(args[0], options,
|
220
|
+
helper.perform_actions(args[0], options, 'modified') do |group|
|
218
221
|
str = OneQuotaHelper.merge_quota(group, batch_str)
|
219
222
|
|
220
223
|
if OpenNebula.is_error?(str)
|
221
224
|
str
|
222
225
|
else
|
223
|
-
rc
|
226
|
+
rc = group.set_quota(str)
|
224
227
|
rc
|
225
228
|
end
|
226
229
|
end
|
227
230
|
end
|
228
231
|
|
229
|
-
|
230
232
|
defaultquota_desc = <<-EOT.unindent
|
231
233
|
Sets the default quota limits for the groups. If a path is not provided
|
232
234
|
the editor will be launched to modify the current default quotas.
|
@@ -235,7 +237,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
235
237
|
command :defaultquota, defaultquota_desc, [:file, nil] do
|
236
238
|
system = System.new(OneGroupHelper.get_client(options))
|
237
239
|
|
238
|
-
default_quotas = system.get_group_quotas
|
240
|
+
default_quotas = system.get_group_quotas
|
239
241
|
|
240
242
|
if OpenNebula.is_error?(default_quotas)
|
241
243
|
puts default_quotas.message
|
data/bin/onehost
CHANGED
@@ -16,25 +16,25 @@
|
|
16
16
|
# limitations under the License. #
|
17
17
|
#--------------------------------------------------------------------------- #
|
18
18
|
|
19
|
-
ONE_LOCATION=ENV[
|
19
|
+
ONE_LOCATION = ENV['ONE_LOCATION']
|
20
20
|
|
21
21
|
if !ONE_LOCATION
|
22
|
-
RUBY_LIB_LOCATION=
|
23
|
-
REMOTES_LOCATION=
|
22
|
+
RUBY_LIB_LOCATION = '/usr/lib/one/ruby'
|
23
|
+
REMOTES_LOCATION = '/var/lib/one/remotes/'
|
24
24
|
else
|
25
|
-
RUBY_LIB_LOCATION=ONE_LOCATION+
|
26
|
-
REMOTES_LOCATION=ONE_LOCATION+
|
25
|
+
RUBY_LIB_LOCATION = ONE_LOCATION + '/lib/ruby'
|
26
|
+
REMOTES_LOCATION = ONE_LOCATION + '/var/remotes/'
|
27
27
|
end
|
28
28
|
|
29
|
-
|
30
|
-
|
29
|
+
$LOAD_PATH << RUBY_LIB_LOCATION
|
30
|
+
$LOAD_PATH << RUBY_LIB_LOCATION + '/cli'
|
31
31
|
|
32
32
|
require 'command_parser'
|
33
33
|
require 'one_helper/onehost_helper'
|
34
34
|
require 'one_helper/onecluster_helper'
|
35
35
|
|
36
|
-
|
37
|
-
usage
|
36
|
+
CommandParser::CmdParser.new(ARGV) do
|
37
|
+
usage '`onehost` <command> [<args>] [<options>]'
|
38
38
|
version OpenNebulaHelper::ONE_VERSION
|
39
39
|
|
40
40
|
helper = OneHostHelper.new
|
@@ -46,49 +46,50 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
46
46
|
########################################################################
|
47
47
|
# Global Options
|
48
48
|
########################################################################
|
49
|
-
cmd_options=CommandParser::OPTIONS-[CommandParser::VERBOSE]
|
50
|
-
set :option, cmd_options+OpenNebulaHelper::CLIENT_OPTIONS
|
49
|
+
cmd_options = CommandParser::OPTIONS - [CommandParser::VERBOSE]
|
50
|
+
set :option, cmd_options + OpenNebulaHelper::CLIENT_OPTIONS
|
51
51
|
|
52
52
|
IM = {
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
53
|
+
:name => 'im',
|
54
|
+
:short => '-i im_mad',
|
55
|
+
:large => '--im im_mad',
|
56
|
+
:description => 'Set the information driver for the host',
|
57
|
+
:format => String
|
58
58
|
}
|
59
59
|
|
60
60
|
VMM = {
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
61
|
+
:name => 'vm',
|
62
|
+
:short => '-v vmm_mad',
|
63
|
+
:large => '--vm vmm_mad',
|
64
|
+
:description => 'Set the virtualization driver for the host',
|
65
|
+
:format => String
|
66
66
|
}
|
67
67
|
|
68
68
|
FORCE = {
|
69
|
-
:name
|
70
|
-
:large
|
71
|
-
:description =>
|
69
|
+
:name => 'force',
|
70
|
+
:large => '--force',
|
71
|
+
:description => 'Force probe upgrade in onehost sync'
|
72
72
|
}
|
73
73
|
|
74
74
|
RSYNC = {
|
75
|
-
:name
|
76
|
-
:large
|
77
|
-
:description =>
|
78
|
-
|
79
|
-
|
75
|
+
:name => 'rsync',
|
76
|
+
:large => '--rsync',
|
77
|
+
:description => 'Use rsync to synchronize remotes. In case some '\
|
78
|
+
'probes are no longer in the fronted ithey will be '\
|
79
|
+
'deleted in the hosts. rsync command must be '\
|
80
|
+
'installed in the frontend and nodes.'
|
80
81
|
}
|
81
82
|
|
82
83
|
TYPE = {
|
83
|
-
:name
|
84
|
-
:short =>
|
85
|
-
:large =>
|
86
|
-
:description =>
|
84
|
+
:name => 'type',
|
85
|
+
:short => '-t remote_provider',
|
86
|
+
:large => '--type remote_provider',
|
87
|
+
:description => 'Use type to create a host using Cloud Bursting',
|
87
88
|
:format => String
|
88
89
|
}
|
89
90
|
|
90
|
-
CREAT_OPTIONS = [
|
91
|
-
SYNC_OPTIONS = [
|
91
|
+
CREAT_OPTIONS = [IM, VMM, OneClusterHelper::CLUSTER, TYPE]
|
92
|
+
SYNC_OPTIONS = [OneClusterHelper::CLUSTER, FORCE, RSYNC]
|
92
93
|
|
93
94
|
########################################################################
|
94
95
|
# Formatters for arguments
|
@@ -110,12 +111,13 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
110
111
|
Creates a new Host
|
111
112
|
EOT
|
112
113
|
|
113
|
-
command :create, create_desc, :hostname,
|
114
|
+
command :create, create_desc, :hostname,
|
115
|
+
[:file, nil], :options => CREAT_OPTIONS do
|
114
116
|
if options[:im].nil? || options[:vm].nil?
|
115
|
-
STDERR.puts
|
116
|
-
STDERR.puts
|
117
|
-
STDERR.puts
|
118
|
-
exit
|
117
|
+
STDERR.puts 'Drivers are mandatory to create a host:'
|
118
|
+
STDERR.puts '\t -i information driver'
|
119
|
+
STDERR.puts '\t -v hypervisor driver'
|
120
|
+
exit(-1)
|
119
121
|
end
|
120
122
|
|
121
123
|
cid = options[:cluster] || ClusterPool::NONE_CLUSTER_ID
|
@@ -124,7 +126,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
124
126
|
str = helper.set_hybrid(options[:type], args[1])
|
125
127
|
end
|
126
128
|
rc = host.allocate(args[0], options[:im], options[:vm], cid)
|
127
|
-
|
129
|
+
if !OpenNebula.is_error?(rc) && !options[:type].nil?
|
130
|
+
host.update(str, true)
|
131
|
+
end
|
128
132
|
|
129
133
|
rc
|
130
134
|
end
|
@@ -135,7 +139,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
135
139
|
EOT
|
136
140
|
|
137
141
|
command :delete, delete_desc, [:range, :hostid_list] do
|
138
|
-
helper.perform_actions(args[0],options,
|
142
|
+
helper.perform_actions(args[0], options, 'deleted') do |host|
|
139
143
|
host.delete
|
140
144
|
end
|
141
145
|
end
|
@@ -144,8 +148,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
144
148
|
Enables the given host, fully operational
|
145
149
|
EOT
|
146
150
|
|
147
|
-
command :enable, enable_desc, [:range
|
148
|
-
helper.perform_actions(args[0],options,
|
151
|
+
command :enable, enable_desc, [:range, :hostid_list] do
|
152
|
+
helper.perform_actions(args[0], options, 'enabled') do |host|
|
149
153
|
host.enable
|
150
154
|
end
|
151
155
|
end
|
@@ -157,8 +161,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
157
161
|
- manual deployment: enabled
|
158
162
|
EOT
|
159
163
|
|
160
|
-
command :disable, disable_desc, [:range
|
161
|
-
helper.perform_actions(args[0],options,
|
164
|
+
command :disable, disable_desc, [:range, :hostid_list] do
|
165
|
+
helper.perform_actions(args[0], options, 'disabled') do |host|
|
162
166
|
host.disable
|
163
167
|
end
|
164
168
|
end
|
@@ -170,8 +174,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
170
174
|
- manual deployment: disabled
|
171
175
|
EOT
|
172
176
|
|
173
|
-
command :offline, offline_desc, [:range
|
174
|
-
helper.perform_actions(args[0],options,
|
177
|
+
command :offline, offline_desc, [:range, :hostid_list] do
|
178
|
+
helper.perform_actions(args[0], options, 'offline') do |host|
|
175
179
|
host.offline
|
176
180
|
end
|
177
181
|
end
|
@@ -182,8 +186,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
182
186
|
EOT
|
183
187
|
|
184
188
|
command :update, update_desc, :hostid, [:file, nil],
|
185
|
-
|
186
|
-
helper.perform_action(args[0],options,
|
189
|
+
:options => OpenNebulaHelper::APPEND do
|
190
|
+
helper.perform_action(args[0], options, 'updated') do |obj|
|
187
191
|
if options[:append]
|
188
192
|
str = OpenNebulaHelper.append_template(args[0], obj, args[1])
|
189
193
|
else
|
@@ -207,7 +211,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
207
211
|
EOT
|
208
212
|
|
209
213
|
command :sync, sync_desc, [:range, :hostid_list, nil],
|
210
|
-
:options=>SYNC_OPTIONS do
|
214
|
+
:options => SYNC_OPTIONS do
|
211
215
|
helper.sync(args[0], options)
|
212
216
|
end
|
213
217
|
|
@@ -216,8 +220,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
216
220
|
EOT
|
217
221
|
|
218
222
|
command :list, list_desc,
|
219
|
-
:options=>CLIHelper::OPTIONS+OpenNebulaHelper::OPTIONS+
|
220
|
-
|
223
|
+
:options => CLIHelper::OPTIONS + OpenNebulaHelper::OPTIONS +
|
224
|
+
[OpenNebulaHelper::DESCRIBE] do
|
221
225
|
helper.list_pool(options)
|
222
226
|
end
|
223
227
|
|
@@ -226,8 +230,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
226
230
|
EOT
|
227
231
|
|
228
232
|
command :show, show_desc, :hostid,
|
229
|
-
:options=>OpenNebulaHelper::XML do
|
230
|
-
helper.show_resource(args[0],options)
|
233
|
+
:options => OpenNebulaHelper::XML do
|
234
|
+
helper.show_resource(args[0], options)
|
231
235
|
end
|
232
236
|
|
233
237
|
top_desc = <<-EOT.unindent
|
@@ -235,7 +239,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
235
239
|
EOT
|
236
240
|
|
237
241
|
command :top, top_desc,
|
238
|
-
:options=>CLIHelper::OPTIONS+OpenNebulaHelper::OPTIONS do
|
242
|
+
:options => CLIHelper::OPTIONS + OpenNebulaHelper::OPTIONS do
|
239
243
|
helper.list_pool(options, true)
|
240
244
|
end
|
241
245
|
|
@@ -243,17 +247,18 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
243
247
|
Disables the host and reschedules all the running VMs in it.
|
244
248
|
EOT
|
245
249
|
|
246
|
-
command :flush, flush_desc, [:range
|
250
|
+
command :flush, flush_desc, [:range, :hostid_list] do
|
247
251
|
begin
|
248
252
|
if !ONE_LOCATION
|
249
|
-
action = YAML.load_file(
|
253
|
+
action = YAML.load_file('/etc/one/cli/onehost.yaml')
|
250
254
|
else
|
251
|
-
action = YAML.load_file("#{ONE_LOCATION}/etc/cli/onehost.yaml")
|
255
|
+
action = YAML.load_file("#{ONE_LOCATION}/etc/cli/onehost.yaml")
|
252
256
|
end
|
253
|
-
|
257
|
+
action = action[:default_actions][0][:flush]
|
258
|
+
rescue StandardError => e
|
254
259
|
STDERR.puts e
|
255
260
|
end
|
256
|
-
helper.perform_actions(args[0],options,
|
261
|
+
helper.perform_actions(args[0], options, 'flush') do |host|
|
257
262
|
host.flush action
|
258
263
|
end
|
259
264
|
end
|
@@ -263,7 +268,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
263
268
|
EOT
|
264
269
|
|
265
270
|
command :rename, rename_desc, :hostid, :name do
|
266
|
-
helper.perform_action(args[0],options,
|
271
|
+
helper.perform_action(args[0], options, 'renamed') do |o|
|
267
272
|
o.rename(args[1])
|
268
273
|
end
|
269
274
|
end
|
@@ -273,7 +278,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
|
273
278
|
EOT
|
274
279
|
|
275
280
|
command :importvm, importvm_desc, :hostid, :name do
|
276
|
-
helper.perform_action(args[0], options,
|
281
|
+
helper.perform_action(args[0], options, 'imported') do |o|
|
277
282
|
rc = o.info
|
278
283
|
next rc if OpenNebula.is_error?(rc)
|
279
284
|
|