opennebula-cli 5.12.2 → 5.12.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e7a23900bc02ed48fab2caeaf9e8c0d75d073e04
4
- data.tar.gz: 93e91f3106fcb935c476dff7d573b83f4bb3a077
3
+ metadata.gz: 6e29fa3ced9904d772fa21dce326f36ba53f5b5b
4
+ data.tar.gz: 4423b75aac339b713828c7eaf63b85b7af6a911f
5
5
  SHA512:
6
- metadata.gz: 62f8ed683a3f5e3e0aa2cc3603405a28f252bd3ac3c7b5b493421fc3fe871a8c1ce9a26225b1f113101d23074776069416553c880b0ea76e8660ca9cc15eaa9c
7
- data.tar.gz: 5f5a6eb0bfa5e17aca77d65237cff28455e696d9398e2bfc9d599888a9de37e35dc3a623697205e5bf3998cd1f99a4a830516f75a93730ff2d3c663845f60908
6
+ metadata.gz: 1a878d4aa7ab7c2cabc77f933fdc95d861ee54aa97678358efafb02aff4b3a17872ce2650d8b9087d40bae38b4e2d7e63afe17ffb7f59c29b1d2ba40ed3a9ab4
7
+ data.tar.gz: a32059c260cbea98f8ea3a22b887bc9032edd1091cd65e76944cef6adf22c4acc7b99a28aba8798e7f86d3a1791bf6e412edfc858841d82c51fcc75380a79adf
@@ -172,8 +172,13 @@ CommandParser::CmdParser.new(ARGV) do
172
172
  end_year)
173
173
 
174
174
  if OpenNebula.is_error?(rc)
175
- warn rc.message
176
- exit(-1)
175
+ if rc.message.include? "ReadTimeout"
176
+ warn "Showback calculation takes too long, continuing in background"
177
+ exit_code 0
178
+ else
179
+ warn rc.message
180
+ exit(-1)
181
+ end
177
182
  else
178
183
  puts rc
179
184
  exit_code 0
@@ -261,8 +261,11 @@ CommandParser::CmdParser.new(ARGV) do
261
261
  if !user_inputs
262
262
  user_inputs = OneTemplateHelper.get_user_inputs(t.to_hash)
263
263
  else
264
- optionals = OneTemplateHelper.get_user_inputs(t.to_hash,
265
- true)
264
+ optionals = OneTemplateHelper.get_user_inputs(
265
+ t.to_hash,
266
+ options[:user_inputs_keys],
267
+ )
268
+
266
269
  user_inputs = user_inputs + "\n" + optionals
267
270
  end
268
271
 
@@ -155,6 +155,7 @@ CommandParser::CmdParser.new(ARGV) do
155
155
  begin
156
156
  args = helper.parse_opts(options)
157
157
  args[:filter] = true
158
+ args[:short] = true
158
159
  vi_client = VCenterDriver::VIClient.new_from_host(options[:host])
159
160
  importer = VCenterDriver::VcImporter
160
161
  .new_child(helper.client, vi_client, options[:object])
@@ -185,6 +186,7 @@ CommandParser::CmdParser.new(ARGV) do
185
186
  begin
186
187
  args = helper.parse_opts(options)
187
188
  args[:filter] = false
189
+ args[:short] = true
188
190
  vi_client = VCenterDriver::VIClient.new_from_host(options[:host])
189
191
  importer = VCenterDriver::VcImporter
190
192
  .new_child(helper.client, vi_client, options[:object])
@@ -532,7 +532,7 @@ module CLIHelper
532
532
  # @param data [Array] Array with data to show
533
533
  # @param del [Char] CSV delimiter
534
534
  def print_csv_data(data, del)
535
- del ? del = del : del = ','
535
+ del ||= ','
536
536
 
537
537
  data.each do |l|
538
538
  result = []
@@ -383,9 +383,15 @@ EOT
383
383
  :format => Array,
384
384
  :description => 'Specify the user inputs values when instantiating',
385
385
  :proc => lambda do |o, options|
386
+ # Store user inputs that has been already processed
387
+ options[:user_inputs_keys] = []
388
+
386
389
  # escape values
387
390
  options[:user_inputs].map! do |user_input|
