mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-19 06:50:07 +03:00
Ruby code formatting: CLI Part II
This commit is contained in:
parent
6455fe784d
commit
102a7e132d
329
src/cli/oneuser
329
src/cli/oneuser
@ -16,16 +16,16 @@
|
||||
# limitations under the License. #
|
||||
#--------------------------------------------------------------------------- #
|
||||
|
||||
ONE_LOCATION=ENV["ONE_LOCATION"]
|
||||
ONE_LOCATION = ENV['ONE_LOCATION']
|
||||
|
||||
if !ONE_LOCATION
|
||||
RUBY_LIB_LOCATION="/usr/lib/one/ruby"
|
||||
RUBY_LIB_LOCATION = '/usr/lib/one/ruby'
|
||||
else
|
||||
RUBY_LIB_LOCATION=ONE_LOCATION+"/lib/ruby"
|
||||
RUBY_LIB_LOCATION = ONE_LOCATION + '/lib/ruby'
|
||||
end
|
||||
|
||||
$: << RUBY_LIB_LOCATION
|
||||
$: << RUBY_LIB_LOCATION+"/cli"
|
||||
$LOAD_PATH << RUBY_LIB_LOCATION
|
||||
$LOAD_PATH << RUBY_LIB_LOCATION + '/cli'
|
||||
|
||||
require 'command_parser'
|
||||
require 'one_helper/oneuser_helper'
|
||||
@ -33,8 +33,8 @@ require 'one_helper/onequota_helper'
|
||||
|
||||
require 'uri'
|
||||
|
||||
cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
usage "`oneuser` <command> [<args>] [<options>]"
|
||||
CommandParser::CmdParser.new(ARGV) do
|
||||
usage '`oneuser` <command> [<args>] [<options>]'
|
||||
version OpenNebulaHelper::ONE_VERSION
|
||||
|
||||
helper = OneUserHelper.new
|
||||
@ -43,7 +43,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
if ![:key].include?(@comm_name)
|
||||
begin
|
||||
helper.set_client(options)
|
||||
rescue Exception => e
|
||||
rescue StandardError => e
|
||||
STDERR.puts e.message
|
||||
|
||||
if e.message != OpenNebula::Client::NO_ONE_AUTH_ERROR
|
||||
@ -58,149 +58,149 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
########################################################################
|
||||
# Global Options
|
||||
########################################################################
|
||||
set :option, CommandParser::OPTIONS+OpenNebulaHelper::CLIENT_OPTIONS
|
||||
set :option, CommandParser::OPTIONS + OpenNebulaHelper::CLIENT_OPTIONS
|
||||
|
||||
list_options = CLIHelper::OPTIONS
|
||||
list_options << OpenNebulaHelper::XML
|
||||
list_options << OpenNebulaHelper::NUMERIC
|
||||
list_options << OpenNebulaHelper::DESCRIBE
|
||||
|
||||
READ_FILE={
|
||||
:name => "read_file",
|
||||
:short => "-r",
|
||||
:large => "--read-file",
|
||||
:description => "Read password from file"
|
||||
READ_FILE = {
|
||||
:name => 'read_file',
|
||||
:short => '-r',
|
||||
:large => '--read-file',
|
||||
:description => 'Read password from file'
|
||||
}
|
||||
|
||||
SHA1={
|
||||
:name => "sha1",
|
||||
:large => "--sha1",
|
||||
:description => "The password will be hashed using the sha1\n"<<
|
||||
" "*31<<"algorithm"
|
||||
SHA1 = {
|
||||
:name => 'sha1',
|
||||
:large => '--sha1',
|
||||
:description => "The password will be hashed using the sha1\n" \
|
||||
' ' * 31 << 'algorithm'
|
||||
}
|
||||
|
||||
SSH={
|
||||
:name => "ssh",
|
||||
:large => "--ssh",
|
||||
:description => "SSH Auth system",
|
||||
:proc => lambda { |o, options|
|
||||
SSH = {
|
||||
:name => 'ssh',
|
||||
:large => '--ssh',
|
||||
:description => 'SSH Auth system',
|
||||
:proc => lambda {|_, options|
|
||||
options[:driver] = OpenNebula::User::SSH_AUTH
|
||||
}
|
||||
}
|
||||
|
||||
X509={
|
||||
:name => "x509",
|
||||
:large => "--x509",
|
||||
:description => "x509 Auth system for x509 certificates",
|
||||
:proc => lambda { |o, options|
|
||||
X509 = {
|
||||
:name => 'x509',
|
||||
:large => '--x509',
|
||||
:description => 'x509 Auth system for x509 certificates',
|
||||
:proc => lambda {|_, options|
|
||||
options[:driver] = OpenNebula::User::X509_AUTH
|
||||
}
|
||||
}
|
||||
|
||||
X509_PROXY={
|
||||
:name => "x509_proxy",
|
||||
:large => "--x509_proxy",
|
||||
:description => "x509 Auth system based on x509 proxy certificates",
|
||||
:proc => lambda { |o, options|
|
||||
X509_PROXY = {
|
||||
:name => 'x509_proxy',
|
||||
:large => '--x509_proxy',
|
||||
:description => 'x509 Auth system based on x509 proxy certificates',
|
||||
:proc => lambda {|_, options|
|
||||
options[:driver] = OpenNebula::User::X509_PROXY_AUTH
|
||||
}
|
||||
}
|
||||
|
||||
KEY={
|
||||
:name => "key",
|
||||
:short => "-k path_to_private_key_pem",
|
||||
:large => "--key path_to_private_key_pem",
|
||||
KEY = {
|
||||
:name => 'key',
|
||||
:short => '-k path_to_private_key_pem',
|
||||
:large => '--key path_to_private_key_pem',
|
||||
:format => String,
|
||||
:description => "Path to the Private Key of the User"
|
||||
:description => 'Path to the Private Key of the User'
|
||||
}
|
||||
|
||||
CERT={
|
||||
:name => "cert",
|
||||
:short => "-c path_to_user_cert_pem",
|
||||
:large => "--cert path_to_user_cert_pem",
|
||||
CERT = {
|
||||
:name => 'cert',
|
||||
:short => '-c path_to_user_cert_pem',
|
||||
:large => '--cert path_to_user_cert_pem',
|
||||
:format => String,
|
||||
:description => "Path to the Certificate of the User"
|
||||
:description => 'Path to the Certificate of the User'
|
||||
}
|
||||
|
||||
PROXY={
|
||||
:name => "proxy",
|
||||
:large => "--proxy path_to_user_proxy_pem",
|
||||
PROXY = {
|
||||
:name => 'proxy',
|
||||
:large => '--proxy path_to_user_proxy_pem',
|
||||
:format => String,
|
||||
:description => "Path to the user proxy certificate"
|
||||
:description => 'Path to the user proxy certificate'
|
||||
}
|
||||
|
||||
TIME={
|
||||
:name => "time",
|
||||
:large => "--time x",
|
||||
TIME = {
|
||||
:name => 'time',
|
||||
:large => '--time x',
|
||||
:format => Integer,
|
||||
:description => "Token duration in seconds, defaults to 36000 (10 h). "\
|
||||
"To reset the token set time to 0." \
|
||||
"To generate a non-expiring token use -1"\
|
||||
" (not valid for ssh and x509 tokens). "\
|
||||
:description => 'Token duration in seconds, defaults to 36000 (10 h). '\
|
||||
'To reset the token set time to 0.' \
|
||||
'To generate a non-expiring token use -1'\
|
||||
' (not valid for ssh and x509 tokens). '\
|
||||
}
|
||||
|
||||
DRIVER={
|
||||
:name => "driver",
|
||||
:large => "--driver driver",
|
||||
DRIVER = {
|
||||
:name => 'driver',
|
||||
:large => '--driver driver',
|
||||
:format => String,
|
||||
:description => "Driver to authenticate this user"
|
||||
:description => 'Driver to authenticate this user'
|
||||
}
|
||||
|
||||
FORCE = {
|
||||
:name => "force",
|
||||
:large => "--force" ,
|
||||
:description => "Force one_auth file rewrite"
|
||||
:name => 'force',
|
||||
:large => '--force',
|
||||
:description => 'Force one_auth file rewrite'
|
||||
}
|
||||
|
||||
TOKEN = {
|
||||
:name => "token",
|
||||
:large => "--token token_hint",
|
||||
:name => 'token',
|
||||
:large => '--token token_hint',
|
||||
:format => String,
|
||||
:description => "The Token to be loaded."
|
||||
:description => 'The Token to be loaded.'
|
||||
}
|
||||
|
||||
GROUP = {
|
||||
:name => "group",
|
||||
:large => "--group id|name" ,
|
||||
:description => "Effective GID to use with this token.",
|
||||
:name => 'group',
|
||||
:large => '--group id|name',
|
||||
:description => 'Effective GID to use with this token.',
|
||||
:format => String,
|
||||
:proc => lambda { |o, options|
|
||||
OpenNebulaHelper.rname_to_id(o, "GROUP")
|
||||
:proc => lambda {|o, _|
|
||||
OpenNebulaHelper.rname_to_id(o, 'GROUP')
|
||||
}
|
||||
}
|
||||
|
||||
GROUP_CREATE = {
|
||||
:name => "group",
|
||||
:large => "--group id|name" ,
|
||||
:description => "Comma-separated list of Groups for the new User. "\
|
||||
"The first Group will be the main one.",
|
||||
:name => 'group',
|
||||
:large => '--group id|name',
|
||||
:description => 'Comma-separated list of Groups for the new User. '\
|
||||
'The first Group will be the main one.',
|
||||
:format => String,
|
||||
:proc => lambda { |o, options|
|
||||
gids = o.split(",").map { |g|
|
||||
id = OpenNebulaHelper.rname_to_id(g, "GROUP")
|
||||
:proc => lambda {|o, _|
|
||||
gids = o.split(',').map do |g|
|
||||
id = OpenNebulaHelper.rname_to_id(g, 'GROUP')
|
||||
|
||||
if (id[0] == -1)
|
||||
if id[0] == -1
|
||||
puts id[1]
|
||||
exit -1
|
||||
exit(-1)
|
||||
end
|
||||
|
||||
id[1]
|
||||
}
|
||||
end
|
||||
|
||||
[0, gids]
|
||||
}
|
||||
}
|
||||
|
||||
GLOBAL = {
|
||||
:name => "global",
|
||||
:large => "--global" ,
|
||||
:description => "Find a global Token."
|
||||
:name => 'global',
|
||||
:large => '--global',
|
||||
:description => 'Find a global Token.'
|
||||
}
|
||||
|
||||
STDIN_PASSWORD = {
|
||||
:name => "stdin_password",
|
||||
:large => "--stdin_password",
|
||||
:description => "enable stdin password"
|
||||
:name => 'stdin_password',
|
||||
:large => '--stdin_password',
|
||||
:description => 'enable stdin password'
|
||||
}
|
||||
|
||||
auth_options = [READ_FILE, SHA1, SSH, X509, KEY, CERT, DRIVER]
|
||||
@ -223,8 +223,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
########################################################################
|
||||
# Formatters for arguments
|
||||
########################################################################
|
||||
set :format, :groupid, OpenNebulaHelper.rname_to_id_desc("GROUP") do |arg|
|
||||
OpenNebulaHelper.rname_to_id(arg, "GROUP")
|
||||
set :format, :groupid, OpenNebulaHelper.rname_to_id_desc('GROUP') do |arg|
|
||||
OpenNebulaHelper.rname_to_id(arg, 'GROUP')
|
||||
end
|
||||
|
||||
set :format, :userid, OneUserHelper.to_id_desc do |arg|
|
||||
@ -255,15 +255,15 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :create, create_desc, :username, [:password, nil],
|
||||
:options=>create_options do
|
||||
:options => create_options do
|
||||
if args[1]
|
||||
pass = args[1]
|
||||
else
|
||||
rc = helper.password(options)
|
||||
if rc.first == 0
|
||||
if rc.first.zero?
|
||||
pass = rc[1]
|
||||
else
|
||||
exit_with_code *rc
|
||||
exit_with_code(*rc)
|
||||
end
|
||||
end
|
||||
|
||||
@ -282,8 +282,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :update, update_desc, :userid, [:file, nil],
|
||||
:options=>OpenNebulaHelper::APPEND do
|
||||
helper.perform_action(args[0],options,"modified") do |obj|
|
||||
:options => OpenNebulaHelper::APPEND do
|
||||
helper.perform_action(args[0], options, 'modified') do |obj|
|
||||
if options[:append]
|
||||
str = OpenNebulaHelper.append_template(args[0], obj, args[1])
|
||||
else
|
||||
@ -303,12 +303,12 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :quota, quota_desc, :userid, [:file, nil] do
|
||||
helper.perform_action(args[0], options, "modified") do |user|
|
||||
helper.perform_action(args[0], options, 'modified') do |user|
|
||||
rc = user.info
|
||||
|
||||
if OpenNebula.is_error?(rc)
|
||||
puts rc.message
|
||||
exit -1
|
||||
exit(-1)
|
||||
end
|
||||
|
||||
str = OneQuotaHelper.set_quota(user, args[1])
|
||||
@ -316,11 +316,11 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
helper.set_client(options)
|
||||
user = helper.retrieve_resource(user.id)
|
||||
|
||||
rc = user.set_quota(str)
|
||||
rc = user.set_quota(str)
|
||||
|
||||
if OpenNebula.is_error?(rc)
|
||||
puts rc.message
|
||||
exit -1
|
||||
exit(-1)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -334,8 +334,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
[:file, nil] do
|
||||
batch_str = OneQuotaHelper.get_batch_quota(args[1])
|
||||
|
||||
helper.set_client(options)
|
||||
helper.perform_actions(args[0], options, "modified") do |user|
|
||||
helper.set_client(options)
|
||||
helper.perform_actions(args[0], options, 'modified') do |user|
|
||||
str = OneQuotaHelper.merge_quota(user, batch_str)
|
||||
|
||||
if OpenNebula.is_error?(str)
|
||||
@ -354,7 +354,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
command :defaultquota, defaultquota_desc, [:file, nil] do
|
||||
system = System.new(OneUserHelper.get_client(options))
|
||||
|
||||
default_quotas = system.get_user_quotas()
|
||||
default_quotas = system.get_user_quotas
|
||||
|
||||
if OpenNebula.is_error?(default_quotas)
|
||||
puts default_quotas.message
|
||||
@ -364,7 +364,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
str = OneQuotaHelper.set_quota(default_quotas, args[0], true)
|
||||
|
||||
system = System.new(OneUserHelper.get_client(options, true))
|
||||
rc = system.set_user_quotas(str)
|
||||
rc = system.set_user_quotas(str)
|
||||
|
||||
if OpenNebula.is_error?(rc)
|
||||
puts rc.message
|
||||
@ -385,21 +385,21 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :umask, umask_desc, [:range, :userid_list], [:mask, nil] do
|
||||
helper.perform_actions(args[0],options,
|
||||
"umask changed") do |user|
|
||||
helper.perform_actions(args[0], options,
|
||||
'umask changed') do |user|
|
||||
|
||||
rc = user.info
|
||||
|
||||
if OpenNebula.is_error?(rc)
|
||||
puts rc.message
|
||||
exit -1
|
||||
exit(-1)
|
||||
end
|
||||
|
||||
user.delete_element('/USER/TEMPLATE/UMASK')
|
||||
|
||||
tmp_str = user.template_str
|
||||
|
||||
if !args[1].nil? && args[1] != ""
|
||||
if !args[1].nil? && args[1] != ''
|
||||
tmp_str << "\nUMASK = #{args[1]}"
|
||||
end
|
||||
|
||||
@ -411,7 +411,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
Alias of token-create.
|
||||
EOT
|
||||
|
||||
command :login, login_desc, [:username, nil], :options=>login_options do
|
||||
command :login, login_desc, [:username, nil], :options => login_options do
|
||||
helper.token_create(args, options)
|
||||
end
|
||||
|
||||
@ -420,15 +420,15 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
for the SSH authentication mechanism.
|
||||
EOT
|
||||
|
||||
command :key, key_desc, :options=>[KEY] do
|
||||
command :key, key_desc, :options => [KEY] do
|
||||
require 'opennebula/ssh_auth'
|
||||
|
||||
options[:key] ||= ENV['HOME']+'/.ssh/id_rsa'
|
||||
options[:key] ||= ENV['HOME'] + '/.ssh/id_rsa'
|
||||
|
||||
begin
|
||||
sshauth = SshAuth.new(:private_key=>options[:key])
|
||||
rescue Exception => e
|
||||
exit_with_code -1, e.message
|
||||
sshauth = SshAuth.new(:private_key => options[:key])
|
||||
rescue StandardError => e
|
||||
exit_with_code(-1, e.message)
|
||||
end
|
||||
|
||||
puts sshauth.password
|
||||
@ -440,7 +440,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :delete, delete_desc, [:range, :userid_list] do
|
||||
helper.perform_actions(args[0], options, "deleted") do |user|
|
||||
helper.perform_actions(args[0], options, 'deleted') do |user|
|
||||
user.delete
|
||||
end
|
||||
end
|
||||
@ -450,19 +450,19 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :passwd, passwd_desc, [:userid], [:password, nil],
|
||||
:options=>auth_options do
|
||||
:options => auth_options do
|
||||
if args[1]
|
||||
pass = args[1]
|
||||
else
|
||||
rc = helper.password(options)
|
||||
if rc.first == 0
|
||||
if rc.first.zero?
|
||||
pass = rc[1]
|
||||
else
|
||||
exit_with_code *rc
|
||||
exit_with_code(*rc)
|
||||
end
|
||||
end
|
||||
|
||||
helper.perform_action(args[0],options,"Password changed") do |user|
|
||||
helper.perform_action(args[0], options, 'Password changed') do |user|
|
||||
user.passwd(pass)
|
||||
end
|
||||
end
|
||||
@ -472,7 +472,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :chgrp, chgrp_desc, [:range, :userid_list], :groupid do
|
||||
helper.perform_actions(args[0],options,"Group changed") do |user|
|
||||
helper.perform_actions(args[0], options, 'Group changed') do |user|
|
||||
user.chgrp(args[1].to_i)
|
||||
end
|
||||
end
|
||||
@ -484,8 +484,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
command :addgroup, addgroup_desc, [:range, :userid_list], :groupid do
|
||||
gid = args[1]
|
||||
|
||||
helper.perform_actions(args[0],options,"group added") do |user|
|
||||
user.addgroup( gid )
|
||||
helper.perform_actions(args[0], options, 'group added') do |user|
|
||||
user.addgroup(gid)
|
||||
end
|
||||
end
|
||||
|
||||
@ -496,8 +496,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
command :delgroup, delgroup_desc, [:range, :userid_list], :groupid do
|
||||
gid = args[1]
|
||||
|
||||
helper.perform_actions(args[0],options,"group deleted") do |user|
|
||||
user.delgroup( gid )
|
||||
helper.perform_actions(args[0], options, 'group deleted') do |user|
|
||||
user.delgroup(gid)
|
||||
end
|
||||
end
|
||||
|
||||
@ -513,29 +513,29 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :chauth, chauth_desc, :userid, [:auth, nil], [:password, nil],
|
||||
:options=>auth_options do
|
||||
:options => auth_options do
|
||||
if options[:driver]
|
||||
driver = options[:driver]
|
||||
elsif args[1]
|
||||
driver = args[1]
|
||||
else
|
||||
exit_with_code 0, "An Auth driver should be specified"
|
||||
exit_with_code 0, 'An Auth driver should be specified'
|
||||
end
|
||||
|
||||
if args[2]
|
||||
pass = args[2]
|
||||
else
|
||||
rc = helper.password(options)
|
||||
if rc.first == 0
|
||||
if rc.first.zero?
|
||||
pass = rc[1]
|
||||
else
|
||||
pass = ""
|
||||
pass = ''
|
||||
end
|
||||
end
|
||||
|
||||
helper.perform_action(args[0],
|
||||
options,
|
||||
"Auth driver and password changed") do |user|
|
||||
options,
|
||||
'Auth driver and password changed') do |user|
|
||||
user.chauth(driver, pass)
|
||||
end
|
||||
end
|
||||
@ -544,7 +544,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
Lists Users in the pool
|
||||
EOT
|
||||
|
||||
command :list, list_desc, :options=>list_options do
|
||||
command :list, list_desc, :options => list_options do
|
||||
helper.list_pool(options)
|
||||
end
|
||||
|
||||
@ -553,9 +553,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :show, show_desc, [:userid, nil],
|
||||
:options=>OpenNebulaHelper::XML do
|
||||
user=args[0] || OpenNebula::User::SELF
|
||||
helper.show_resource(user,options)
|
||||
:options => OpenNebulaHelper::XML do
|
||||
user = args[0] || OpenNebula::User::SELF
|
||||
helper.show_resource(user, options)
|
||||
end
|
||||
|
||||
show_desc = <<-EOT.unindent
|
||||
@ -563,15 +563,15 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :encode, show_desc, :username, [:password, nil] do
|
||||
ar=args.compact
|
||||
ar = args.compact
|
||||
|
||||
if defined?(URI::Parser)
|
||||
parser=URI::Parser.new
|
||||
parser = URI::DEFAULT_PARSER
|
||||
else
|
||||
parser=URI
|
||||
parser = URI
|
||||
end
|
||||
|
||||
puts ar.map{|a| parser.escape(a) }.join(':')
|
||||
puts ar.map {|a| parser.escape(a) }.join(':')
|
||||
|
||||
0
|
||||
end
|
||||
@ -582,9 +582,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :passwdsearch, passwdsearch_desc, :driver, :password,
|
||||
:options=>[CLIHelper::CSV_OPT, OpenNebulaHelper::XML] do
|
||||
:options => [CLIHelper::CSV_OPT, OpenNebulaHelper::XML] do
|
||||
|
||||
options[:list] = ["ID", "NAME", "AUTH", "PASSWORD"]
|
||||
options[:list] = %w[ID NAME AUTH PASSWORD]
|
||||
options[:filter] = ["AUTH=#{args[0]}", "PASSWORD=#{args[1]}"]
|
||||
|
||||
helper.list_pool(options)
|
||||
@ -618,7 +618,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :"token-create", token_add_desc, [:username, nil],
|
||||
:options=>login_options do
|
||||
:options => login_options do
|
||||
|
||||
helper.token_create(args, options)
|
||||
end
|
||||
@ -648,13 +648,16 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :"token-set", token_set_desc, [:username, nil],
|
||||
:options=>login_options+set_options do
|
||||
:options => login_options + set_options do
|
||||
|
||||
username = args[0]
|
||||
|
||||
if username
|
||||
if username =~ /^\d+$/
|
||||
exit_with_code 1, "The argument should be the username, not the ID."
|
||||
exit_with_code(
|
||||
1,
|
||||
'The argument should be the username, not the ID.'
|
||||
)
|
||||
end
|
||||
|
||||
helper.client = helper.get_login_client(username, options)
|
||||
@ -679,14 +682,17 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
token_hint = nil
|
||||
group = -1
|
||||
else
|
||||
exit_with_code 1, "One of these options must be supplied:\n" <<
|
||||
"[--token <token>] [--group <id|group>] [--global]"
|
||||
exit_with_code(
|
||||
1,
|
||||
"One of these options must be supplied:\n" \
|
||||
'[--token <token>] [--group <id|group>] [--global]'
|
||||
)
|
||||
end
|
||||
|
||||
tokens = helper.find_token(user, token_hint, group, false)
|
||||
|
||||
if tokens.length == 0
|
||||
exit_with_code 1, "No valid tokens found."
|
||||
if tokens.length.zero?
|
||||
exit_with_code 1, 'No valid tokens found.'
|
||||
end
|
||||
|
||||
if token_hint && tokens.length > 1
|
||||
@ -694,25 +700,27 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
exit_with_code 1, msg
|
||||
end
|
||||
|
||||
token = tokens[0]["TOKEN"]
|
||||
token = tokens[0]['TOKEN']
|
||||
|
||||
egid = user["LOGIN_TOKEN[TOKEN='#{token}']/EGID"]
|
||||
|
||||
auth_string = "#{user['NAME']}:#{token}"
|
||||
auth_file = helper.auth_file(auth_string)
|
||||
|
||||
# rubocop:disable HandleExceptions
|
||||
begin
|
||||
FileUtils.mkdir_p(File.dirname(auth_file))
|
||||
rescue Errno::EEXIST
|
||||
end
|
||||
# rubocop:enable HandleExceptions
|
||||
|
||||
file = File.open(auth_file, "w")
|
||||
file = File.open(auth_file, 'w')
|
||||
file.write(auth_string)
|
||||
file.close
|
||||
|
||||
File.chmod(0600, auth_file)
|
||||
File.chmod(0o0600, auth_file)
|
||||
|
||||
msg ="export ONE_AUTH=" + auth_file
|
||||
msg = 'export ONE_AUTH=' + auth_file
|
||||
msg << "; export ONE_EGID=#{egid}" if egid
|
||||
|
||||
exit_with_code 0, msg
|
||||
@ -723,7 +731,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :"token-delete", token_delete_desc, [:username, nil], :token,
|
||||
:options=>login_options do
|
||||
:options => login_options do
|
||||
|
||||
if args.length == 1
|
||||
token_hint = args[0]
|
||||
@ -746,12 +754,15 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
token = helper.find_token(user, token_hint, nil, true)
|
||||
|
||||
if token.count > 1
|
||||
exit_with_code 1, "More than one token starting with '#{token_hint}' found."
|
||||
elsif token.count == 0
|
||||
exit_with_code 1, "No tokens found."
|
||||
exit_with_code(
|
||||
1,
|
||||
"More than one token starting with '#{token_hint}' found."
|
||||
)
|
||||
elsif token.count.zero?
|
||||
exit_with_code 1, 'No tokens found.'
|
||||
end
|
||||
|
||||
token = token[0]["TOKEN"]
|
||||
token = token[0]['TOKEN']
|
||||
|
||||
rc = user.login(user['NAME'], token, 0)
|
||||
|
||||
@ -759,17 +770,19 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
puts rc.message
|
||||
exit_with_code 1, rc.message
|
||||
else
|
||||
puts "Token removed."
|
||||
puts 'Token removed.'
|
||||
end
|
||||
|
||||
auth_string = "#{user['NAME']}:#{token}"
|
||||
auth_file = helper.auth_file(auth_string)
|
||||
|
||||
# rubocop:disable HandleExceptions
|
||||
begin
|
||||
File.unlink(auth_file)
|
||||
puts "Removing #{auth_file}"
|
||||
rescue Errno::ENOENT
|
||||
end
|
||||
# rubocop:enable HandleExceptions
|
||||
|
||||
0
|
||||
end
|
||||
@ -780,16 +793,16 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :"token-delete-all", token_delete_all, :username,
|
||||
:options=>login_options do
|
||||
:options => login_options do
|
||||
|
||||
username = args[0]
|
||||
|
||||
if username =~ /^\d+$/
|
||||
exit_with_code 1, "The argument should be the username, not the ID."
|
||||
exit_with_code 1, 'The argument should be the username, not the ID.'
|
||||
end
|
||||
|
||||
helper.perform_action(username, options, "Tokens expired") do |user|
|
||||
user.login(username, "", 0)
|
||||
helper.perform_action(username, options, 'Tokens expired') do |user|
|
||||
user.login(username, '', 0)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -16,27 +16,26 @@
|
||||
# limitations under the License. #
|
||||
#--------------------------------------------------------------------------- #
|
||||
|
||||
ONE_LOCATION=ENV["ONE_LOCATION"]
|
||||
ONE_LOCATION = ENV['ONE_LOCATION']
|
||||
|
||||
if !ONE_LOCATION
|
||||
RUBY_LIB_LOCATION="/usr/lib/one/ruby"
|
||||
REMOTES_LOCATION="/var/lib/one/remotes/"
|
||||
RUBY_LIB_LOCATION = '/usr/lib/one/ruby'
|
||||
REMOTES_LOCATION = '/var/lib/one/remotes/'
|
||||
else
|
||||
RUBY_LIB_LOCATION=ONE_LOCATION+"/lib/ruby"
|
||||
REMOTES_LOCATION=ONE_LOCATION+"/var/remotes/"
|
||||
RUBY_LIB_LOCATION = ONE_LOCATION + '/lib/ruby'
|
||||
REMOTES_LOCATION = ONE_LOCATION + '/var/remotes/'
|
||||
end
|
||||
|
||||
$: << RUBY_LIB_LOCATION
|
||||
$: << RUBY_LIB_LOCATION+"/cli"
|
||||
$: << REMOTES_LOCATION+"vmm/vcenter/"
|
||||
$LOAD_PATH << RUBY_LIB_LOCATION
|
||||
$LOAD_PATH << RUBY_LIB_LOCATION + '/cli'
|
||||
$LOAD_PATH << REMOTES_LOCATION + 'vmm/vcenter/'
|
||||
|
||||
require 'command_parser'
|
||||
require 'one_helper/onevcenter_helper'
|
||||
require 'vcenter_driver'
|
||||
|
||||
cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
|
||||
usage "`onevcenter` <command> [<args>] [<options>]"
|
||||
CommandParser::CmdParser.new(ARGV) do
|
||||
usage '`onevcenter` <command> [<args>] [<options>]'
|
||||
version OpenNebulaHelper::ONE_VERSION
|
||||
|
||||
helper = OneVcenterHelper.new
|
||||
@ -45,83 +44,78 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
helper.set_client(options)
|
||||
end
|
||||
|
||||
|
||||
OBJECT = {
|
||||
:name => "object",
|
||||
:short => "-o object",
|
||||
:large => "--object object ",
|
||||
:name => 'object',
|
||||
:short => '-o object',
|
||||
:large => '--object object ',
|
||||
:format => String,
|
||||
:description => "vCenter object: [datastores, templates, networks, datastores, images]"
|
||||
:description => 'vCenter object: [datastores, templates,'\
|
||||
'networks, datastores, images]'
|
||||
}
|
||||
|
||||
HOST = {
|
||||
:name => "host",
|
||||
:short => "-h host_id",
|
||||
:large => "--host host_id",
|
||||
:name => 'host',
|
||||
:short => '-h host_id',
|
||||
:large => '--host host_id',
|
||||
:format => String,
|
||||
:description => "OpenNebula host used to authenticate the operation"
|
||||
:description => 'OpenNebula host used to authenticate the operation'
|
||||
}
|
||||
|
||||
DATASTORE = {
|
||||
:name => "datastore",
|
||||
:short => "-d datastore_id",
|
||||
:large => "--datastore datastore_id",
|
||||
:name => 'datastore',
|
||||
:short => '-d datastore_id',
|
||||
:large => '--datastore datastore_id',
|
||||
:format => String,
|
||||
:description => "OpenNebula datastore used"
|
||||
:description => 'OpenNebula datastore used'
|
||||
}
|
||||
|
||||
CONFIG = {
|
||||
:name => "configuration",
|
||||
:large => "--config file",
|
||||
:name => 'configuration',
|
||||
:large => '--config file',
|
||||
:format => String,
|
||||
:description => "Configuration file for custom options"
|
||||
:description => 'Configuration file for custom options'
|
||||
}
|
||||
|
||||
VCENTER = {
|
||||
:name => "vcenter",
|
||||
:large => "--vcenter vCenter" ,
|
||||
:description => "The vCenter hostname",
|
||||
:name => 'vcenter',
|
||||
:large => '--vcenter vCenter',
|
||||
:description => 'The vCenter hostname',
|
||||
:format => String
|
||||
}
|
||||
|
||||
USER = {
|
||||
:name => "vuser",
|
||||
:large => "--vuser username" ,
|
||||
:description => "The username to interact with vCenter",
|
||||
:name => 'vuser',
|
||||
:large => '--vuser username',
|
||||
:description => 'The username to interact with vCenter',
|
||||
:format => String
|
||||
}
|
||||
|
||||
PASS = {
|
||||
:name => "vpass",
|
||||
:large => "--vpass password",
|
||||
:description => "The password for the user",
|
||||
:name => 'vpass',
|
||||
:large => '--vpass password',
|
||||
:description => 'The password for the user',
|
||||
:format => String
|
||||
}
|
||||
|
||||
USE_DEFAULTS = {
|
||||
:name => "defaults",
|
||||
:large => "--use-defaults",
|
||||
:description => "Use defaults for answers to questions",
|
||||
:name => 'defaults',
|
||||
:large => '--use-defaults',
|
||||
:description => 'Use defaults for answers to questions',
|
||||
:format => String
|
||||
}
|
||||
|
||||
ALL = {
|
||||
:name => "all",
|
||||
:large => "--all",
|
||||
:description => "Import all list",
|
||||
:name => 'all',
|
||||
:large => '--all',
|
||||
:description => 'Import all list',
|
||||
:format => String
|
||||
}
|
||||
|
||||
############################################################################
|
||||
# Global Options
|
||||
############################################################################
|
||||
cmd_options=CommandParser::OPTIONS-[CommandParser::VERBOSE]
|
||||
set :option, cmd_options+OpenNebulaHelper::CLIENT_OPTIONS
|
||||
|
||||
#format :oid, "vCenter Object identifier" do |arg|
|
||||
# puts arg
|
||||
#end
|
||||
|
||||
cmd_options = CommandParser::OPTIONS - [CommandParser::VERBOSE]
|
||||
set :option, cmd_options + OpenNebulaHelper::CLIENT_OPTIONS
|
||||
|
||||
############################################################################
|
||||
# list resources
|
||||
@ -138,16 +132,20 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
|
||||
onevcenter list -o datastores -h <host_id> -d <ds-img_id>
|
||||
EOT
|
||||
command :list, list_desc, :options=>[ OBJECT, HOST, DATASTORE, VCENTER, USER, PASS ] do
|
||||
|
||||
command :list,
|
||||
list_desc,
|
||||
:options => [OBJECT, HOST, DATASTORE, VCENTER, USER, PASS] do
|
||||
begin
|
||||
args = helper.parse_opts(options)
|
||||
vi_client = VCenterDriver::VIClient.new_from_host(options[:host])
|
||||
importer = VCenterDriver::VcImporter.new_child(helper.client, vi_client, options[:object])
|
||||
importer = VCenterDriver::VcImporter
|
||||
.new_child(helper.client, vi_client, options[:object])
|
||||
|
||||
list = importer.retrieve_resources(args)
|
||||
|
||||
helper.list_object(options, list)
|
||||
rescue Exception => e
|
||||
rescue StandardError => e
|
||||
puts e.message
|
||||
end
|
||||
|
||||
@ -171,11 +169,14 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
onevcenter import 0..10 -o images -h <host_id> -d <ds-img_id>
|
||||
EOT
|
||||
|
||||
command :import, import_desc, [:oid, nil], :options=>[ OBJECT, HOST, DATASTORE ] do
|
||||
|
||||
command :import,
|
||||
import_desc, [:oid, nil],
|
||||
:options => [OBJECT, HOST, DATASTORE] do
|
||||
begin
|
||||
vi_client = VCenterDriver::VIClient.new_from_host(options[:host])
|
||||
importer = VCenterDriver::VcImporter.new_child(helper.client, vi_client, options[:object])
|
||||
importer = VCenterDriver::VcImporter.new_child(helper.client,
|
||||
vi_client,
|
||||
options[:object])
|
||||
|
||||
importer.retrieve_resources(helper.parse_opts(options))
|
||||
indexes = importer.get_indexes(args.first)
|
||||
@ -185,25 +186,29 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
end
|
||||
|
||||
importer.stdout
|
||||
rescue Exception => e
|
||||
rescue StandardError => e
|
||||
puts e.message
|
||||
end
|
||||
|
||||
exit 0
|
||||
end
|
||||
|
||||
command :import_defaults, import_desc, [:oid, nil] , :options=>[ OBJECT, HOST, DATASTORE, CONFIG ] do
|
||||
|
||||
command :import_defaults,
|
||||
import_desc,
|
||||
[:oid, nil],
|
||||
:options => [OBJECT, HOST, DATASTORE, CONFIG] do
|
||||
begin
|
||||
vi_client = VCenterDriver::VIClient.new_from_host(options[:host])
|
||||
importer = VCenterDriver::VcImporter.new_child(helper.client, vi_client, options[:object])
|
||||
importer = VCenterDriver::VcImporter.new_child(helper.client,
|
||||
vi_client,
|
||||
options[:object])
|
||||
importer.retrieve_resources(helper.parse_opts(options))
|
||||
indexes = importer.get_indexes(args.first)
|
||||
|
||||
importer.process_import(indexes)
|
||||
|
||||
importer.stdout
|
||||
rescue Exception => e
|
||||
rescue StandardError => e
|
||||
puts e.message
|
||||
end
|
||||
|
||||
@ -221,12 +226,13 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
|
||||
onevcenter hosts --vcenter <vcenter> --vuser <vcenter_user> --vpass <password>
|
||||
EOT
|
||||
command :hosts, host_desc, :options=>[ VCENTER, USER, PASS, USE_DEFAULTS ] do
|
||||
con_ops = helper.connection_options("Hosts", options)
|
||||
command :hosts,
|
||||
host_desc,
|
||||
:options => [VCENTER, USER, PASS, USE_DEFAULTS] do
|
||||
con_ops = helper.connection_options('Hosts', options)
|
||||
|
||||
VCenterDriver::VcImporter.import_clusters(con_ops, options)
|
||||
|
||||
exit 0
|
||||
end
|
||||
|
||||
end
|
||||
|
602
src/cli/onevm
602
src/cli/onevm
File diff suppressed because it is too large
Load Diff
@ -16,22 +16,22 @@
|
||||
# limitations under the License. #
|
||||
#--------------------------------------------------------------------------- #
|
||||
|
||||
ONE_LOCATION=ENV["ONE_LOCATION"]
|
||||
ONE_LOCATION = ENV['ONE_LOCATION']
|
||||
|
||||
if !ONE_LOCATION
|
||||
RUBY_LIB_LOCATION="/usr/lib/one/ruby"
|
||||
RUBY_LIB_LOCATION = '/usr/lib/one/ruby'
|
||||
else
|
||||
RUBY_LIB_LOCATION=ONE_LOCATION+"/lib/ruby"
|
||||
RUBY_LIB_LOCATION = ONE_LOCATION + '/lib/ruby'
|
||||
end
|
||||
|
||||
$: << RUBY_LIB_LOCATION
|
||||
$: << RUBY_LIB_LOCATION+"/cli"
|
||||
$LOAD_PATH << RUBY_LIB_LOCATION
|
||||
$LOAD_PATH << RUBY_LIB_LOCATION + '/cli'
|
||||
|
||||
require 'command_parser'
|
||||
require 'one_helper/onevmgroup_helper'
|
||||
|
||||
cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
usage "`onevmgroup` <command> [<args>] [<options>]"
|
||||
CommandParser::CmdParser.new(ARGV) do
|
||||
usage '`onevmgroup` <command> [<args>] [<options>]'
|
||||
version OpenNebulaHelper::ONE_VERSION
|
||||
|
||||
helper = OneVMGroupHelper.new
|
||||
@ -40,34 +40,34 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
helper.set_client(options)
|
||||
end
|
||||
|
||||
USE={
|
||||
:name => "use",
|
||||
:large => "--use",
|
||||
:description => "lock use actions"
|
||||
USE = {
|
||||
:name => 'use',
|
||||
:large => '--use',
|
||||
:description => 'lock use actions'
|
||||
}
|
||||
|
||||
MANAGE={
|
||||
:name => "manage",
|
||||
:large => "--manage",
|
||||
:description => "lock manage actions"
|
||||
MANAGE = {
|
||||
:name => 'manage',
|
||||
:large => '--manage',
|
||||
:description => 'lock manage actions'
|
||||
}
|
||||
|
||||
ADMIN={
|
||||
:name => "admin",
|
||||
:large => "--admin",
|
||||
:description => "lock admin actions"
|
||||
ADMIN = {
|
||||
:name => 'admin',
|
||||
:large => '--admin',
|
||||
:description => 'lock admin actions'
|
||||
}
|
||||
|
||||
ALL={
|
||||
:name => "all",
|
||||
:large => "--all",
|
||||
:description => "lock all actions"
|
||||
ALL = {
|
||||
:name => 'all',
|
||||
:large => '--all',
|
||||
:description => 'lock all actions'
|
||||
}
|
||||
|
||||
########################################################################
|
||||
# Global Options
|
||||
########################################################################
|
||||
set :option, CommandParser::OPTIONS+OpenNebulaHelper::CLIENT_OPTIONS
|
||||
set :option, CommandParser::OPTIONS + OpenNebulaHelper::CLIENT_OPTIONS
|
||||
|
||||
list_options = CLIHelper::OPTIONS
|
||||
list_options << OpenNebulaHelper::XML
|
||||
@ -77,12 +77,12 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
########################################################################
|
||||
# Formatters for arguments
|
||||
########################################################################
|
||||
set :format, :groupid, OpenNebulaHelper.rname_to_id_desc("GROUP") do |arg|
|
||||
OpenNebulaHelper.rname_to_id(arg, "GROUP")
|
||||
set :format, :groupid, OpenNebulaHelper.rname_to_id_desc('GROUP') do |arg|
|
||||
OpenNebulaHelper.rname_to_id(arg, 'GROUP')
|
||||
end
|
||||
|
||||
set :format, :userid, OpenNebulaHelper.rname_to_id_desc("USER") do |arg|
|
||||
OpenNebulaHelper.rname_to_id(arg, "USER")
|
||||
set :format, :userid, OpenNebulaHelper.rname_to_id_desc('USER') do |arg|
|
||||
OpenNebulaHelper.rname_to_id(arg, 'USER')
|
||||
end
|
||||
|
||||
set :format, :vmgroupid, OneVMGroupHelper.to_id_desc do |arg|
|
||||
@ -111,9 +111,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
template = File.read(args[0])
|
||||
|
||||
obj.allocate(template)
|
||||
rescue => e
|
||||
STDERR.puts e.messsage
|
||||
exit -1
|
||||
rescue StandardError => e
|
||||
STDERR.puts "Error creating VM Group: #{e.messsage}"
|
||||
exit(-1)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -123,7 +123,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :delete, delete_desc, [:range, :vmgroupid_list] do
|
||||
helper.perform_actions(args[0],options,"deleted") do |obj|
|
||||
helper.perform_actions(args[0], options, 'deleted') do |obj|
|
||||
obj.delete
|
||||
end
|
||||
end
|
||||
@ -132,7 +132,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
Lists VM Group in the pool
|
||||
EOT
|
||||
|
||||
command :list, list_desc, [:filterflag, nil], :options=>list_options do
|
||||
command :list, list_desc, [:filterflag, nil], :options => list_options do
|
||||
helper.list_pool(options, false, args[0])
|
||||
end
|
||||
|
||||
@ -140,16 +140,16 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
Shows information for the given VM Group
|
||||
EOT
|
||||
|
||||
command :show, show_desc, :vmgroupid, :options=>OpenNebulaHelper::XML do
|
||||
helper.show_resource(args[0],options)
|
||||
command :show, show_desc, :vmgroupid, :options => OpenNebulaHelper::XML do
|
||||
helper.show_resource(args[0], options)
|
||||
end
|
||||
|
||||
chgrp_desc = <<-EOT.unindent
|
||||
Changes the VM Group's group
|
||||
EOT
|
||||
|
||||
command :chgrp, chgrp_desc,[:range, :vmgroupid_list], :groupid do
|
||||
helper.perform_actions(args[0],options,"Group changed") do |obj|
|
||||
command :chgrp, chgrp_desc, [:range, :vmgroupid_list], :groupid do
|
||||
helper.perform_actions(args[0], options, 'Group changed') do |obj|
|
||||
obj.chown(-1, args[1].to_i)
|
||||
end
|
||||
end
|
||||
@ -159,9 +159,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :chown, chown_desc, [:range, :vmgroupid_list], :userid,
|
||||
[:groupid,nil] do
|
||||
gid = args[2].nil? ? -1 : args[2].to_i
|
||||
helper.perform_actions(args[0],options,"Owner/Group changed") do |obj|
|
||||
[:groupid, nil] do
|
||||
args[2].nil? ? gid = -1 : gid = args[2].to_i
|
||||
helper.perform_actions(args[0], options, 'Owner/Group changed') do |obj|
|
||||
obj.chown(args[1].to_i, gid)
|
||||
end
|
||||
end
|
||||
@ -171,7 +171,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :chmod, chmod_desc, [:range, :vmgroupid_list], :octet do
|
||||
helper.perform_actions(args[0],options, "Permissions changed") do |t|
|
||||
helper.perform_actions(args[0], options, 'Permissions changed') do |t|
|
||||
t.chmod_octet(args[1])
|
||||
end
|
||||
end
|
||||
@ -182,8 +182,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :update, update_desc, :vmgroupid, [:file, nil],
|
||||
:options=>OpenNebulaHelper::APPEND do
|
||||
helper.perform_action(args[0],options,"modified") do |obj|
|
||||
:options => OpenNebulaHelper::APPEND do
|
||||
helper.perform_action(args[0], options, 'modified') do |obj|
|
||||
if options[:append]
|
||||
str = OpenNebulaHelper.append_template(args[0], obj, args[1])
|
||||
else
|
||||
@ -202,7 +202,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :rename, rename_desc, :vmgroupid, :name do
|
||||
helper.perform_action(args[0],options,"renamed") do |o|
|
||||
helper.perform_action(args[0], options, 'renamed') do |o|
|
||||
o.rename(args[1])
|
||||
end
|
||||
end
|
||||
@ -218,8 +218,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :lock, lock_desc, :vmgroupid,
|
||||
:options => [USE, MANAGE, ADMIN, ALL] do
|
||||
helper.perform_action(args[0],options,"VMGroup locked") do |vmg|
|
||||
:options => [USE, MANAGE, ADMIN, ALL] do
|
||||
helper.perform_action(args[0], options, 'VMGroup locked') do |vmg|
|
||||
if !options[:use].nil?
|
||||
level = 1
|
||||
elsif !options[:manage].nil?
|
||||
@ -241,7 +241,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :unlock, unlock_desc, :vmgroupid do
|
||||
helper.perform_action(args[0],options,"VMGroup unlocked") do |vmg|
|
||||
helper.perform_action(args[0], options, 'VMGroup unlocked') do |vmg|
|
||||
vmg.unlock
|
||||
end
|
||||
end
|
||||
|
244
src/cli/onevnet
244
src/cli/onevnet
@ -16,23 +16,23 @@
|
||||
# limitations under the License. #
|
||||
#--------------------------------------------------------------------------- #
|
||||
|
||||
ONE_LOCATION=ENV["ONE_LOCATION"]
|
||||
ONE_LOCATION = ENV['ONE_LOCATION']
|
||||
|
||||
if !ONE_LOCATION
|
||||
RUBY_LIB_LOCATION="/usr/lib/one/ruby"
|
||||
RUBY_LIB_LOCATION = '/usr/lib/one/ruby'
|
||||
else
|
||||
RUBY_LIB_LOCATION=ONE_LOCATION+"/lib/ruby"
|
||||
RUBY_LIB_LOCATION = ONE_LOCATION + '/lib/ruby'
|
||||
end
|
||||
|
||||
$: << RUBY_LIB_LOCATION
|
||||
$: << RUBY_LIB_LOCATION+"/cli"
|
||||
$LOAD_PATH << RUBY_LIB_LOCATION
|
||||
$LOAD_PATH << RUBY_LIB_LOCATION + '/cli'
|
||||
|
||||
require 'command_parser'
|
||||
require 'one_helper/onevnet_helper'
|
||||
require 'one_helper/onecluster_helper'
|
||||
|
||||
cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
usage "`onevnet` <command> [<args>] [<options>]"
|
||||
CommandParser::CmdParser.new(ARGV) do
|
||||
usage '`onevnet` <command> [<args>] [<options>]'
|
||||
version OpenNebulaHelper::ONE_VERSION
|
||||
|
||||
helper = OneVNetHelper.new
|
||||
@ -41,34 +41,34 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
helper.set_client(options)
|
||||
end
|
||||
|
||||
USE={
|
||||
:name => "use",
|
||||
:large => "--use",
|
||||
:description => "lock use actions"
|
||||
USE = {
|
||||
:name => 'use',
|
||||
:large => '--use',
|
||||
:description => 'lock use actions'
|
||||
}
|
||||
|
||||
MANAGE={
|
||||
:name => "manage",
|
||||
:large => "--manage",
|
||||
:description => "lock manage actions"
|
||||
MANAGE = {
|
||||
:name => 'manage',
|
||||
:large => '--manage',
|
||||
:description => 'lock manage actions'
|
||||
}
|
||||
|
||||
ADMIN={
|
||||
:name => "admin",
|
||||
:large => "--admin",
|
||||
:description => "lock admin actions"
|
||||
ADMIN = {
|
||||
:name => 'admin',
|
||||
:large => '--admin',
|
||||
:description => 'lock admin actions'
|
||||
}
|
||||
|
||||
ALL={
|
||||
:name => "all",
|
||||
:large => "--all",
|
||||
:description => "lock all actions"
|
||||
ALL = {
|
||||
:name => 'all',
|
||||
:large => '--all',
|
||||
:description => 'lock all actions'
|
||||
}
|
||||
|
||||
########################################################################
|
||||
# Global Options
|
||||
########################################################################
|
||||
set :option, CommandParser::OPTIONS+OpenNebulaHelper::CLIENT_OPTIONS
|
||||
set :option, CommandParser::OPTIONS + OpenNebulaHelper::CLIENT_OPTIONS
|
||||
|
||||
CREATE_OPTIONS = [OneClusterHelper::CLUSTER]
|
||||
STD_OPTIONS = CommandParser::OPTIONS + OpenNebulaHelper::CLIENT_OPTIONS
|
||||
@ -76,12 +76,12 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
########################################################################
|
||||
# Formatters for arguments
|
||||
########################################################################
|
||||
set :format, :groupid, OpenNebulaHelper.rname_to_id_desc("GROUP") do |arg|
|
||||
OpenNebulaHelper.rname_to_id(arg, "GROUP")
|
||||
set :format, :groupid, OpenNebulaHelper.rname_to_id_desc('GROUP') do |arg|
|
||||
OpenNebulaHelper.rname_to_id(arg, 'GROUP')
|
||||
end
|
||||
|
||||
set :format, :userid, OpenNebulaHelper.rname_to_id_desc("USER") do |arg|
|
||||
OpenNebulaHelper.rname_to_id(arg, "USER")
|
||||
set :format, :userid, OpenNebulaHelper.rname_to_id_desc('USER') do |arg|
|
||||
OpenNebulaHelper.rname_to_id(arg, 'USER')
|
||||
end
|
||||
|
||||
set :format, :vnetid, OneVNetHelper.to_id_desc do |arg|
|
||||
@ -96,7 +96,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
helper.filterflag_to_i(arg)
|
||||
end
|
||||
|
||||
set :format, :ar_id, "Integer" do |arg|
|
||||
set :format, :ar_id, 'Integer' do |arg|
|
||||
format_int(arg)
|
||||
end
|
||||
|
||||
@ -108,16 +108,16 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
Creates a new Virtual Network from the given template file
|
||||
EOT
|
||||
|
||||
command :create, create_desc, :file, :options=>CREATE_OPTIONS do
|
||||
command :create, create_desc, :file, :options => CREATE_OPTIONS do
|
||||
cid = options[:cluster] || ClusterPool::NONE_CLUSTER_ID
|
||||
|
||||
helper.create_resource(options) do |vn|
|
||||
begin
|
||||
template=File.read(args[0])
|
||||
template = File.read(args[0])
|
||||
vn.allocate(template, cid)
|
||||
rescue => e
|
||||
STDERR.puts e.message
|
||||
exit -1
|
||||
rescue StandardError => e
|
||||
STDERR.puts "Error creating network: #{e.message}"
|
||||
exit(-1)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -127,7 +127,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :delete, delete_desc, [:range, :vnetid_list] do
|
||||
helper.perform_actions(args[0],options,"deleted") do |vn|
|
||||
helper.perform_actions(args[0], options, 'deleted') do |vn|
|
||||
vn.delete
|
||||
end
|
||||
end
|
||||
@ -138,41 +138,41 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
|
||||
command :addar, addar_desc, :vnetid, [:file, nil],
|
||||
:options => STD_OPTIONS + OneVNetHelper::ADDAR_OPTIONS do
|
||||
helper.perform_action(args[0],options,"lease added") do |vn|
|
||||
helper.perform_action(args[0], options, 'lease added') do |vn|
|
||||
if args[1]
|
||||
ar = File.read(args[1])
|
||||
else
|
||||
ar = "AR = [ "
|
||||
ar = 'AR = [ '
|
||||
|
||||
if options[:ip]
|
||||
if options[:ip6_global] || options[:ip6_ula]
|
||||
ar << "TYPE=\"IP4_6\""
|
||||
ar << 'TYPE="IP4_6"'
|
||||
elsif options[:ip6]
|
||||
ar << "TYPE=\"IP4_6_STATIC\""
|
||||
ar << 'TYPE="IP4_6_STATIC"'
|
||||
else
|
||||
ar << "TYPE=\"IP4\""
|
||||
ar << 'TYPE="IP4"'
|
||||
end
|
||||
elsif options[:ip6]
|
||||
ar << "TYPE=\"IP6_STATIC\""
|
||||
ar << 'TYPE="IP6_STATIC"'
|
||||
elsif options[:ip6_global] || options[:ip6_ula]
|
||||
ar << "TYPE=\"IP6\""
|
||||
ar << 'TYPE="IP6"'
|
||||
else
|
||||
ar << "TYPE=\"ETHER\""
|
||||
ar << 'TYPE="ETHER"'
|
||||
end
|
||||
|
||||
if options[:size]
|
||||
ar << ", SIZE = " << options[:size]
|
||||
ar << ', SIZE = ' << options[:size]
|
||||
else
|
||||
STDERR.puts "Address range needs to specify size (-s size)"
|
||||
exit -1
|
||||
STDERR.puts 'Address range needs to specify size (-s size)'
|
||||
exit(-1)
|
||||
end
|
||||
|
||||
if options[:ip6]
|
||||
m = /([\h:]*)\/(\d.*)$/.match(options[:ip6])
|
||||
m = %r{/([\h:]*)\/(\d.*)$/}.match(options[:ip6])
|
||||
|
||||
if m.nil? || m[1].nil?
|
||||
STDERR.puts "Missing or wrong IP6"
|
||||
exit -1
|
||||
STDERR.puts 'Missing or wrong IP6'
|
||||
exit(-1)
|
||||
else
|
||||
begin
|
||||
require 'ipaddr'
|
||||
@ -180,19 +180,19 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
ip = IPAddr.new(m[1])
|
||||
|
||||
if !ip.ipv6?
|
||||
STDERR.puts "Wrong IP6 format address"
|
||||
exit -1
|
||||
STDERR.puts 'Wrong IP6 format address'
|
||||
exit(-1)
|
||||
end
|
||||
rescue
|
||||
STDERR.puts "Wrong IP6 format address"
|
||||
exit -1
|
||||
rescue StandardError
|
||||
STDERR.puts 'Wrong IP6 format address'
|
||||
exit(-1)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
if m[2].nil?
|
||||
STDERR.puts "IP6 address need to set the prefix length"
|
||||
exit -1
|
||||
STDERR.puts 'IP6 address need to set the prefix length'
|
||||
exit(-1)
|
||||
end
|
||||
|
||||
ar << ", PREFIX_LENGTH=\"#{m[2]}\""
|
||||
@ -200,19 +200,21 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
options[:ip6] = m[1]
|
||||
end
|
||||
|
||||
ar << ", IP = " << options[:ip] if options[:ip]
|
||||
ar << ", IP6 = " << options[:ip6] if options[:ip6]
|
||||
ar << ", MAC = " << options[:mac] if options[:mac]
|
||||
ar << ", GLOBAL_PREFIX = " <<
|
||||
options[:ip6_global] if options[:ip6_global]
|
||||
ar << ", ULA_PREFIX = " <<
|
||||
options[:ip6_ula] if options[:ip6_ula]
|
||||
ar << ", GATEWAY = " << options[:gateway] if options[:gateway]
|
||||
ar << ", MASK = " << options[:netmask] if options[:netmask]
|
||||
ar << ", VN_MAD = " << options[:vn_mad] if options[:vn_mad]
|
||||
ar << ", VLAN_ID = " << options[:vlanid] if options[:vlanid]
|
||||
ar << ', IP = ' << options[:ip] if options[:ip]
|
||||
ar << ', IP6 = ' << options[:ip6] if options[:ip6]
|
||||
ar << ', MAC = ' << options[:mac] if options[:mac]
|
||||
if options[:ip6_global]
|
||||
ar << ', GLOBAL_PREFIX = ' << options[:ip6_global]
|
||||
end
|
||||
if options[:ip6_ula]
|
||||
ar << ', ULA_PREFIX = ' << options[:ip6_ula]
|
||||
end
|
||||
ar << ', GATEWAY = ' << options[:gateway] if options[:gateway]
|
||||
ar << ', MASK = ' << options[:netmask] if options[:netmask]
|
||||
ar << ', VN_MAD = ' << options[:vn_mad] if options[:vn_mad]
|
||||
ar << ', VLAN_ID = ' << options[:vlanid] if options[:vlanid]
|
||||
|
||||
ar << "]"
|
||||
ar << ']'
|
||||
end
|
||||
|
||||
vn.add_ar(ar)
|
||||
@ -224,7 +226,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :addleases, addleases_desc, :vnetid, :ip, [:mac, nil] do
|
||||
helper.perform_action(args[0],options,"lease added") do |vn|
|
||||
helper.perform_action(args[0], options, 'lease added') do |vn|
|
||||
vn.addleases(args[1], args[2])
|
||||
end
|
||||
end
|
||||
@ -234,7 +236,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :rmar, rmar_desc, :vnetid, :ar_id do
|
||||
helper.perform_action(args[0],options,"address range removed") do |vn|
|
||||
helper.perform_action(args[0], options, 'address range removed') do |vn|
|
||||
vn.rm_ar(args[1])
|
||||
end
|
||||
end
|
||||
@ -244,7 +246,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :rmleases, rmleases_desc, :vnetid, :ip do
|
||||
helper.perform_action(args[0],options,"lease removed") do |vn|
|
||||
helper.perform_action(args[0], options, 'lease removed') do |vn|
|
||||
vn.rmleases(args[1])
|
||||
end
|
||||
end
|
||||
@ -254,7 +256,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :free, free_desc, :vnetid, :ar_id do
|
||||
helper.perform_action(args[0],options,"address range freed") do |vn|
|
||||
helper.perform_action(args[0], options, 'address range freed') do |vn|
|
||||
vn.free(args[1])
|
||||
end
|
||||
end
|
||||
@ -264,8 +266,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :hold, hold_desc, :vnetid, :ip,
|
||||
:options=>STD_OPTIONS + [OneVNetHelper::AR] do
|
||||
helper.perform_action(args[0],options,"lease on hold") do |vn|
|
||||
:options => STD_OPTIONS + [OneVNetHelper::AR] do
|
||||
helper.perform_action(args[0], options, 'lease on hold') do |vn|
|
||||
ar = options[:address_range] || -1
|
||||
|
||||
vn.hold(args[1], ar)
|
||||
@ -277,9 +279,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :release, release_desc, :vnetid, :ip,
|
||||
:options=>STD_OPTIONS + [OneVNetHelper::AR] do
|
||||
helper.perform_action(args[0],options,"lease released") do |vn|
|
||||
ar = options[:address_range] || -1
|
||||
:options => STD_OPTIONS + [OneVNetHelper::AR] do
|
||||
helper.perform_action(args[0], options, 'lease released') do |vn|
|
||||
ar = options[:address_range] || -1
|
||||
|
||||
vn.release(args[1], ar)
|
||||
end
|
||||
@ -293,10 +295,13 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :reserve, reserve_desc, :vnetid, [:vnetid, nil],
|
||||
:options=>STD_OPTIONS + [OneVNetHelper::AR, OneVNetHelper::NAME,
|
||||
OneVNetHelper::SIZE, OneVNetHelper::MAC, OneVNetHelper::IP,
|
||||
OneVNetHelper::IP6 ] do
|
||||
helper.perform_action(args[0],options,"reservation made") do |vn|
|
||||
:options => STD_OPTIONS + [OneVNetHelper::AR,
|
||||
OneVNetHelper::NAME,
|
||||
OneVNetHelper::SIZE,
|
||||
OneVNetHelper::MAC,
|
||||
OneVNetHelper::IP,
|
||||
OneVNetHelper::IP6] do
|
||||
helper.perform_action(args[0], options, 'reservation made') do |vn|
|
||||
size = options[:size] || -1
|
||||
name = options[:name] || -1
|
||||
|
||||
@ -306,13 +311,13 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
addr = options[:ip6] if options[:ip6]
|
||||
|
||||
if size == -1
|
||||
STDERR.puts "Specify a size (-s size) for the reservation"
|
||||
exit -1
|
||||
STDERR.puts 'Specify a size (-s size) for the reservation'
|
||||
exit(-1)
|
||||
end
|
||||
|
||||
if name == -1 && args[1].nil?
|
||||
STDERR.puts "Specify a name (-n name) for the reservation"
|
||||
exit -1
|
||||
STDERR.puts 'Specify a name (-n name) for the reservation'
|
||||
exit(-1)
|
||||
end
|
||||
|
||||
res = vn.reserve(name, size, options[:address_range], addr, args[1])
|
||||
@ -325,13 +330,12 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
chgrp_desc = <<-EOT.unindent
|
||||
Changes the Virtual Network group
|
||||
EOT
|
||||
|
||||
command :chgrp, chgrp_desc,[:range, :vnetid_list], :groupid do
|
||||
helper.perform_actions(args[0],options,"Group changed") do |vn|
|
||||
command :chgrp, chgrp_desc, [:range, :vnetid_list], :groupid do
|
||||
helper.perform_actions(args[0], options, 'Group changed') do |vn|
|
||||
vn.chown(-1, args[1].to_i)
|
||||
end
|
||||
end
|
||||
@ -341,9 +345,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :chown, chown_desc, [:range, :vnetid_list], :userid,
|
||||
[:groupid,nil] do
|
||||
gid = args[2].nil? ? -1 : args[2].to_i
|
||||
helper.perform_actions(args[0],options,"Owner/Group changed") do |vn|
|
||||
[:groupid, nil] do
|
||||
args[2].nil? ? gid = -1 : gid = args[2].to_i
|
||||
helper.perform_actions(args[0], options, 'Owner/Group changed') do |vn|
|
||||
vn.chown(args[1].to_i, gid)
|
||||
end
|
||||
end
|
||||
@ -353,7 +357,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :chmod, chmod_desc, [:range, :vnetid_list], :octet do
|
||||
helper.perform_actions(args[0],options, "Permissions changed") do |vn|
|
||||
helper.perform_actions(args[0], options, 'Permissions changed') do |vn|
|
||||
vn.chmod_octet(args[1])
|
||||
end
|
||||
end
|
||||
@ -363,8 +367,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :list, list_desc, [:filterflag, nil],
|
||||
:options=>CLIHelper::OPTIONS+OpenNebulaHelper::OPTIONS+
|
||||
[OpenNebulaHelper::DESCRIBE] do
|
||||
:options => CLIHelper::OPTIONS + OpenNebulaHelper::OPTIONS +
|
||||
[OpenNebulaHelper::DESCRIBE] do
|
||||
helper.list_pool(options, false, args[0])
|
||||
end
|
||||
|
||||
@ -373,8 +377,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :show, show_desc, :vnetid,
|
||||
:options=>[OpenNebulaHelper::XML, OneVNetHelper::SHOW_AR] do
|
||||
helper.show_resource(args[0],options)
|
||||
:options => [OpenNebulaHelper::XML, OneVNetHelper::SHOW_AR] do
|
||||
helper.show_resource(args[0], options)
|
||||
end
|
||||
|
||||
update_desc = <<-EOT.unindent
|
||||
@ -383,8 +387,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :update, update_desc, :vnetid, [:file, nil],
|
||||
:options=>OpenNebulaHelper::APPEND do
|
||||
helper.perform_action(args[0],options,"modified") do |obj|
|
||||
:options => OpenNebulaHelper::APPEND do
|
||||
helper.perform_action(args[0], options, 'modified') do |obj|
|
||||
if options[:append]
|
||||
str = OpenNebulaHelper.append_template(args[0], obj, args[1])
|
||||
else
|
||||
@ -403,32 +407,36 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :updatear, update_ar_desc, :vnetid, :ar_id, [:file, nil] do
|
||||
helper.perform_action(args[0],options,"modified") do |obj|
|
||||
helper.perform_action(args[0], options, 'modified') do |obj|
|
||||
rc = obj.info
|
||||
|
||||
if OpenNebula.is_error?(rc)
|
||||
puts rc.message
|
||||
exit -1
|
||||
exit(-1)
|
||||
end
|
||||
|
||||
obj.delete_element("AR_POOL/AR[AR_ID!=#{args[1]}]")
|
||||
obj.delete_element("AR_POOL/AR/LEASES")
|
||||
obj.delete_element("AR_POOL/AR/USED_LEASES")
|
||||
obj.delete_element("AR_POOL/AR/MAC_END")
|
||||
obj.delete_element("AR_POOL/AR/IP_END")
|
||||
obj.delete_element("AR_POOL/AR/IP6_ULA")
|
||||
obj.delete_element("AR_POOL/AR/IP6_ULA_END")
|
||||
obj.delete_element("AR_POOL/AR/IP6_GLOBAL")
|
||||
obj.delete_element("AR_POOL/AR/IP6_GLOBAL_END")
|
||||
obj.delete_element('AR_POOL/AR/LEASES')
|
||||
obj.delete_element('AR_POOL/AR/USED_LEASES')
|
||||
obj.delete_element('AR_POOL/AR/MAC_END')
|
||||
obj.delete_element('AR_POOL/AR/IP_END')
|
||||
obj.delete_element('AR_POOL/AR/IP6_ULA')
|
||||
obj.delete_element('AR_POOL/AR/IP6_ULA_END')
|
||||
obj.delete_element('AR_POOL/AR/IP6_GLOBAL')
|
||||
obj.delete_element('AR_POOL/AR/IP6_GLOBAL_END')
|
||||
|
||||
if obj.template_like_str("AR_POOL").empty?
|
||||
puts "Address Range #{args[1]} does not exist for "<<
|
||||
"Virtual Network #{args[0]}"
|
||||
exit -1
|
||||
if obj.template_like_str('AR_POOL').empty?
|
||||
puts "Address Range #{args[1]} does not exist for " \
|
||||
"Virtual Network #{args[0]}"
|
||||
exit(-1)
|
||||
end
|
||||
|
||||
str = OpenNebulaHelper.update_template_helper(false, args[0], obj,
|
||||
args[2], "AR_POOL", false)
|
||||
str = OpenNebulaHelper.update_template_helper(false,
|
||||
args[0],
|
||||
obj,
|
||||
args[2],
|
||||
'AR_POOL',
|
||||
false)
|
||||
|
||||
helper.set_client(options)
|
||||
obj = helper.retrieve_resource(obj.id)
|
||||
@ -442,7 +450,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :rename, rename_desc, :vnetid, :name do
|
||||
helper.perform_action(args[0],options,"renamed") do |o|
|
||||
helper.perform_action(args[0], options, 'renamed') do |o|
|
||||
o.rename(args[1])
|
||||
end
|
||||
end
|
||||
@ -458,8 +466,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :lock, lock_desc, :vnetid,
|
||||
:options => [USE, MANAGE, ADMIN, ALL] do
|
||||
helper.perform_action(args[0],options,"VNet locked") do |vnet|
|
||||
:options => [USE, MANAGE, ADMIN, ALL] do
|
||||
helper.perform_action(args[0], options, 'VNet locked') do |vnet|
|
||||
if !options[:use].nil?
|
||||
level = 1
|
||||
elsif !options[:manage].nil?
|
||||
@ -481,7 +489,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :unlock, unlock_desc, :vnetid do
|
||||
helper.perform_action(args[0],options,"VNet unlocked") do |vnet|
|
||||
helper.perform_action(args[0], options, 'VNet unlocked') do |vnet|
|
||||
vnet.unlock
|
||||
end
|
||||
end
|
||||
|
@ -16,24 +16,24 @@
|
||||
# limitations under the License. #
|
||||
#--------------------------------------------------------------------------- #
|
||||
|
||||
ONE_LOCATION=ENV["ONE_LOCATION"]
|
||||
ONE_LOCATION = ENV['ONE_LOCATION']
|
||||
|
||||
if !ONE_LOCATION
|
||||
RUBY_LIB_LOCATION="/usr/lib/one/ruby"
|
||||
RUBY_LIB_LOCATION = '/usr/lib/one/ruby'
|
||||
else
|
||||
RUBY_LIB_LOCATION=ONE_LOCATION+"/lib/ruby"
|
||||
RUBY_LIB_LOCATION = ONE_LOCATION + '/lib/ruby'
|
||||
end
|
||||
|
||||
$: << RUBY_LIB_LOCATION
|
||||
$: << RUBY_LIB_LOCATION+"/cli"
|
||||
$LOAD_PATH << RUBY_LIB_LOCATION
|
||||
$LOAD_PATH << RUBY_LIB_LOCATION + '/cli'
|
||||
|
||||
require 'command_parser'
|
||||
require 'one_helper/onevrouter_helper'
|
||||
require 'one_helper/onetemplate_helper'
|
||||
require 'one_helper/onevm_helper'
|
||||
|
||||
cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
usage "`onevrouter` <command> [<args>] [<options>]"
|
||||
CommandParser::CmdParser.new(ARGV) do
|
||||
usage '`onevrouter` <command> [<args>] [<options>]'
|
||||
version OpenNebulaHelper::ONE_VERSION
|
||||
|
||||
helper = OneVirtualRouterHelper.new
|
||||
@ -42,34 +42,34 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
helper.set_client(options)
|
||||
end
|
||||
|
||||
USE={
|
||||
:name => "use",
|
||||
:large => "--use",
|
||||
:description => "lock use actions"
|
||||
USE = {
|
||||
:name => 'use',
|
||||
:large => '--use',
|
||||
:description => 'lock use actions'
|
||||
}
|
||||
|
||||
MANAGE={
|
||||
:name => "manage",
|
||||
:large => "--manage",
|
||||
:description => "lock manage actions"
|
||||
MANAGE = {
|
||||
:name => 'manage',
|
||||
:large => '--manage',
|
||||
:description => 'lock manage actions'
|
||||
}
|
||||
|
||||
ADMIN={
|
||||
:name => "admin",
|
||||
:large => "--admin",
|
||||
:description => "lock admin actions"
|
||||
ADMIN = {
|
||||
:name => 'admin',
|
||||
:large => '--admin',
|
||||
:description => 'lock admin actions'
|
||||
}
|
||||
|
||||
ALL={
|
||||
:name => "all",
|
||||
:large => "--all",
|
||||
:description => "lock all actions"
|
||||
ALL = {
|
||||
:name => 'all',
|
||||
:large => '--all',
|
||||
:description => 'lock all actions'
|
||||
}
|
||||
|
||||
########################################################################
|
||||
# Global Options
|
||||
########################################################################
|
||||
set :option, CommandParser::OPTIONS+OpenNebulaHelper::CLIENT_OPTIONS
|
||||
set :option, CommandParser::OPTIONS + OpenNebulaHelper::CLIENT_OPTIONS
|
||||
|
||||
list_options = CLIHelper::OPTIONS
|
||||
list_options << OpenNebulaHelper::XML
|
||||
@ -79,28 +79,31 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
########################################################################
|
||||
# Formatters for arguments
|
||||
########################################################################
|
||||
set :format, :groupid, OpenNebulaHelper.rname_to_id_desc("GROUP") do |arg|
|
||||
OpenNebulaHelper.rname_to_id(arg, "GROUP")
|
||||
set :format, :groupid, OpenNebulaHelper.rname_to_id_desc('GROUP') do |arg|
|
||||
OpenNebulaHelper.rname_to_id(arg, 'GROUP')
|
||||
end
|
||||
|
||||
set :format, :userid, OpenNebulaHelper.rname_to_id_desc("USER") do |arg|
|
||||
OpenNebulaHelper.rname_to_id(arg, "USER")
|
||||
set :format, :userid, OpenNebulaHelper.rname_to_id_desc('USER') do |arg|
|
||||
OpenNebulaHelper.rname_to_id(arg, 'USER')
|
||||
end
|
||||
|
||||
set :format, :vrouterid, OneVirtualRouterHelper.to_id_desc do |arg|
|
||||
helper.to_id(arg)
|
||||
end
|
||||
|
||||
set :format, :vrouterid_list, OneVirtualRouterHelper.list_to_id_desc do |arg|
|
||||
set :format, :vrouterid_list,
|
||||
OneVirtualRouterHelper.list_to_id_desc do |arg|
|
||||
helper.list_to_id(arg)
|
||||
end
|
||||
|
||||
set :format, :filterflag, OneVirtualRouterHelper.filterflag_to_i_desc do |arg|
|
||||
set :format, :filterflag,
|
||||
OneVirtualRouterHelper.filterflag_to_i_desc do |arg|
|
||||
helper.filterflag_to_i(arg)
|
||||
end
|
||||
|
||||
set :format, :templateid, OpenNebulaHelper.rname_to_id_desc("VMTEMPLATE") do |arg|
|
||||
OpenNebulaHelper.rname_to_id(arg, "VMTEMPLATE")
|
||||
set :format, :templateid,
|
||||
OpenNebulaHelper.rname_to_id_desc('VMTEMPLATE') do |arg|
|
||||
OpenNebulaHelper.rname_to_id(arg, 'VMTEMPLATE')
|
||||
end
|
||||
|
||||
########################################################################
|
||||
@ -117,9 +120,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
template = File.read(args[0])
|
||||
|
||||
obj.allocate(template)
|
||||
rescue => e
|
||||
rescue StandardError => e
|
||||
STDERR.puts e.messsage
|
||||
exit -1
|
||||
exit(-1)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -139,27 +142,28 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
OneVMHelper::HOLD
|
||||
]
|
||||
|
||||
command :instantiate, instantiate_desc, :vrouterid, :templateid, [:file, nil],
|
||||
:options=>instantiate_options+OpenNebulaHelper::TEMPLATE_OPTIONS do
|
||||
exit_code=0
|
||||
command :instantiate, instantiate_desc,
|
||||
:vrouterid, :templateid, [:file, nil],
|
||||
:options => instantiate_options +
|
||||
OpenNebulaHelper::TEMPLATE_OPTIONS do
|
||||
|
||||
if args[2] && OpenNebulaHelper.create_template_options_used?(options)
|
||||
STDERR.puts "You cannot use both template file and template"<<
|
||||
" creation options."
|
||||
next -1
|
||||
STDERR.puts 'You cannot use both template file and template' \
|
||||
' creation options.'
|
||||
exit(-1)
|
||||
end
|
||||
|
||||
number = options[:multiple] || 1
|
||||
user_inputs = nil
|
||||
|
||||
helper.perform_action(args[0], options, "instantiated") do |vr|
|
||||
name = options[:name] || ""
|
||||
helper.perform_action(args[0], options, 'instantiated') do |vr|
|
||||
name = options[:name] || ''
|
||||
|
||||
t = OpenNebula::Template.new_with_id(args[1], helper.client)
|
||||
|
||||
on_hold = options[:hold] != nil
|
||||
on_hold = !options[:hold].nil?
|
||||
|
||||
extra_template = ""
|
||||
extra_template = ''
|
||||
rc = t.info
|
||||
|
||||
if OpenNebula.is_error?(rc)
|
||||
@ -180,7 +184,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
extra_template = res.last
|
||||
end
|
||||
|
||||
user_inputs = OneTemplateHelper.get_user_inputs(t.to_hash) unless user_inputs
|
||||
user_inputs ||= OneTemplateHelper.get_user_inputs(t.to_hash)
|
||||
|
||||
extra_template << "\n" << user_inputs
|
||||
|
||||
@ -193,7 +197,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :delete, delete_desc, [:range, :vrouterid_list] do
|
||||
helper.perform_actions(args[0],options,"deleted") do |obj|
|
||||
helper.perform_actions(args[0], options, 'deleted') do |obj|
|
||||
obj.delete
|
||||
end
|
||||
end
|
||||
@ -202,8 +206,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
Changes the Virtual Router group
|
||||
EOT
|
||||
|
||||
command :chgrp, chgrp_desc,[:range, :vrouterid_list], :groupid do
|
||||
helper.perform_actions(args[0],options,"Group changed") do |obj|
|
||||
command :chgrp, chgrp_desc, [:range, :vrouterid_list], :groupid do
|
||||
helper.perform_actions(args[0], options, 'Group changed') do |obj|
|
||||
obj.chown(-1, args[1].to_i)
|
||||
end
|
||||
end
|
||||
@ -213,9 +217,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :chown, chown_desc, [:range, :vrouterid_list], :userid,
|
||||
[:groupid,nil] do
|
||||
gid = args[2].nil? ? -1 : args[2].to_i
|
||||
helper.perform_actions(args[0],options,"Owner/Group changed") do |obj|
|
||||
[:groupid, nil] do
|
||||
args[2].nil? ? gid = -1 : gid = args[2].to_i
|
||||
helper.perform_actions(args[0], options, 'Owner/Group changed') do |obj|
|
||||
obj.chown(args[1].to_i, gid)
|
||||
end
|
||||
end
|
||||
@ -225,7 +229,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :chmod, chmod_desc, [:range, :vrouterid_list], :octet do
|
||||
helper.perform_actions(args[0],options, "Permissions changed") do |obj|
|
||||
helper.perform_actions(args[0], options, 'Permissions changed') do |obj|
|
||||
obj.chmod_octet(args[1])
|
||||
end
|
||||
end
|
||||
@ -236,8 +240,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :update, update_desc, :vrouterid, [:file, nil],
|
||||
:options=>OpenNebulaHelper::APPEND do
|
||||
helper.perform_action(args[0],options,"modified") do |obj|
|
||||
:options => OpenNebulaHelper::APPEND do
|
||||
helper.perform_action(args[0], options, 'modified') do |obj|
|
||||
if options[:append]
|
||||
str = OpenNebulaHelper.append_template(args[0], obj, args[1])
|
||||
else
|
||||
@ -253,7 +257,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :rename, rename_desc, :vrouterid, :name do
|
||||
helper.perform_action(args[0],options,"renamed") do |obj|
|
||||
helper.perform_action(args[0], options, 'renamed') do |obj|
|
||||
obj.rename(args[1])
|
||||
end
|
||||
end
|
||||
@ -267,14 +271,16 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :"nic-attach", nic_attach_desc, :vrouterid,
|
||||
:options => [OneVMHelper::FILE, OneVMHelper::NETWORK, OneVMHelper::IP,
|
||||
:options => [OneVMHelper::FILE,
|
||||
OneVMHelper::NETWORK,
|
||||
OneVMHelper::IP,
|
||||
OneVirtualRouterHelper::FLOAT] do
|
||||
|
||||
if options[:file].nil? and options[:network].nil?
|
||||
STDERR.puts "Provide a template file or a network:"
|
||||
if options[:file].nil? && options[:network].nil?
|
||||
STDERR.puts 'Provide a template file or a network:'
|
||||
STDERR.puts "\t--file <file>"
|
||||
STDERR.puts "\t--network <network>"
|
||||
exit -1
|
||||
exit(-1)
|
||||
end
|
||||
|
||||
if options[:file]
|
||||
@ -291,13 +297,13 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
end
|
||||
|
||||
if float
|
||||
template += ", FLOATING_IP =\"yes\""
|
||||
template += ', FLOATING_IP ="yes"'
|
||||
end
|
||||
|
||||
template += " ]"
|
||||
template += ' ]'
|
||||
end
|
||||
|
||||
helper.perform_action(args[0],options,"Attach NIC") do |vr|
|
||||
helper.perform_action(args[0], options, 'Attach NIC') do |vr|
|
||||
vr.nic_attach(template)
|
||||
end
|
||||
end
|
||||
@ -309,7 +315,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
command :"nic-detach", nic_detach_desc, :vrouterid, :nicid do
|
||||
nicid = args[1].to_i
|
||||
|
||||
helper.perform_action(args[0],options,"Detach NIC") do |vr|
|
||||
helper.perform_action(args[0], options, 'Detach NIC') do |vr|
|
||||
vr.nic_detach(nicid)
|
||||
end
|
||||
end
|
||||
@ -318,7 +324,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
Lists the Virtual Routers in the pool
|
||||
EOT
|
||||
|
||||
command :list, list_desc, [:filterflag, nil], :options=>list_options do
|
||||
command :list, list_desc, [:filterflag, nil], :options => list_options do
|
||||
helper.list_pool(options, false, args[0])
|
||||
end
|
||||
|
||||
@ -327,15 +333,15 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :show, show_desc, :vrouterid,
|
||||
:options=>[OpenNebulaHelper::XML, OneVMHelper::ALL_TEMPLATE] do
|
||||
helper.show_resource(args[0],options)
|
||||
:options => [OpenNebulaHelper::XML, OneVMHelper::ALL_TEMPLATE] do
|
||||
helper.show_resource(args[0], options)
|
||||
end
|
||||
|
||||
top_desc = <<-EOT.unindent
|
||||
Lists Virtual Routers continuously
|
||||
EOT
|
||||
|
||||
command :top, top_desc, [:filterflag, nil], :options=>list_options do
|
||||
command :top, top_desc, [:filterflag, nil], :options => list_options do
|
||||
helper.list_pool(options, true, args[0])
|
||||
end
|
||||
|
||||
@ -350,8 +356,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :lock, lock_desc, :vrouterid,
|
||||
:options => [USE, MANAGE, ADMIN, ALL] do
|
||||
helper.perform_action(args[0],options,"VRouter locked") do |vr|
|
||||
:options => [USE, MANAGE, ADMIN, ALL] do
|
||||
helper.perform_action(args[0], options, 'VRouter locked') do |vr|
|
||||
if !options[:use].nil?
|
||||
level = 1
|
||||
elsif !options[:manage].nil?
|
||||
@ -373,7 +379,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :unlock, unlock_desc, :vrouterid do
|
||||
helper.perform_action(args[0],options,"VRouter unlocked") do |vr|
|
||||
helper.perform_action(args[0], options, 'VRouter unlocked') do |vr|
|
||||
vr.unlock
|
||||
end
|
||||
end
|
||||
|
@ -16,31 +16,32 @@
|
||||
# limitations under the License. #
|
||||
#--------------------------------------------------------------------------- #
|
||||
|
||||
ONE_LOCATION=ENV["ONE_LOCATION"]
|
||||
ONE_LOCATION = ENV['ONE_LOCATION']
|
||||
|
||||
if !ONE_LOCATION
|
||||
RUBY_LIB_LOCATION="/usr/lib/one/ruby"
|
||||
RUBY_LIB_LOCATION = '/usr/lib/one/ruby'
|
||||
else
|
||||
RUBY_LIB_LOCATION=ONE_LOCATION+"/lib/ruby"
|
||||
RUBY_LIB_LOCATION = ONE_LOCATION + '/lib/ruby'
|
||||
end
|
||||
|
||||
$: << RUBY_LIB_LOCATION
|
||||
$: << RUBY_LIB_LOCATION+"/cli"
|
||||
$LOAD_PATH << RUBY_LIB_LOCATION
|
||||
$LOAD_PATH << RUBY_LIB_LOCATION + '/cli'
|
||||
|
||||
require 'command_parser'
|
||||
require 'one_helper/onezone_helper'
|
||||
|
||||
cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
usage "`onezone` <command> [<args>] [<options>]"
|
||||
CommandParser::CmdParser.new(ARGV) do
|
||||
usage '`onezone` <command> [<args>] [<options>]'
|
||||
version OpenNebulaHelper::ONE_VERSION
|
||||
|
||||
helper = OneZoneHelper.new
|
||||
|
||||
ENDPOINT = {
|
||||
:name => "keep",
|
||||
:short => "-k",
|
||||
:large => "--keep",
|
||||
:description => "Don't overwrite endpoint file located in home folder, use it as a temporary zone.",
|
||||
:name => 'keep',
|
||||
:short => '-k',
|
||||
:large => '--keep',
|
||||
:description => "Don't overwrite endpoint file located in home folder,"\
|
||||
' use it as a temporary zone.',
|
||||
:format => String
|
||||
}
|
||||
|
||||
@ -51,7 +52,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
########################################################################
|
||||
# Global Options
|
||||
########################################################################
|
||||
set :option, CommandParser::OPTIONS+OpenNebulaHelper::CLIENT_OPTIONS
|
||||
set :option, CommandParser::OPTIONS + OpenNebulaHelper::CLIENT_OPTIONS
|
||||
|
||||
list_options = CLIHelper::OPTIONS
|
||||
list_options << OpenNebulaHelper::XML
|
||||
@ -82,9 +83,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
begin
|
||||
template = File.read(args[0])
|
||||
zone.allocate(template)
|
||||
rescue => e
|
||||
rescue StandardError => e
|
||||
STDERR.puts e.message
|
||||
exit -1
|
||||
exit(-1)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -94,7 +95,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :rename, rename_desc, :zoneid, :name do
|
||||
helper.perform_action(args[0],options,"renamed") do |o|
|
||||
helper.perform_action(args[0], options, 'renamed') do |o|
|
||||
o.rename(args[1])
|
||||
end
|
||||
end
|
||||
@ -104,13 +105,13 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :"server-add", addserver_desc, :zoneid, :options =>
|
||||
[ OneZoneHelper::SERVER_NAME, OneZoneHelper::SERVER_ENDPOINT] do
|
||||
[OneZoneHelper::SERVER_NAME, OneZoneHelper::SERVER_ENDPOINT] do
|
||||
|
||||
if options[:server_name].nil? || options[:server_rpc].nil?
|
||||
STDERR.puts "To add a server set:"
|
||||
STDERR.puts 'To add a server set:'
|
||||
STDERR.puts "\t-n <server name>"
|
||||
STDERR.puts "\t-r <RPC endpoint>"
|
||||
exit -1
|
||||
exit(-1)
|
||||
end
|
||||
|
||||
template = <<-EOT
|
||||
@ -120,10 +121,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
]
|
||||
EOT
|
||||
|
||||
helper.perform_action(args[0], options, "server added") do |o|
|
||||
helper.perform_action(args[0], options, 'server added') do |o|
|
||||
o.add_servers(template)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
delserver_desc = <<-EOT.unindent
|
||||
@ -131,10 +131,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :"server-del", delserver_desc, :zoneid, :serverid do
|
||||
helper.perform_action(args[0], options, "server deleted") do |o|
|
||||
helper.perform_action(args[0], options, 'server deleted') do |o|
|
||||
o.delete_servers(args[1].to_i)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
resetserver_desc = <<-EOT.unindent
|
||||
@ -143,7 +142,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :"server-reset", resetserver_desc, :zoneid, :serverid do
|
||||
helper.perform_action(args[0], options, "server reset") do |o|
|
||||
helper.perform_action(args[0], options, 'server reset') do |o|
|
||||
o.reset_server(args[1].to_i)
|
||||
end
|
||||
end
|
||||
@ -154,8 +153,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :update, update_desc, :zoneid, [:file, nil],
|
||||
:options=>OpenNebulaHelper::APPEND do
|
||||
helper.perform_action(args[0],options,"modified") do |obj|
|
||||
:options => OpenNebulaHelper::APPEND do
|
||||
helper.perform_action(args[0], options, 'modified') do |obj|
|
||||
if options[:append]
|
||||
str = OpenNebulaHelper.append_template(args[0], obj, args[1])
|
||||
else
|
||||
@ -174,7 +173,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
EOT
|
||||
|
||||
command :delete, delete_desc, [:range, :zoneid_list] do
|
||||
helper.perform_actions(args[0],options,"deleted") do |obj|
|
||||
helper.perform_actions(args[0], options, 'deleted') do |obj|
|
||||
obj.delete
|
||||
end
|
||||
end
|
||||
@ -183,7 +182,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
Lists Zones in the pool
|
||||
EOT
|
||||
|
||||
command :list, list_desc, :options=>list_options do
|
||||
command :list, list_desc, :options => list_options do
|
||||
helper.list_pool(options)
|
||||
end
|
||||
|
||||
@ -191,16 +190,16 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
Shows information for the given Zone
|
||||
EOT
|
||||
|
||||
command :show, show_desc,:zoneid, :options=>OpenNebulaHelper::XML do
|
||||
helper.show_resource(args[0],options)
|
||||
command :show, show_desc, :zoneid, :options => OpenNebulaHelper::XML do
|
||||
helper.show_resource(args[0], options)
|
||||
end
|
||||
|
||||
set_desc = <<-EOT.unindent
|
||||
Set shell session access point for the CLI to the given Zone
|
||||
EOT
|
||||
|
||||
command :set, set_desc,:zoneid, :options=>ENDPOINT do
|
||||
if options.has_key? :keep
|
||||
command :set, set_desc, :zoneid, :options => ENDPOINT do
|
||||
if options.key? :keep
|
||||
helper.set_zone(args[0], true)
|
||||
else
|
||||
helper.set_zone(args[0], false)
|
||||
|
Loading…
x
Reference in New Issue
Block a user