1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-16 22:50:10 +03:00

M #: Lint for oneimage (#4248)

(cherry picked from commit 7596aa1f663918a10643229f806e2621880dbf9a)
This commit is contained in:
Daniel Clavijo Coca 2020-02-24 10:50:31 -06:00 committed by Tino Vazquez
parent eec731f00b
commit ed5d53f83d
No known key found for this signature in database
GPG Key ID: 2FE9C32E94AEABBE

View File

@ -17,6 +17,7 @@
require 'one_helper'
require 'one_helper/onevm_helper'
# CLI helper for oneimage command
class OneImageHelper < OpenNebulaHelper::OneHelper
TEMPLATE_OPTIONS=[
@ -36,7 +37,9 @@ class OneImageHelper < OpenNebulaHelper::OneHelper
:name => 'type',
:large => '--type type',
:format => String,
:description => "Type of the new Image: #{Image::IMAGE_TYPES.join(', ')}",
:description => "Type of the new Image: \
#{Image::IMAGE_TYPES.join(', ')}",
:proc => lambda do |o, _options|
type=o.strip.upcase
@ -79,9 +82,9 @@ class OneImageHelper < OpenNebulaHelper::OneHelper
:description => 'Path of the image file',
:format => String,
:proc => lambda do |o, _options|
if o.match(%r{^https?://})
next [0, o]
elsif o[0, 1]=='/'
next [0, o] if o.match(%r{^https?://})
if o[0, 1]=='/'
path=o
else
path=Dir.pwd+'/'+o
@ -132,7 +135,9 @@ class OneImageHelper < OpenNebulaHelper::OneHelper
{
:name => 'size',
:large => '--size size',
:description => 'Size in MB. Used for DATABLOCK type or SOURCE based images.',
:description => "Size in MB. \
Used for DATABLOCK type or SOURCE based images.",
:format => String,
:proc => lambda do |o, _options|
m=o.strip.match(/^(\d+(?:\.\d+)?)(m|mb|g|gb)?$/i)
@ -287,20 +292,28 @@ class OneImageHelper < OpenNebulaHelper::OneHelper
str='%-15s: %-20s'
str_h1='%-80s'
path = image['PATH']
fstype = image['FSTYPE']
size = OpenNebulaHelper.unit_to_str(image['SIZE'].to_i, {}, 'M')
lock = OpenNebulaHelper.level_lock_to_str(image['LOCK/LOCKED'])
regtime = OpenNebulaHelper.time_to_str(image['REGTIME'])
pers = OpenNebulaHelper.boolean_to_str(image['PERSISTENT'])
CLIHelper.print_header(str_h1 % "IMAGE #{image['ID']} INFORMATION")
puts format(str, 'ID', image.id.to_s)
puts format(str, 'NAME', image.name)
puts format(str, 'USER', image['UNAME'])
puts format(str, 'GROUP', image['GNAME'])
puts format(str, 'LOCK', OpenNebulaHelper.level_lock_to_str(image['LOCK/LOCKED']))
puts format(str, 'LOCK', lock)
puts format(str, 'DATASTORE', image['DATASTORE'])
puts format(str, 'TYPE', image.type_str)
puts format(str, 'REGISTER TIME', OpenNebulaHelper.time_to_str(image['REGTIME']))
puts format(str, 'PERSISTENT', OpenNebulaHelper.boolean_to_str(image['PERSISTENT']))
puts format(str, 'REGISTER TIME', regtime)
puts format(str, 'PERSISTENT', pers)
puts format(str, 'SOURCE', image['SOURCE'])
puts format(str, 'PATH', image['PATH']) if image['PATH'] && !image['PATH'].empty?
puts format(str, 'FSTYPE', image['FSTYPE']) if image['FSTYPE'] && !image['FSTYPE'].empty?
puts format(str, 'SIZE', OpenNebulaHelper.unit_to_str(image['SIZE'].to_i, {}, 'M'))
puts format(str, 'PATH', path) if path && !path.empty?
puts format(str, 'FSTYPE', fstype) if fstype && !fstype.empty?
puts format(str, 'SIZE', size)
puts format(str, 'STATE', image.short_state_str)
puts format(str, 'RUNNING_VMS', image['RUNNING_VMS'])
puts
@ -333,12 +346,12 @@ class OneImageHelper < OpenNebulaHelper::OneHelper
vms=image.retrieve_elements('VMS/ID')
if vms
vms.map! {|e| e.to_i }
onevm_helper=OneVMHelper.new
onevm_helper.client=@client
onevm_helper.list_pool({ :ids=>vms, :no_pager => true }, false)
end
return unless vms
vms.map! {|e| e.to_i }
onevm_helper=OneVMHelper.new
onevm_helper.client=@client
onevm_helper.list_pool({ :ids=>vms, :no_pager => true }, false)
end
def format_snapshots(image)
@ -391,42 +404,48 @@ class OneImageHelper < OpenNebulaHelper::OneHelper
table.show(image_snapshots)
end
def self.create_image_variables(options, name)
if Array === name
names = name
else
names = [name]
end
class << self
t = ''
names.each do |n|
if options[n]
t << "#{n.to_s.upcase}=\"#{options[n]}\"\n"
private
def create_image_variables(options, name)
if name.is_a?(Array)
names = name
else
names = [name]
end
t = ''
names.each do |n|
if options[n]
t << "#{n.to_s.upcase}=\"#{options[n]}\"\n"
end
end
t
end
t
end
def create_image_template(options)
template_options = TEMPLATE_OPTIONS.map do |o|
o[:name].to_sym
end
def self.create_image_template(options)
template_options = TEMPLATE_OPTIONS.map do |o|
o[:name].to_sym
template = create_image_variables(
options,
template_options - [:persistent, :dry, :prefix]
)
if options[:persistent]
template << "PERSISTENT=YES\n"
end
if options[:prefix]
template << "DEV_PREFIX=\"#{options[:prefix]}\"\n"
end
[0, template]
end
template = create_image_variables(
options,
template_options - [:persistent, :dry, :prefix]
)
if options[:persistent]
template << "PERSISTENT=YES\n"
end
if options[:prefix]
template << "DEV_PREFIX=\"#{options[:prefix]}\"\n"
end
[0, template]
end
end