388
391
  user_input_split = user_input.split('=')
392
+
393
+ options[:user_inputs_keys] << user_input_split[0]
394
+
389
395
  "#{user_input_split[0]}=\"#{user_input_split[1]}\""
390
396
  end
391
397
 
@@ -519,8 +525,12 @@ EOT
519
525
  @translation_hash = nil
520
526
  end
521
527
 
522
- def set_client(options)
523
- @client=OpenNebulaHelper::OneHelper.get_client(options, true)
528
+ def set_client(options, client=nil)
529
+ if client.nil?
530
+ @client=OpenNebulaHelper::OneHelper.get_client(options, true)
531
+ else
532
+ @client = client
533
+ end
524
534
  end
525
535
 
526
536
  def create_resource(options, &block)
@@ -1705,8 +1715,8 @@ EOT
1705
1715
  end
1706
1716
  end
1707
1717
 
1708
- def OpenNebulaHelper.parse_user_inputs(inputs, get_defaults = false)
1709
- unless get_defaults
1718
+ def OpenNebulaHelper.parse_user_inputs(inputs, keys = [])
1719
+ unless inputs.keys == keys
1710
1720
  puts 'There are some parameters that require user input. ' \
1711
1721
  'Use the string <<EDITOR>> to launch an editor ' \
1712
1722
  '(e.g. for multi-line inputs)'
@@ -1715,6 +1725,8 @@ EOT
1715
1725
  answers = {}
1716
1726
 
1717
1727
  inputs.each do |key, val|
1728
+ next if keys.include? key
1729
+
1718
1730
  input_cfg = val.split('|', -1)
1719
1731
 
1720
1732
  if input_cfg.length < 3
@@ -1741,11 +1753,6 @@ EOT
1741
1753
  initial.strip!
1742
1754
  end
1743
1755
 
1744
- if get_defaults
1745
- answers[key]= initial unless mandatory == 'M'
1746
- next
1747
- end
1748
-
1749
1756
  puts " * (#{key}) #{description}"
1750
1757
 
1751
1758
  header = ' '
@@ -161,7 +161,11 @@ class OneHookHelper < OpenNebulaHelper::OneHelper
161
161
  end
162
162
  end
163
163
 
164
- default :HOOK, :ID, :TIMESTAMP, :RC, :EXECUTION
164
+ if !header
165
+ default :HOOK, :ID, :TIMESTAMP, :RC, :EXECUTION
166
+ else
167
+ default :ID, :TIMESTAMP, :RC, :EXECUTION
168
+ end
165
169
  end
166
170
 
167
171
  table.show(execs, :stat_column => :EXECUTION)
@@ -20,6 +20,10 @@ require 'one_helper/onevm_helper'
20
20
  # CLI helper for oneimage command
21
21
  class OneImageHelper < OpenNebulaHelper::OneHelper
22
22
 
