diff --git a/src/cli/oneuser b/src/cli/oneuser index 665c82db25..a03fec895c 100755 --- a/src/cli/oneuser +++ b/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` [] []" +CommandParser::CmdParser.new(ARGV) do + usage '`oneuser` [] []' 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 ] [--group ] [--global]" + exit_with_code( + 1, + "One of these options must be supplied:\n" \ + '[--token ] [--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 diff --git a/src/cli/onevcenter b/src/cli/onevcenter index 472651b726..03560cf0e2 100755 --- a/src/cli/onevcenter +++ b/src/cli/onevcenter @@ -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` [] []" +CommandParser::CmdParser.new(ARGV) do + usage '`onevcenter` [] []' 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 -d 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 -d 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 --vuser --vpass 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 diff --git a/src/cli/onevm b/src/cli/onevm index 8f98a1f586..4372cc8b21 100755 --- a/src/cli/onevm +++ b/src/cli/onevm @@ -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/onevm_helper' -cmd=CommandParser::CmdParser.new(ARGV) do - usage "`onevm` [] []" +CommandParser::CmdParser.new(ARGV) do + usage '`onevm` [] []' version OpenNebulaHelper::ONE_VERSION helper = OneVMHelper.new @@ -40,156 +40,158 @@ cmd=CommandParser::CmdParser.new(ARGV) do helper.set_client(options) end - TYPE={ - :name => "type", - :short => "-t type", - :large => "--type type", + TYPE = { + :name => 'type', + :short => '-t type', + :large => '--type type', :format => String, - :description => "Type of the new Image" + :description => 'Type of the new Image' } - TARGET={ - :name => "target", - :short => "-t target", - :large => "--target target", + TARGET = { + :name => 'target', + :short => '-t target', + :large => '--target target', :format => String, - :description => "Device where the image will be attached" + :description => 'Device where the image will be attached' } - PREFIX={ - :name => "prefix", - :large => "--prefix prefix", + PREFIX = { + :name => 'prefix', + :large => '--prefix prefix', :format => String, - :description => "Overrides the DEV_PREFIX of the image" + :description => 'Overrides the DEV_PREFIX of the image' } - CACHE={ - :name => "cache", - :large => "--cache cache_mode", + CACHE = { + :name => 'cache', + :large => '--cache cache_mode', :format => String, - :description => "Hypervisor cache mode: default, none, writethrough,"<< - " writeback, directsync or unsafe. (Only KVM driver)" + :description => 'Hypervisor cache mode: default, none, writethrough,'\ + ' writeback, directsync or unsafe. (Only KVM driver)' } - DISCARD={ - :name => "discard", - :large => "--discard discard_mode", + DISCARD = { + :name => 'discard', + :large => '--discard discard_mode', :format => String, - :description => "Hypervisor discard mode: ignore or unmap."<< - " (Only KVM driver)" + :description => 'Hypervisor discard mode: ignore or unmap.'\ + ' (Only KVM driver)' } - ENFORCE={ - :name => "enforce", - :short => "-e", - :large => "--enforce", - :description => "Enforce that the host capacity is not exceeded" + ENFORCE = { + :name => 'enforce', + :short => '-e', + :large => '--enforce', + :description => 'Enforce that the host capacity is not exceeded' } - SUCCESS={ - :name => "success", - :large => "--success", - :description => "Recover a VM by succeeding the pending action" + SUCCESS = { + :name => 'success', + :large => '--success', + :description => 'Recover a VM by succeeding the pending action' } - FAILURE={ - :name => "failure", - :large => "--failure", - :description => "Recover a VM by failing the pending action" + FAILURE = { + :name => 'failure', + :large => '--failure', + :description => 'Recover a VM by failing the pending action' } - RETRY={ - :name => "retry", - :large => "--retry", - :description => "Recover a VM by retrying the last failed action" + RETRY = { + :name => 'retry', + :large => '--retry', + :description => 'Recover a VM by retrying the last failed action' } - DELETE={ - :name => "delete", - :large => "--delete", - :description => "No recover action possible, delete the VM" + DELETE = { + :name => 'delete', + :large => '--delete', + :description => 'No recover action possible, delete the VM' } - RECREATE={ - :name => "recreate", - :large => "--recreate", - :description => "No recover action possible, delete and recreate the VM" + RECREATE = { + :name => 'recreate', + :large => '--recreate', + :description => 'No recover action possible, delete and recreate the VM' } - DELETE_DB={ - :name => "deletedb", - :large => "--delete-db", - :description => "No recover action possible, delete the VM from the DB"<< - ". It does not trigger any action on the hypervisor" + DELETE_DB = { + :name => 'deletedb', + :large => '--delete-db', + :description => 'No recover action possible, delete the VM from the '\ + 'DB. It does not trigger any action on the hypervisor' } - INTERACTIVE={ - :name => "interactive", - :large => "--interactive", - :description => "Enables interactive recovery. Only works alongside "<< - " the --retry option." + INTERACTIVE = { + :name => 'interactive', + :large => '--interactive', + :description => 'Enables interactive recovery. Only works alongside '\ + ' the --retry option.' } - SNAP={ - :name => "snapshot", - :short => "-s snapshot", - :large => "--snapshot snapshot", + SNAP = { + :name => 'snapshot', + :short => '-s snapshot', + :large => '--snapshot snapshot', :format => String, - :description => "ID of the Snapshot to save." + :description => 'ID of the Snapshot to save.' } - PERSISTENT={ - :name => "persistent", - :large => "--persistent", - :description => "Make the new images persistent" + PERSISTENT = { + :name => 'persistent', + :large => '--persistent', + :description => 'Make the new images persistent' } - 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 ######################################################################## # Formatters for arguments ######################################################################## - set :format, :hostid, OpenNebulaHelper.rname_to_id_desc("HOST") do |arg| - OpenNebulaHelper.rname_to_id(arg, "HOST") + set :format, :hostid, OpenNebulaHelper.rname_to_id_desc('HOST') do |arg| + OpenNebulaHelper.rname_to_id(arg, 'HOST') end - 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, :datastoreid, OpenNebulaHelper.rname_to_id_desc("DATASTORE") do |arg| - OpenNebulaHelper.rname_to_id(arg, "DATASTORE") + set :format, + :datastoreid, + OpenNebulaHelper.rname_to_id_desc('DATASTORE') do |arg| + OpenNebulaHelper.rname_to_id(arg, 'DATASTORE') end set :format, :vmid, OneVMHelper.to_id_desc do |arg| @@ -206,15 +208,15 @@ cmd=CommandParser::CmdParser.new(ARGV) do helper.filterflag_to_i(arg) end - set :format, :diskid, "Integer" do |arg| + set :format, :diskid, 'Integer' do |arg| format_int(arg) end - set :format, :size, "Disk size in MiB" do |arg| + set :format, :size, 'Disk size in MiB' do |arg| OpenNebulaHelper.size_in_mb(arg) end - format :snapshot_id, "Snapshot identifier" do |arg| + format :snapshot_id, 'Snapshot identifier' do |arg| helper.retrieve_snapshot_id(@current_vm, arg) end @@ -245,34 +247,33 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :create, create_desc, [:file, nil], :options => - [OneVMHelper::MULTIPLE, OneVMHelper::HOLD]+ + [OneVMHelper::MULTIPLE, OneVMHelper::HOLD] + OpenNebulaHelper::TEMPLATE_OPTIONS_VM do number = options[:multiple] || 1 exit_code = nil if args[0] && OpenNebulaHelper.create_template_options_used?(options) - STDERR.puts "You can not use both template file and template"<< - " creation options." - next -1 + STDERR.puts 'You can not use both template file and template'\ + ' creation options.' + exit(-1) end begin if args[0] - template=File.read(args[0]) + template = File.read(args[0]) else res = OpenNebulaHelper.create_template(options) if res.first != 0 STDERR.puts res.last - next -1 + exit(-1) end template = res.last end - - rescue Exception => e - STDERR.puts "Error reading template." + rescue StandardError + STDERR.puts 'Error reading template.' next -1 end @@ -281,11 +282,11 @@ cmd=CommandParser::CmdParser.new(ARGV) do exit 0 end - on_hold = options[:hold] != nil + on_hold = !options[:hold].nil? number.times do exit_code = helper.create_resource(options) do |vm| - error = vm.allocate(template, on_hold) + vm.allocate(template, on_hold) end break if exit_code == -1 @@ -300,12 +301,14 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :update, update_desc, :vmid, [: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], 'USER_TEMPLATE') + str = OpenNebulaHelper + .append_template(args[0], obj, args[1], 'USER_TEMPLATE') else - str = OpenNebulaHelper.update_template(args[0], obj, args[1], 'USER_TEMPLATE') + str = OpenNebulaHelper + .update_template(args[0], obj, args[1], 'USER_TEMPLATE') end helper.set_client(options) @@ -322,12 +325,17 @@ cmd=CommandParser::CmdParser.new(ARGV) do States: PENDING EOT - command :hold, hold_desc, [:range,:vmid_list], - :options => [OneVMHelper::SCHEDULE, OneVMHelper::WEEKLY, OneVMHelper::MONTHLY, OneVMHelper::YEARLY, OneVMHelper::HOURLY, OneVMHelper::END_TIME] do - if (!options[:schedule].nil?) + command :hold, hold_desc, [:range, :vmid_list], + :options => [OneVMHelper::SCHEDULE, + OneVMHelper::WEEKLY, + OneVMHelper::MONTHLY, + OneVMHelper::YEARLY, + OneVMHelper::HOURLY, + OneVMHelper::END_TIME] do + if !options[:schedule].nil? helper.schedule_actions(args[0], options, @comm_name) else - helper.perform_actions(args[0],options,"put on hold") do |vm| + helper.perform_actions(args[0], options, 'put on hold') do |vm| vm.hold end end @@ -339,12 +347,17 @@ cmd=CommandParser::CmdParser.new(ARGV) do States: HOLD EOT - command :release, release_desc, [:range,:vmid_list], - :options => [OneVMHelper::SCHEDULE, OneVMHelper::WEEKLY, OneVMHelper::MONTHLY, OneVMHelper::YEARLY, OneVMHelper::HOURLY, OneVMHelper::END_TIME] do - if (!options[:schedule].nil?) + command :release, release_desc, [:range, :vmid_list], + :options => [OneVMHelper::SCHEDULE, + OneVMHelper::WEEKLY, + OneVMHelper::MONTHLY, + OneVMHelper::YEARLY, + OneVMHelper::HOURLY, + OneVMHelper::END_TIME] do + if !options[:schedule].nil? helper.schedule_actions(args[0], options, @comm_name) else - helper.perform_actions(args[0],options,"released") do |vm| + helper.perform_actions(args[0], options, 'released') do |vm| vm.release end end @@ -359,26 +372,26 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :"disk-saveas", disk_saveas_desc, :vmid, :diskid, :img_name, - :options=>[TYPE, SNAP] do + :options => [TYPE, SNAP] do disk_id = args[1].to_i image_name = args[2] - image_type = options[:type] || "" + image_type = options[:type] || '' snapshot_id = options[:snapshot] if snapshot_id.nil? || snapshot_id.empty? snapshot_id = -1 - verbose = "disk #{disk_id} prepared to be saved in " << + verbose = "disk #{disk_id} prepared to be saved in " \ "the image #{image_name}" else snapshot_id = snapshot_id.to_i - verbose = "disk #{disk_id} snapshot #{snapshot_id} prepared to " << + verbose = "disk #{disk_id} snapshot #{snapshot_id} prepared to " \ "be saved in the image #{image_name}" end - helper.perform_action(args[0],options,verbose) do |vm| + helper.perform_action(args[0], options, verbose) do |vm| res = vm.disk_saveas(disk_id, image_name, image_type, snapshot_id) if !OpenNebula.is_error?(res) @@ -397,17 +410,23 @@ cmd=CommandParser::CmdParser.new(ARGV) do States: valid if no operation is being performed on the VM EOT - command :terminate, terminate_desc, [:range,:vmid_list], - :options => [OneVMHelper::SCHEDULE, OneVMHelper::WEEKLY, OneVMHelper::MONTHLY, OneVMHelper::YEARLY, OneVMHelper::HOURLY, OneVMHelper::END_TIME, OneVMHelper::HARD] do + command :terminate, terminate_desc, [:range, :vmid_list], + :options => [OneVMHelper::SCHEDULE, + OneVMHelper::WEEKLY, + OneVMHelper::MONTHLY, + OneVMHelper::YEARLY, + OneVMHelper::HOURLY, + OneVMHelper::END_TIME, + OneVMHelper::HARD] do - command_name='terminate' - command_name<<'-hard' if options[:hard] + command_name = 'terminate' + command_name << '-hard' if options[:hard] - if (!options[:schedule].nil?) + if !options[:schedule].nil? helper.schedule_actions(args[0], options, command_name) else - helper.perform_actions(args[0],options,"terminated") do |vm| - vm.terminate(options[:hard]==true) + helper.perform_actions(args[0], options, 'terminated') do |vm| + vm.terminate(options[:hard] == true) end end end @@ -420,17 +439,23 @@ cmd=CommandParser::CmdParser.new(ARGV) do States: RUNNING EOT - command :undeploy, undeploy_desc, [:range,:vmid_list], - :options => [OneVMHelper::SCHEDULE, OneVMHelper::WEEKLY, OneVMHelper::MONTHLY, OneVMHelper::YEARLY, OneVMHelper::HOURLY, OneVMHelper::END_TIME, OneVMHelper::HARD] do + command :undeploy, undeploy_desc, [:range, :vmid_list], + :options => [OneVMHelper::SCHEDULE, + OneVMHelper::WEEKLY, + OneVMHelper::MONTHLY, + OneVMHelper::YEARLY, + OneVMHelper::HOURLY, + OneVMHelper::END_TIME, + OneVMHelper::HARD] do - command_name='undeploy' - command_name<<'-hard' if options[:hard] + command_name = 'undeploy' + command_name << '-hard' if options[:hard] - if (!options[:schedule].nil?) + if !options[:schedule].nil? helper.schedule_actions(args[0], options, command_name) else - helper.perform_actions(args[0],options,"shutting down") do |vm| - vm.undeploy(options[:hard]==true) + helper.perform_actions(args[0], options, 'shutting down') do |vm| + vm.undeploy(options[:hard] == true) end end end @@ -442,17 +467,23 @@ cmd=CommandParser::CmdParser.new(ARGV) do States: RUNNING EOT - command :poweroff, poweroff_desc, [:range,:vmid_list], - :options => [OneVMHelper::SCHEDULE, OneVMHelper::WEEKLY, OneVMHelper::MONTHLY, OneVMHelper::YEARLY, OneVMHelper::HOURLY, OneVMHelper::END_TIME, OneVMHelper::HARD] do + command :poweroff, poweroff_desc, [:range, :vmid_list], + :options => [OneVMHelper::SCHEDULE, + OneVMHelper::WEEKLY, + OneVMHelper::MONTHLY, + OneVMHelper::YEARLY, + OneVMHelper::HOURLY, + OneVMHelper::END_TIME, + OneVMHelper::HARD] do - command_name='poweroff' - command_name<<'-hard' if options[:hard] + command_name = 'poweroff' + command_name << '-hard' if options[:hard] - if (!options[:schedule].nil?) + if !options[:schedule].nil? helper.schedule_actions(args[0], options, @comm_name) else - helper.perform_actions(args[0],options,"shutting down") do |vm| - vm.poweroff(options[:hard]==true) + helper.perform_actions(args[0], options, 'shutting down') do |vm| + vm.poweroff(options[:hard] == true) end end end @@ -466,16 +497,22 @@ cmd=CommandParser::CmdParser.new(ARGV) do States: RUNNING EOT - command :reboot, reboot_desc, [:range,:vmid_list], - :options => [OneVMHelper::SCHEDULE, OneVMHelper::WEEKLY, OneVMHelper::MONTHLY, OneVMHelper::YEARLY, OneVMHelper::HOURLY, OneVMHelper::END_TIME, OneVMHelper::HARD] do + command :reboot, reboot_desc, [:range, :vmid_list], + :options => [OneVMHelper::SCHEDULE, + OneVMHelper::WEEKLY, + OneVMHelper::MONTHLY, + OneVMHelper::YEARLY, + OneVMHelper::HOURLY, + OneVMHelper::END_TIME, + OneVMHelper::HARD] do - command_name='reboot' - command_name<<'-hard' if options[:hard] + command_name = 'reboot' + command_name << '-hard' if options[:hard] - if (!options[:schedule].nil?) + if !options[:schedule].nil? helper.schedule_actions(args[0], options, command_name) else - helper.perform_actions(args[0],options,"rebooting") do |vm| + helper.perform_actions(args[0], options, 'rebooting') do |vm| vm.reboot(options[:hard]) end end @@ -489,13 +526,17 @@ cmd=CommandParser::CmdParser.new(ARGV) do States: PENDING, HOLD, STOPPED, UNDEPLOYED EOT - command :deploy, deploy_desc, [:range,:vmid_list], :hostid, [:datastoreid,nil], - :options=>[ENFORCE, OneVMHelper::FILE] do + command :deploy, + deploy_desc, + [:range, :vmid_list], + :hostid, + [:datastoreid, nil], + :options => [ENFORCE, OneVMHelper::FILE] do host_id = args[1] verbose = "deploying in host #{host_id}" - enforce = options[:enforce].nil? ? false : options[:enforce] - ds_id = args[2].nil? ? -1 : args[2] + options[:enforce].nil? ? enforce = false : enforce = options[:enforce] + args[2].nil? ? ds_id = -1 : ds_id = args[2] extra_template = nil @@ -503,7 +544,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do extra_template = File.read(options[:file]) end - helper.perform_actions(args[0],options,verbose) do |vm| + helper.perform_actions(args[0], options, verbose) do |vm| vm.deploy(host_id, enforce, ds_id, extra_template) end end @@ -515,18 +556,18 @@ cmd=CommandParser::CmdParser.new(ARGV) do States: RUNNING EOT - command :migrate, migrate_desc, [:range,:vmid_list], :hostid, [:datastoreid,nil], - :options=>[ENFORCE, OneVMHelper::LIVE] do + command :migrate, migrate_desc, [:range, :vmid_list], :hostid, + [:datastoreid, nil], :options => [ENFORCE, OneVMHelper::LIVE] do host_id = args[1] verbose = "migrating to #{host_id}" - ds_id = args[2].nil? ? -1 : args[2] + args[2].nil? ? ds_id = -1 : ds_id = args[2] - helper.perform_actions(args[0],options,verbose) do |vm| - vm.migrate( host_id, - options[:live]==true, - options[:enforce]==true, - ds_id) + helper.perform_actions(args[0], options, verbose) do |vm| + vm.migrate(host_id, + options[:live] == true, + options[:enforce] == true, + ds_id) end end @@ -537,12 +578,17 @@ cmd=CommandParser::CmdParser.new(ARGV) do States: RUNNING EOT - command :stop, stop_desc, [:range,:vmid_list], - :options => [OneVMHelper::SCHEDULE, OneVMHelper::WEEKLY, OneVMHelper::MONTHLY, OneVMHelper::YEARLY, OneVMHelper::HOURLY, OneVMHelper::END_TIME] do - if (!options[:schedule].nil?) + command :stop, stop_desc, [:range, :vmid_list], + :options => [OneVMHelper::SCHEDULE, + OneVMHelper::WEEKLY, + OneVMHelper::MONTHLY, + OneVMHelper::YEARLY, + OneVMHelper::HOURLY, + OneVMHelper::END_TIME] do + if !options[:schedule].nil? helper.schedule_actions(args[0], options, @comm_name) else - helper.perform_actions(args[0],options,"stopping") do |vm| + helper.perform_actions(args[0], options, 'stopping') do |vm| vm.stop end end @@ -557,12 +603,17 @@ cmd=CommandParser::CmdParser.new(ARGV) do States: RUNNING EOT - command :suspend, suspend_desc, [:range,:vmid_list], - :options => [OneVMHelper::SCHEDULE, OneVMHelper::WEEKLY, OneVMHelper::MONTHLY, OneVMHelper::YEARLY, OneVMHelper::HOURLY, OneVMHelper::END_TIME] do - if (!options[:schedule].nil?) + command :suspend, suspend_desc, [:range, :vmid_list], + :options => [OneVMHelper::SCHEDULE, + OneVMHelper::WEEKLY, + OneVMHelper::MONTHLY, + OneVMHelper::YEARLY, + OneVMHelper::HOURLY, + OneVMHelper::END_TIME] do + if !options[:schedule].nil? helper.schedule_actions(args[0], options, @comm_name) else - helper.perform_actions(args[0],options,"suspending") do |vm| + helper.perform_actions(args[0], options, 'suspending') do |vm| vm.suspend end end @@ -574,12 +625,17 @@ cmd=CommandParser::CmdParser.new(ARGV) do States: STOPPED, SUSPENDED, UNDEPLOYED, POWEROFF, UNKNOWN EOT - command :resume, resume_desc, [:range,:vmid_list], - :options => [OneVMHelper::SCHEDULE, OneVMHelper::WEEKLY, OneVMHelper::MONTHLY, OneVMHelper::YEARLY, OneVMHelper::HOURLY, OneVMHelper::END_TIME] do - if (!options[:schedule].nil?) + command :resume, resume_desc, [:range, :vmid_list], + :options => [OneVMHelper::SCHEDULE, + OneVMHelper::WEEKLY, + OneVMHelper::MONTHLY, + OneVMHelper::YEARLY, + OneVMHelper::HOURLY, + OneVMHelper::END_TIME] do + if !options[:schedule].nil? helper.schedule_actions(args[0], options, @comm_name) else - helper.perform_actions(args[0],options,"resuming") do |vm| + helper.perform_actions(args[0], options, 'resuming') do |vm| vm.resume end end @@ -602,8 +658,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do States for delete-db: Any EOT - command :recover, recover_desc, [:range,:vmid_list], - :options => [SUCCESS, FAILURE, RETRY, INTERACTIVE, DELETE, RECREATE, DELETE_DB] do + command :recover, recover_desc, [:range, :vmid_list], + :options => [SUCCESS, FAILURE, RETRY, INTERACTIVE, + DELETE, RECREATE, DELETE_DB] do if !options[:success].nil? result = 1 elsif !options[:failure].nil? @@ -617,17 +674,21 @@ cmd=CommandParser::CmdParser.new(ARGV) do elsif !options[:deletedb].nil? result = 5 else - STDERR.puts "Need to specify the result of the pending action." - STDERR.puts "\t--success recover the VM by succeeding the missing action." - STDERR.puts "\t--failure recover the VM by failing the missing action." - STDERR.puts "\t--retry recover the VM by retrying the last failed action." - STDERR.puts "\t--delete no recover possible, delete the VM." - STDERR.puts "\t--recreate no recover possible, delete and recreate the VM." - STDERR.puts "\t--delete-db no recover possible, delete the VM from the DB. No action performed on the hypervisor" - exit -1 + error_message = <<-EOT.unindent + Need to specify the result of the pending action. + \t--success recover the VM by succeeding the missing action. + \t--failure recover the VM by failing the missing action. + \t--retry recover the VM by retrying the last failed action. + \t--delete no recover possible, delete the VM. + \t--recreate no recover possible, delete and recreate the VM. + \t--delete-db no recover possible, delete the VM from the DB. No action performed on the hypervisor + EOT + + STDERR.puts error_message + exit(-1) end - helper.perform_actions(args[0], options, "recovering") do |vm| + helper.perform_actions(args[0], options, 'recovering') do |vm| if options[:retry] && options[:interactive] helper.recover_retry_interactive(vm) else @@ -647,11 +708,11 @@ cmd=CommandParser::CmdParser.new(ARGV) do :options => [OneVMHelper::FILE, OneVMHelper::IMAGE, TARGET, CACHE, DISCARD, PREFIX] do - if options[:file].nil? and options[:image].nil? - STDERR.puts "Provide a template file or an image:" - STDERR.puts "\t--file " - STDERR.puts "\t--image " - exit -1 + if options[:file].nil? && options[:image].nil? + STDERR.puts 'Provide a template file or an image:' + STDERR.puts '\t--file ' + STDERR.puts '\t--image ' + exit(-1) end if options[:file] @@ -670,17 +731,17 @@ cmd=CommandParser::CmdParser.new(ARGV) do end if options[:cache] - template<<", CACHE = \"#{options[:cache]}\"" + template << ", CACHE = \"#{options[:cache]}\"" end if options[:discard] - template<<", DISCARD = \"#{options[:discard]}\"" + template << ", DISCARD = \"#{options[:discard]}\"" end - template << " ]" + template << ' ]' end - helper.perform_action(args[0],options,"Attach disk") do |vm| + helper.perform_action(args[0], options, 'Attach disk') do |vm| vm.disk_attach(template) end end @@ -694,7 +755,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :"disk-detach", disk_detach_desc, :vmid, :diskid do diskid = args[1].to_i - helper.perform_action(args[0],options,"Detach disk") do |vm| + helper.perform_action(args[0], options, 'Detach disk') do |vm| vm.disk_detach(diskid) end end @@ -707,13 +768,15 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :"nic-attach", nic_attach_desc, :vmid, - :options => [OneVMHelper::FILE, OneVMHelper::NETWORK, OneVMHelper::IP] do + :options => [OneVMHelper::FILE, + OneVMHelper::NETWORK, + OneVMHelper::IP] 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 " STDERR.puts "\t--network " - exit -1 + exit(-1) end if options[:file] @@ -728,7 +791,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do end end - helper.perform_action(args[0],options,"Attach NIC") do |vm| + helper.perform_action(args[0], options, 'Attach NIC') do |vm| vm.nic_attach(template) end end @@ -742,7 +805,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :"nic-detach", nic_detach_desc, :vmid, :nicid do nicid = args[1].to_i - helper.perform_action(args[0],options,"Detach NIC") do |vm| + helper.perform_action(args[0], options, 'Detach NIC') do |vm| vm.nic_detach(nicid) end end @@ -751,8 +814,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do Changes the VM group EOT - command :chgrp, chgrp_desc,[:range, :vmid_list], :groupid do - helper.perform_actions(args[0],options,"Group changed") do |vm| + command :chgrp, chgrp_desc, [:range, :vmid_list], :groupid do + helper.perform_actions(args[0], options, 'Group changed') do |vm| vm.chown(-1, args[1].to_i) end end @@ -762,9 +825,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :chown, chown_desc, [:range, :vmid_list], :userid, - [:groupid,nil] do - gid = args[2].nil? ? -1 : args[2].to_i - helper.perform_actions(args[0],options,"Owner/Group changed") do |vm| + [:groupid, nil] do + args[2].nil? ? gid = -1 : gid = args[2].to_i + helper.perform_actions(args[0], options, 'Owner/Group changed') do |vm| vm.chown(args[1].to_i, gid) end end @@ -774,7 +837,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :chmod, chmod_desc, [:range, :vmid_list], :octet do - helper.perform_actions(args[0],options, "Permissions changed") do |vm| + helper.perform_actions(args[0], options, 'Permissions changed') do |vm| vm.chmod_octet(args[1]) end end @@ -785,8 +848,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do States: RUNNING EOT - command :resched, resched_desc, [:range,:vmid_list] do - helper.perform_actions(args[0],options,"Setting resched flag") do |vm| + command :resched, resched_desc, [:range, :vmid_list] do + helper.perform_actions(args[0], options, 'Setting resched flag') do |vm| vm.resched end end @@ -797,8 +860,10 @@ cmd=CommandParser::CmdParser.new(ARGV) do States: RUNNING EOT - command :unresched, unresched_desc, [:range,:vmid_list] do - helper.perform_actions(args[0],options,"Clearing resched flag") do |vm| + command :unresched, unresched_desc, [:range, :vmid_list] do + helper.perform_actions(args[0], + options, + 'Clearing resched flag') do |vm| vm.unresched end end @@ -808,7 +873,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :rename, rename_desc, :vmid, :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 @@ -820,13 +885,18 @@ cmd=CommandParser::CmdParser.new(ARGV) do Creates a new VM snapshot EOT - command :"snapshot-create", snapshot_create_desc, [:range,:vmid_list], - [:name, nil], :options => [OneVMHelper::SCHEDULE, OneVMHelper::WEEKLY, OneVMHelper::MONTHLY, OneVMHelper::YEARLY, OneVMHelper::HOURLY, OneVMHelper::END_TIME] do + command :"snapshot-create", snapshot_create_desc, [:range, :vmid_list], + [:name, nil], :options => [OneVMHelper::SCHEDULE, + OneVMHelper::WEEKLY, + OneVMHelper::MONTHLY, + OneVMHelper::YEARLY, + OneVMHelper::HOURLY, + OneVMHelper::END_TIME] do - if (!options[:schedule].nil?) + if !options[:schedule].nil? helper.schedule_actions(args[0], options, @comm_name) else - helper.perform_actions(args[0],options,"snapshot created") do |o| + helper.perform_actions(args[0], options, 'snapshot created') do |o| o.snapshot_create(args[1]) end end @@ -838,8 +908,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :"snapshot-revert", snapshot_revert_desc, :vmid, :snapshot_id do - - helper.perform_action(args[0],options,"snapshot reverted") do |o| + helper.perform_action(args[0], options, 'snapshot reverted') do |o| o.snapshot_revert(args[1].to_i) end end @@ -850,7 +919,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :"snapshot-delete", snapshot_delete_desc, :vmid, :snapshot_id do - helper.perform_action(args[0],options,"snapshot deleted") do |o| + helper.perform_action(args[0], options, 'snapshot deleted') do |o| o.snapshot_delete(args[1]) end end @@ -863,9 +932,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :"disk-snapshot-create", disk_snapshot_create_desc, - :vmid, :diskid, :name do - helper.perform_action(args[0],options,"disk snapshot created") do |o| - o.disk_snapshot_create(args[1].to_i, args[2]) + :vmid, :diskid, :name do + helper.perform_action(args[0], options, 'disk snapshot created') do |o| + o.disk_snapshot_create(args[1].to_i, args[2]) end end @@ -876,9 +945,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :"disk-snapshot-revert", disk_snapshot_revert_desc, - :vmid, :diskid, :disk_snapshot_id do - helper.perform_action(args[0],options,"disk snapshot reverted") do |o| - o.disk_snapshot_revert(args[1].to_i, args[2].to_i) + :vmid, :diskid, :disk_snapshot_id do + helper.perform_action(args[0], options, 'disk snapshot reverted') do |o| + o.disk_snapshot_revert(args[1].to_i, args[2].to_i) end end @@ -889,9 +958,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :"disk-snapshot-delete", disk_snapshot_delete_desc, - :vmid, :diskid, :disk_snapshot_id do - helper.perform_action(args[0],options,"disk snapshot deleted") do |o| - o.disk_snapshot_delete(args[1].to_i, args[2].to_i) + :vmid, :diskid, :disk_snapshot_id do + helper.perform_action(args[0], options, 'disk snapshot deleted') do |o| + o.disk_snapshot_delete(args[1].to_i, args[2].to_i) end end @@ -900,12 +969,12 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :"disk-snapshot-rename", disk_snapshot_rename_desc, - :vmid, :diskid, :disk_snapshot_id, :new_snapshot_name do - helper.perform_action(args[0],options,"disk snapshot rename") do |o| + :vmid, :diskid, :disk_snapshot_id, :new_snapshot_name do + helper.perform_action(args[0], options, 'disk snapshot rename') do |o| is_num = true if Integer(args[2]) rescue false if !is_num - OpenNebula::Error.new("The disk snapshot ID must be an integer") + OpenNebula::Error.new('The disk snapshot ID must be an integer') else o.disk_snapshot_rename(args[1].to_i, args[2].to_i, args[3].to_s) end @@ -924,8 +993,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :"disk-resize", disk_resize_desc, - :vmid, :diskid, :size do - helper.perform_action(args[0],options,"disk resized") do |o| + :vmid, :diskid, :size do + helper.perform_action(args[0], options, 'disk resized') do |o| o.info size = o["/VM/TEMPLATE/DISK[DISK_ID='#{args[1]}']/SIZE"].to_i @@ -945,8 +1014,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 @@ -955,8 +1024,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :show, show_desc, :vmid, - :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 @@ -964,7 +1033,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :top, top_desc, [:filterflag, nil], - :options=>CLIHelper::OPTIONS+OpenNebulaHelper::OPTIONS do + :options => CLIHelper::OPTIONS + OpenNebulaHelper::OPTIONS do helper.list_pool(options, true, args[0]) end @@ -974,13 +1043,14 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT - command :resize, resize_desc, :vmid, :options => - OpenNebulaHelper::CAPACITY_OPTIONS_VM + [ENFORCE, OneVMHelper::FILE] do + command :resize, resize_desc, :vmid, + :options => OpenNebulaHelper::CAPACITY_OPTIONS_VM + + [ENFORCE, OneVMHelper::FILE] do if options[:file] template = File.read(options[:file]) else - template = "" + template = '' if !options[:cpu].nil? template << "CPU = #{options[:cpu]}\n" @@ -997,7 +1067,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do enforce = options[:enforce] || false - helper.perform_action(args[0], options, "Resizing VM") do |vm| + helper.perform_action(args[0], options, 'Resizing VM') do |vm| vm.resize(template, enforce) end end @@ -1009,9 +1079,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do States: POWEROFF EOT - command :save, save_desc, :vmid, :name, :options=>[PERSISTENT] do - helper.perform_action(args[0],options,"Saving VM") do |vm| - res = vm.save_as_template(args[1], options[:persistent] ) + command :save, save_desc, :vmid, :name, :options => [PERSISTENT] do + helper.perform_action(args[0], options, 'Saving VM') do |vm| + res = vm.save_as_template(args[1], options[:persistent]) if !OpenNebula.is_error?(res) puts "Template ID: #{res}" @@ -1038,22 +1108,24 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :updateconf, updateconf_desc, :vmid, [:file, nil] do - template = "" + template = '' begin - template=File.read(args[1]) if args[1] - rescue Exception => e - STDERR.puts "Error reading template." - exit -1 + template = File.read(args[1]) if args[1] + rescue StandardError => e + STDERR.puts "Error reading template: #{e.message}." + exit(-1) end - helper.perform_action(args[0], options, "Updating VM configuration") do |vm| + helper.perform_action(args[0], options, + 'Updating VM configuration') do |vm| if template.empty? vm.info template = vm.template_like_str('TEMPLATE', true, - 'OS | FEATURES | INPUT | GRAPHICS | RAW | CONTEXT') - template = OpenNebulaHelper::editor_input(template) + 'OS | FEATURES | INPUT | '\ + 'GRAPHICS | RAW | CONTEXT') + template = OpenNebulaHelper.editor_input(template) end vm.updateconf(template) @@ -1067,8 +1139,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :lock, lock_desc, :vmid, - :options => [USE, MANAGE, ADMIN, ALL] do - helper.perform_action(args[0],options,"VM locked") do |vm| + :options => [USE, MANAGE, ADMIN, ALL] do + helper.perform_action(args[0], options, 'VM locked') do |vm| if !options[:use].nil? level = 1 elsif !options[:manage].nil? @@ -1090,7 +1162,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :unlock, unlock_desc, :vmid do - helper.perform_action(args[0],options,"VM unlocked") do |vm| + helper.perform_action(args[0], options, 'VM unlocked') do |vm| vm.unlock end end diff --git a/src/cli/onevmgroup b/src/cli/onevmgroup index 2bc065fe63..9353c3d720 100755 --- a/src/cli/onevmgroup +++ b/src/cli/onevmgroup @@ -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` [] []" +CommandParser::CmdParser.new(ARGV) do + usage '`onevmgroup` [] []' 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 diff --git a/src/cli/onevnet b/src/cli/onevnet index ca07024108..a17306cd0c 100755 --- a/src/cli/onevnet +++ b/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` [] []" +CommandParser::CmdParser.new(ARGV) do + usage '`onevnet` [] []' 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 diff --git a/src/cli/onevrouter b/src/cli/onevrouter index 9b082a7ada..8755315800 100755 --- a/src/cli/onevrouter +++ b/src/cli/onevrouter @@ -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` [] []" +CommandParser::CmdParser.new(ARGV) do + usage '`onevrouter` [] []' 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 " STDERR.puts "\t--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 diff --git a/src/cli/onezone b/src/cli/onezone index 36b785534f..8d89d03755 100755 --- a/src/cli/onezone +++ b/src/cli/onezone @@ -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` [] []" +CommandParser::CmdParser.new(ARGV) do + usage '`onezone` [] []' 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 " STDERR.puts "\t-r " - 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)