23
+ # This list contains prefixes that should skip adding user home to the path
24
+ # This must have the same content as the case $FROM in downloader.sh
25
+ PREFIXES = %w[http https ssh s3 rbd vcenter lxd docker]
26
+
23
27
  TEMPLATE_OPTIONS=[
24
28
  {
25
29
  :name => 'name',
@@ -82,7 +86,7 @@ class OneImageHelper < OpenNebulaHelper::OneHelper
82
86
  :description => 'Path of the image file',
83
87
  :format => String,
84
88
  :proc => lambda do |o, _options|
85
- next [0, o] if o.match(%r{^(https?|docker)://})
89
+ next [0, o] if o.match(%r{^(#{PREFIXES.join('|')})://})
86
90
 
87
91
  if o[0, 1]=='/'
88
92
  path=o
@@ -128,15 +128,16 @@ EOT
128
128
  INT_EXP = /^-?\d+$/
129
129
  FLOAT_EXP = /^-?\d+(\.\d+)?$/
130
130
 
131
- def self.get_user_inputs(template, get_defaults = false)
131
+ def self.get_user_inputs(template, keys = [])
132
132
  user_inputs = template['VMTEMPLATE']['TEMPLATE']['USER_INPUTS']
133
133
 
134
134
  return '' unless user_inputs
135
135
 
136
- answers = OpenNebulaHelper.parse_user_inputs(user_inputs, get_defaults)
137
-
136
+ answers = OpenNebulaHelper.parse_user_inputs(user_inputs, keys)
138
137
  answers_s = ''
139
138
  answers.each do |key, val|
139
+ next unless val
140
+
140
141
  # Do not replace values that are equal to the ones already in the
141
142
  # template. Useful for cpu, mem, vcpu
142
143
  if key != template['VMTEMPLATE']['TEMPLATE'][key]
@@ -201,6 +201,10 @@ class OneUserHelper < OpenNebulaHelper::OneHelper
201
201
  login_client = self.get_login_client(username, options)
202
202
  end
203
203
 
204
+ if (login_client.is_a? Array) && login_client[0] == -1
205
+ return login_client
206
+ end
207
+
204
208
  user = OpenNebula::User.new(User.build_xml, login_client)
205
209
 
206
210
  egid = options[:group] || -1
@@ -100,7 +100,8 @@ class OneVMHelper < OpenNebulaHelper::OneHelper
100
100
  if File.file?(o)
101
101
  options[:file] = o
102
102
  else
103
- exit - 1
103
+ STDERR.puts "File `#{options[:file]}` doesn't exist"
104
+ exit(-1)
104
105
  end
105
106
  }
106
107
  }
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: 5.12.2
4
+ version: 5.12.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenNebula
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-04 00:00:00.000000000 Z
11
+ date: 2020-12-16 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: 5.12.2
19
+ version: 5.12.7
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: 5.12.2
26
+ version: 5.12.7
27
27
  description: Commands used to talk to OpenNebula
28
28
  email: contact@opennebula.io
29
29
  executables:
@@ -78,34 +78,34 @@ files:
78
78
  - bin/onevntemplate
79
79
  - bin/onevrouter
80
80
  - bin/onezone
81
- - lib/cli_helper.rb
82
81
  - lib/command_parser.rb
82
+ - lib/cli_helper.rb
83
83
  - lib/one_helper.rb
84
84
  - lib/one_helper/oneacl_helper.rb
85
85
  - lib/one_helper/onecluster_helper.rb
86
- - lib/one_helper/onedatastore_helper.rb
87
86
  - lib/one_helper/onegroup_helper.rb
88
87
  - lib/one_helper/onehook_helper.rb
89
- - lib/one_helper/onehost_helper.rb
90
- - lib/one_helper/oneimage_helper.rb
91
88
  - lib/one_helper/onemarket_helper.rb
92
- - lib/one_helper/onemarketapp_helper.rb
93
89
  - lib/one_helper/onequota_helper.rb
94
90
  - lib/one_helper/onesecgroup_helper.rb
95
- - lib/one_helper/onetemplate_helper.rb
96
- - lib/one_helper/oneuser_helper.rb
97
91
  - lib/one_helper/onevcenter_helper.rb
98
92
  - lib/one_helper/onevdc_helper.rb
99
93
  - lib/one_helper/onevm_helper.rb
100
94
  - lib/one_helper/onevmgroup_helper.rb
101
95
  - lib/one_helper/onevnet_helper.rb
102
96
  - lib/one_helper/onevntemplate_helper.rb
103
- - lib/one_helper/onevrouter_helper.rb
104
- - lib/one_helper/onezone_helper.rb
105
97
  - lib/one_helper/oneacct_helper.rb
98
+ - lib/one_helper/onedatastore_helper.rb
106
99
  - lib/one_helper/oneflow_helper.rb
107
100
  - lib/one_helper/oneflowtemplate_helper.rb
101
+ - lib/one_helper/onehost_helper.rb
102
+ - lib/one_helper/oneimage_helper.rb
103
+ - lib/one_helper/onemarketapp_helper.rb
108
104
  - lib/one_helper/oneprovision_helper.rb
105
+ - lib/one_helper/onetemplate_helper.rb
106
+ - lib/one_helper/oneuser_helper.rb
107
+ - lib/one_helper/onevrouter_helper.rb
108
+ - lib/one_helper/onezone_helper.rb
109
109
  - NOTICE
110
110
  - LICENSE
111
111
  homepage: http://opennebula.io