diff --git a/src/cli/oneacct b/src/cli/oneacct index 06be2fdb34..b5711587e3 100755 --- a/src/cli/oneacct +++ b/src/cli/oneacct @@ -16,36 +16,36 @@ # 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/oneacct_helper' require 'json' -cmd=CommandParser::CmdParser.new(ARGV) do - usage "`oneacct` []" - description "" +CommandParser::CmdParser.new(ARGV) do + usage '`oneacct` []' + description '' version OpenNebulaHelper::ONE_VERSION - helper=OpenNebulaHelper::OneHelper.new + helper = OpenNebulaHelper::OneHelper.new before_proc do helper.set_client(options) end option AcctHelper::ACCT_OPTIONS + CommandParser::OPTIONS + - [OpenNebulaHelper::DESCRIBE, CLIHelper::LIST, CLIHelper::CSV_OPT] + - OpenNebulaHelper::CLIENT_OPTIONS + [OpenNebulaHelper::DESCRIBE, CLIHelper::LIST, CLIHelper::CSV_OPT] + + OpenNebulaHelper::CLIENT_OPTIONS main do if options[:describe] @@ -54,18 +54,22 @@ cmd=CommandParser::CmdParser.new(ARGV) do end filter_flag = (options[:userfilter] || VirtualMachinePool::INFO_ALL) - start_time = options[:start_time] ? options[:start_time].to_i : -1 + if options[:start_time] + start_time = options[:start_time].to_i + else + start_time = -1 + end end_time = -1 - if (!options[:end_time].nil?) + if !options[:end_time].nil? # Not the safest way to add a day, but since managing date/time # in ruby is... not entirely convenient, this will do t = options[:end_time] - if (t.hour == 0 && t.min == 0 && t.sec == 0) - t += 24*60*60 + if t.hour.zero? && t.min.zero? && t.sec.zero? + t += 24 * 60 * 60 end end_time = t.to_i @@ -79,13 +83,13 @@ cmd=CommandParser::CmdParser.new(ARGV) do :xpath => options[:xpath] } - pool = OpenNebula::VirtualMachinePool.new(helper.client) + pool = OpenNebula::VirtualMachinePool.new(helper.client) if options[:json] || options[:xml] xml_str = pool.accounting_xml(filter_flag, common_opts) if OpenNebula.is_error?(xml_str) puts xml_str.message - exit -1 + exit(-1) end if options[:json] @@ -96,10 +100,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do elsif options[:xml] puts xml_str end - - exit_code 0 else - order_by = Hash.new + order_by = {} order_by[:order_by_1] = 'VM/UID' if options[:split] && !options[:csv] @@ -110,48 +112,48 @@ cmd=CommandParser::CmdParser.new(ARGV) do common_opts.merge(order_by)) if OpenNebula.is_error?(acct_hash) puts acct_hash.message - exit -1 + exit(-1) end if options[:csv] - a=Array.new + a = [] acct_hash.each do |user_id, value| value['HISTORY_RECORDS']['HISTORY'].each do |l| - l['UID']=user_id + l['UID'] = user_id a << l end end - cols = [ :UID ] + AcctHelper::ACCT_TABLE.default_columns + cols = [:UID] + AcctHelper::ACCT_TABLE.default_columns options[:list] ||= cols AcctHelper::ACCT_TABLE.show(a, options) exit(0) end - if ( start_time != -1 or end_time != -1 ) + if start_time != -1 || end_time != -1 AcctHelper.print_start_end_time_header(start_time, end_time) end - acct_hash.each { |user_id, value| + acct_hash.each do |user_id, value| AcctHelper.print_user_header(user_id) if options[:split] # Use one table for each VM - value.each { |vm_id, history_array| + value.each do |_vm_id, history_array| array = history_array['HISTORY_RECORDS']['HISTORY'] AcctHelper::ACCT_TABLE.show(array, options) puts - } + end else # Use the same table for all the VMs array = value['HISTORY_RECORDS']['HISTORY'] AcctHelper::ACCT_TABLE.show(array, options) puts end - } - - exit_code 0 + end end + + exit_code 0 end end diff --git a/src/cli/oneacl b/src/cli/oneacl index 98e5d775c0..3002978672 100755 --- a/src/cli/oneacl +++ b/src/cli/oneacl @@ -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/oneacl_helper' -cmd=CommandParser::CmdParser.new(ARGV) do - usage "`oneacl` [] []" +CommandParser::CmdParser.new(ARGV) do + usage '`oneacl` [] []' version OpenNebulaHelper::ONE_VERSION helper = OneAclHelper.new @@ -43,7 +43,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do ######################################################################## # Global Options ######################################################################## - set :option, CommandParser::OPTIONS+OpenNebulaHelper::CLIENT_OPTIONS + set :option, CommandParser::OPTIONS + OpenNebulaHelper::CLIENT_OPTIONS ######################################################################## # Formatters for arguments @@ -60,7 +60,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do Adds a new ACL rule EOT - command :create, addrule_desc, [:user,:rulestr], [:resource, nil], + command :create, addrule_desc, [:user, :rulestr], [:resource, nil], [:rights, nil] do case args.length when 1 @@ -70,9 +70,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do next -1, new_args.message end when 3, 4 - new_args=args + new_args = args else - next -1, "Wrong number of arguments, must be 1 or 4" + next -1, 'Wrong number of arguments, must be 1 or 4' end helper.create_resource(options) do |rule| @@ -85,7 +85,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :delete, delrule_desc, [:range] do - helper.perform_actions(args[0],options,"deleted") do |obj| + helper.perform_actions(args[0], options, 'deleted') do |obj| obj.delete end end @@ -94,8 +94,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do Lists the ACL rule set EOT - command :list, list_desc,:options=>[OpenNebulaHelper::XML, - OpenNebulaHelper::DESCRIBE] do - helper.list_pool( options ) + command :list, list_desc, :options => [OpenNebulaHelper::XML, + OpenNebulaHelper::DESCRIBE] do + helper.list_pool(options) end end diff --git a/src/cli/onecluster b/src/cli/onecluster index 19096e53dc..f901978766 100755 --- a/src/cli/onecluster +++ b/src/cli/onecluster @@ -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/onecluster_helper' -cmd=CommandParser::CmdParser.new(ARGV) do - usage "`onecluster` [] []" +CommandParser::CmdParser.new(ARGV) do + usage '`onecluster` [] []' version OpenNebulaHelper::ONE_VERSION helper = OneClusterHelper.new @@ -43,7 +43,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 @@ -61,17 +61,17 @@ cmd=CommandParser::CmdParser.new(ARGV) do helper.list_to_id(arg) end - set :format, :vnetid, OpenNebulaHelper.rname_to_id_desc("VNET") do |arg| - OpenNebulaHelper.rname_to_id(arg, "VNET") + set :format, :vnetid, OpenNebulaHelper.rname_to_id_desc('VNET') do |arg| + OpenNebulaHelper.rname_to_id(arg, 'VNET') end - 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, :datastoreid, - OpenNebulaHelper.rname_to_id_desc("DATASTORE") do |arg| - OpenNebulaHelper.rname_to_id(arg, "DATASTORE") + OpenNebulaHelper.rname_to_id_desc('DATASTORE') do |arg| + OpenNebulaHelper.rname_to_id(arg, 'DATASTORE') end ######################################################################## @@ -93,7 +93,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :delete, delete_desc, [:range, :clusterid_list] do - helper.perform_actions(args[0],options,"deleted") do |obj| + helper.perform_actions(args[0], options, 'deleted') do |obj| obj.delete end end @@ -102,7 +102,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do Lists Clusters 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 @@ -110,8 +110,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do Shows information for the given Cluster EOT - command :show, show_desc,:clusterid, :options=>OpenNebulaHelper::XML do - helper.show_resource(args[0],options) + command :show, show_desc, :clusterid, :options => OpenNebulaHelper::XML do + helper.show_resource(args[0], options) end addhost_desc = <<-EOT.unindent @@ -119,8 +119,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT # TODO: allow the second param to be [:range, :hostid_list] - command :addhost, addhost_desc,:clusterid, :hostid do - helper.perform_action(args[0],options,"updated") do |cluster| + command :addhost, addhost_desc, :clusterid, :hostid do + helper.perform_action(args[0], options, 'updated') do |cluster| cluster.addhost(args[1].to_i) end end @@ -131,7 +131,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do # TODO: allow the second param to be [:range, :hostid_list] command :delhost, delhost_desc, :clusterid, :hostid do - helper.perform_action(args[0],options,"updated") do |cluster| + helper.perform_action(args[0], options, 'updated') do |cluster| cluster.delhost(args[1].to_i) end end @@ -141,8 +141,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT # TODO: allow the second param to be [:range, :datastoreid_list] - command :adddatastore, adddatastore_desc,:clusterid, :datastoreid do - helper.perform_action(args[0],options,"updated") do |cluster| + command :adddatastore, adddatastore_desc, :clusterid, :datastoreid do + helper.perform_action(args[0], options, 'updated') do |cluster| cluster.adddatastore(args[1].to_i) end end @@ -153,7 +153,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do # TODO: allow the second param to be [:range, :datastoreid_list] command :deldatastore, deldatastore_desc, :clusterid, :datastoreid do - helper.perform_action(args[0],options,"updated") do |cluster| + helper.perform_action(args[0], options, 'updated') do |cluster| cluster.deldatastore(args[1].to_i) end end @@ -163,8 +163,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT # TODO: allow the second param to be [:range, :vnetid_list] - command :addvnet, addvnet_desc,:clusterid, :vnetid do - helper.perform_action(args[0],options,"updated") do |cluster| + command :addvnet, addvnet_desc, :clusterid, :vnetid do + helper.perform_action(args[0], options, 'updated') do |cluster| cluster.addvnet(args[1].to_i) end end @@ -174,8 +174,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT # TODO: allow the second param to be [:range, :vnetid_list] - command :delvnet, delvnet_desc,:clusterid, :vnetid do - helper.perform_action(args[0],options,"updated") do |cluster| + command :delvnet, delvnet_desc, :clusterid, :vnetid do + helper.perform_action(args[0], options, 'updated') do |cluster| cluster.delvnet(args[1].to_i) end end @@ -186,8 +186,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :update, update_desc, :clusterid, [: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 @@ -206,7 +206,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :rename, rename_desc, :clusterid, :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 diff --git a/src/cli/onedatastore b/src/cli/onedatastore index a8bd150618..aef974a85a 100755 --- a/src/cli/onedatastore +++ b/src/cli/onedatastore @@ -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/onedatastore_helper' require 'one_helper/onecluster_helper' -cmd=CommandParser::CmdParser.new(ARGV) do - usage "`onedatastore` [] []" +CommandParser::CmdParser.new(ARGV) do + usage '`onedatastore` [] []' version OpenNebulaHelper::ONE_VERSION helper = OneDatastoreHelper.new @@ -44,7 +44,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 @@ -63,16 +63,16 @@ cmd=CommandParser::CmdParser.new(ARGV) do end set :format, :clusterid, - OpenNebulaHelper.rname_to_id_desc("CLUSTER") do |arg| - OpenNebulaHelper.rname_to_id(arg, "CLUSTER") + OpenNebulaHelper.rname_to_id_desc('CLUSTER') do |arg| + OpenNebulaHelper.rname_to_id(arg, 'CLUSTER') 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 ######################################################################## @@ -84,17 +84,17 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :create, create_desc, :file, - :options=>[OneClusterHelper::CLUSTER] do + :options => [OneClusterHelper::CLUSTER] do cid = options[:cluster] || ClusterPool::NONE_CLUSTER_ID helper.create_resource(options) do |datastore| begin - template=File.read(args[0]) + template = File.read(args[0]) datastore.allocate(template, cid) - rescue =>e + rescue StandardError => e STDERR.puts e.message - exit -1 + exit(-1) end end end @@ -104,7 +104,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :delete, delete_desc, [:range, :datastoreid_list] do - helper.perform_actions(args[0],options,"deleted") do |obj| + helper.perform_actions(args[0], options, 'deleted') do |obj| obj.delete end end @@ -113,8 +113,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do Changes the Datastore group EOT - command :chgrp, chgrp_desc,[:range, :datastoreid_list], :groupid do - helper.perform_actions(args[0],options,"Group changed") do |obj| + command :chgrp, chgrp_desc, [:range, :datastoreid_list], :groupid do + helper.perform_actions(args[0], options, 'Group changed') do |obj| obj.chown(-1, args[1].to_i) end end @@ -124,9 +124,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :chown, chown_desc, [:range, :datastoreid_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 @@ -136,7 +136,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :chmod, chmod_desc, [:range, :datastoreid_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 @@ -145,7 +145,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do Lists Datastores 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 @@ -153,8 +153,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do Shows information for the given Datastore EOT - command :show, show_desc, :datastoreid, :options=>OpenNebulaHelper::XML do - helper.show_resource(args[0],options) + command :show, show_desc, :datastoreid, :options => OpenNebulaHelper::XML do + helper.show_resource(args[0], options) end update_desc = <<-EOT.unindent @@ -163,8 +163,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :update, update_desc, :datastoreid, [: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 @@ -183,7 +183,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :rename, rename_desc, :datastoreid, :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 @@ -192,8 +192,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do Enables the given Datastore. Only available for System Datastores EOT - command :enable, enable_desc, [:range,:datastoreid_list] do - helper.perform_actions(args[0],options,"enabled") do |obj| + command :enable, enable_desc, [:range, :datastoreid_list] do + helper.perform_actions(args[0], options, 'enabled') do |obj| obj.enable end end @@ -202,8 +202,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do Disables the given Datastore. Only available for System Datastores EOT - command :disable, disable_desc, [:range,:datastoreid_list] do - helper.perform_actions(args[0],options,"disabled") do |obj| + command :disable, disable_desc, [:range, :datastoreid_list] do + helper.perform_actions(args[0], options, 'disabled') do |obj| obj.disable end end diff --git a/src/cli/oneflow b/src/cli/oneflow index ac6717ae9f..f6a7083f6e 100755 --- a/src/cli/oneflow +++ b/src/cli/oneflow @@ -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 'opennebula/oneflow_client' @@ -35,139 +35,142 @@ require 'one_helper/onevm_helper' require 'json' -USER_AGENT = "CLI" +USER_AGENT = 'CLI' # Base Path representing the resource to be used in the requests -RESOURCE_PATH = "/service" +RESOURCE_PATH = '/service' # # Table # SERVICE_TABLE = CLIHelper::ShowTable.new(nil, self) do - column :ID, "ID", :size=>10 do |d| - d["ID"] + column :ID, 'ID', :size => 10 do |d| + d['ID'] end - column :USER, "Username", :left, :size=>15 do |d| - d["UNAME"] + column :USER, 'Username', :left, :size => 15 do |d| + d['UNAME'] end - column :GROUP, "Group", :left, :size=>15 do |d| - d["GNAME"] + column :GROUP, 'Group', :left, :size => 15 do |d| + d['GNAME'] end - column :NAME, "Name", :size=>25, :left=>true do |d| - d["NAME"] + column :NAME, 'Name', :size => 25, :left => true do |d| + d['NAME'] end - column :STATE, "State", :size=>11, :left=>true do |d| - Service.state_str(d["TEMPLATE"]["BODY"]['state']) + column :STATE, 'State', :size => 11, :left => true do |d| + Service.state_str(d['TEMPLATE']['BODY']['state']) end default :ID, :USER, :GROUP, :NAME, :STATE end NODE_TABLE = CLIHelper::ShowTable.new(nil, self) do - column :VM_ID, "ONE identifier for Virtual Machine", :size=>6 do |d| - st = "" + column :VM_ID, 'ONE identifier for Virtual Machine', :size => 6 do |d| + st = '' if d['scale_up'] - st << "\u2191 " + st << '\u2191 ' elsif d['disposed'] - st << "\u2193 " + st << '\u2193 ' end if d['vm_info'].nil? st << d['deploy_id'].to_s else - st << d['vm_info']['VM']["ID"] + st << d['vm_info']['VM']['ID'] end st end - column :NAME, "Name of the Virtual Machine", :left, - :size=>23 do |d| + column :NAME, 'Name of the Virtual Machine', :left, + :size => 23 do |d| if !d['vm_info'].nil? - if d['vm_info']['VM']["RESCHED"] == "1" - "*#{d["NAME"]}" + if d['vm_info']['VM']['RESCHED'] == '1' + "*#{d['NAME']}" else - d['vm_info']['VM']["NAME"] + d['vm_info']['VM']['NAME'] end else - "" + '' end end - column :USER, "Username of the Virtual Machine owner", :left, - :size=>8 do |d| + column :USER, 'Username of the Virtual Machine owner', :left, + :size => 8 do |d| if !d['vm_info'].nil? - d['vm_info']['VM']["UNAME"] + d['vm_info']['VM']['UNAME'] else - "" + '' end end - column :GROUP, "Group of the Virtual Machine", :left, - :size=>8 do |d| + column :GROUP, 'Group of the Virtual Machine', :left, + :size => 8 do |d| if !d['vm_info'].nil? - d['vm_info']['VM']["GNAME"] + d['vm_info']['VM']['GNAME'] else - "" + '' end end - column :STAT, "Actual status", :size=>4 do |d,e| + column :STAT, 'Actual status', :size => 4 do |d, _| if !d['vm_info'].nil? - OneVMHelper.state_to_str(d['vm_info']['VM']["STATE"], d['vm_info']['VM']["LCM_STATE"]) + OneVMHelper.state_to_str(d['vm_info']['VM']['STATE'], + d['vm_info']['VM']['LCM_STATE']) else - "" + '' end end - column :UCPU, "CPU percentage used by the VM", :size=>4 do |d| + column :UCPU, 'CPU percentage used by the VM', :size => 4 do |d| if !d['vm_info'].nil? - d['vm_info']['VM']["CPU"] + d['vm_info']['VM']['CPU'] else - "" + '' end end - column :UMEM, "Memory used by the VM", :size=>7 do |d| + column :UMEM, 'Memory used by the VM', :size => 7 do |d| if !d['vm_info'].nil? - OpenNebulaHelper.unit_to_str(d['vm_info']['VM']["MEMORY"].to_i, {}) + OpenNebulaHelper.unit_to_str(d['vm_info']['VM']['MEMORY'].to_i, {}) else - "" + '' end end - column :HOST, "Host where the VM is running", :left, :size=>20 do |d| + column :HOST, 'Host where the VM is running', :left, :size => 20 do |d| if !d['vm_info'].nil? - if d['vm_info']['VM']['HISTORY_RECORDS'] && d['vm_info']['VM']['HISTORY_RECORDS']['HISTORY'] - state_str = VirtualMachine::VM_STATE[d['vm_info']['VM']['STATE'].to_i] - if %w{ACTIVE SUSPENDED}.include? state_str - history = if d['vm_info']['VM']['HISTORY_RECORDS']['HISTORY'].instance_of?(Array) - d['vm_info']['VM']['HISTORY_RECORDS']['HISTORY'].last - else - d['vm_info']['VM']['HISTORY_RECORDS']['HISTORY'] - end - + if d['vm_info']['VM']['HISTORY_RECORDS'] && + d['vm_info']['VM']['HISTORY_RECORDS']['HISTORY'] + state_str = + VirtualMachine::VM_STATE[d['vm_info']['VM']['STATE'].to_i] + history = d['vm_info']['VM']['HISTORY_RECORDS']['HISTORY'] + if %w[ACTIVE SUSPENDED].include? state_str + history = history.last if history.instance_of?(Array) history['HOSTNAME'] end end else - "" + '' end end - column :TIME, "Time since the VM was submitted", :size=>10 do |d| + column :TIME, 'Time since the VM was submitted', :size => 10 do |d| if !d['vm_info'].nil? - stime = d['vm_info']['VM']["STIME"].to_i - etime = d['vm_info']['VM']["ETIME"]=="0" ? Time.now.to_i : d['vm_info']['VM']["ETIME"].to_i - dtime = etime-stime + stime = d['vm_info']['VM']['STIME'].to_i + if d['vm_info']['VM']['ETIME'] == '0' + etime = Time.now.to_i + else + etime = d['vm_info']['VM']['ETIME'].to_i + end + dtime = etime - stime OpenNebulaHelper.period_to_str(dtime, false) else - "" + '' end end @@ -176,19 +179,18 @@ end # List the services. This method is used in top and list commands # @param [Service::Client] client -# @param [Array] args # @param [Hash] options # @return [[Integer, String], Integer] Returns the exit_code and optionally # a String to be printed -def list_services(client, args, options) +def list_services(client, options) response = client.get(RESOURCE_PATH) - if CloudClient::is_error?(response) + if CloudClient.is_error?(response) [response.code.to_i, response.to_s] else - #[0,response.body] + # [0,response.body] if options[:json] - [0,response.body] + [0, response.body] else array_list = JSON.parse(response.body) SERVICE_TABLE.show(array_list['DOCUMENT_POOL']['DOCUMENT']) @@ -206,73 +208,92 @@ end def show_service(client, args, options) response = client.get("#{RESOURCE_PATH}/#{args[0]}") - if CloudClient::is_error?(response) + if CloudClient.is_error?(response) [response.code.to_i, response.to_s] else - #[0,response.body] + # [0,response.body] if options[:json] - [0,response.body] + [0, response.body] else - str="%-20s: %-20s" - str_h1="%-80s" + str = '%-20s: %-20s' + str_h1 = '%-80s' document_hash = JSON.parse(response.body) template = document_hash['DOCUMENT']['TEMPLATE']['BODY'] + str_header = "SERVICE #{document_hash['DOCUMENT']['ID']} "\ + 'INFORMATION' + CLIHelper.print_header(str_h1 % str_header) - CLIHelper.print_header(str_h1 % "SERVICE #{document_hash['DOCUMENT']['ID']} INFORMATION") + puts format(str, ['ID', document_hash['DOCUMENT']['ID']]) + puts format(str, ['NAME', document_hash['DOCUMENT']['NAME']]) + puts format(str, ['USER', document_hash['DOCUMENT']['UNAME']]) + puts format(str, ['GROUP', document_hash['DOCUMENT']['GNAME']]) - puts str % ["ID", document_hash['DOCUMENT']['ID']] - puts str % ["NAME", document_hash['DOCUMENT']['NAME']] - puts str % ["USER", document_hash['DOCUMENT']['UNAME']] - puts str % ["GROUP",document_hash['DOCUMENT']['GNAME']] - - puts str % ["STRATEGY", template['deployment']] - puts str % ["SERVICE STATE", Service.state_str(template['state'])] - puts str % ["SHUTDOWN", template['shutdown_action']] if template['shutdown_action'] + puts format(str, ['STRATEGY', template['deployment']]) + puts format(str, + ['SERVICE STATE', Service.state_str(template['state'])]) + if template['shutdown_action'] + puts format(str, ['SHUTDOWN', template['shutdown_action']]) + end puts - CLIHelper.print_header(str_h1 % "PERMISSIONS",false) + CLIHelper.print_header(str_h1 % 'PERMISSIONS', false) - ["OWNER", "GROUP", "OTHER"].each { |e| - mask = "---" - mask[0] = "u" if document_hash['DOCUMENT']['PERMISSIONS']["#{e}_U"] == "1" - mask[1] = "m" if document_hash['DOCUMENT']['PERMISSIONS']["#{e}_M"] == "1" - mask[2] = "a" if document_hash['DOCUMENT']['PERMISSIONS']["#{e}_A"] == "1" + %w[OWNER GROUP OTHER].each do |e| + mask = '---' + permissions_hash = document_hash['DOCUMENT']['PERMISSIONS'] + mask[0] = 'u' if permissions_hash["#{e}_U"] == '1' + mask[1] = 'm' if permissions_hash["#{e}_M"] == '1' + mask[2] = 'a' if permissions_hash["#{e}_A"] == '1' - puts str % [e, mask] - } + puts format(str, [e, mask]) + end puts - template['roles'].each {|role| + template['roles'].each do |role| CLIHelper.print_header("ROLE #{role['name']}", false) - puts str % ["ROLE STATE", Role.state_str(role['state'])] - puts str % ["PARENTS", role['parents'].join(', ')] if role['parents'] - puts str % ["VM TEMPLATE", role['vm_template']] - puts str % ["CARDINALITY", role['cardinality']] - puts str % ["MIN VMS", role['min_vms']] if role['min_vms'] - puts str % ["MAX VMS", role['max_vms']] if role['max_vms'] - puts str % ["COOLDOWN", "#{role['cooldown']}s"] if role['cooldown'] - puts str % ["SHUTDOWN", role['shutdown_action']] if role['shutdown_action'] + puts format(str, ['ROLE STATE', Role.state_str(role['state'])]) + if role['parents'] + puts format(str, ['PARENTS', role['parents'].join(', ')]) + end + puts format(str, ['VM TEMPLATE', role['vm_template']]) + puts format(str, ['CARDINALITY', role['cardinality']]) + if role['min_vms'] + puts format(str, ['MIN VMS', role['min_vms']]) + end + if role['max_vms'] + puts format(str, ['MAX VMS', role['max_vms']]) + end + if role['coolddown'] + puts format(str, ['COOLDOWN', "#{role['cooldown']}s"]) + end + if role['shutdown_action'] + puts format(str, ['SHUTDOWN', role['shutdown_action']]) + end - puts "NODES INFORMATION" + puts 'NODES INFORMATION' NODE_TABLE.show(role['nodes']) - if !role['elasticity_policies'].nil? && role['elasticity_policies'].size > 0 || !role['scheduled_policies'].nil? && role['scheduled_policies'].size > 0 + if !role['elasticity_policies'].nil? && + !role['elasticity_policies'].empty? || + !role['scheduled_policies'].nil? && + !role['scheduled_policies'].emtpty? puts - puts "ELASTICITY RULES" + puts 'ELASTICITY RULES' - if role['elasticity_policies'] && role['elasticity_policies'].size > 0 + if role['elasticity_policies'] && + !role['elasticity_policies'].emtpty? puts -# puts "ELASTICITY POLICIES" + # puts 'ELASTICITY POLICIES' CLIHelper::ShowTable.new(nil, self) do - column :ADJUST, "", :left, :size=>12 do |d| + column :ADJUST, '', :left, :size => 12 do |d| adjust_str(d) end - column :EXPRESSION, "", :left, :size=>48 do |d| + column :EXPRESSION, '', :left, :size => 48 do |d| if !d['expression_evaluated'].nil? d['expression_evaluated'] else @@ -280,19 +301,20 @@ def show_service(client, args, options) end end - column :'EVALS', "", :right, :size=>5 do |d| + column :EVALS, '', :right, :size => 5 do |d| if d['period_number'] - "#{d['true_evals'].to_i}/#{d['period_number']}" + "#{d['true_evals'].to_i}/"\ + "#{d['period_number']}" else - "-" + '-' end end - column :PERIOD, "", :size=>6 do |d| - d['period'] ? "#{d['period']}s" : '-' + column :PERIOD, '', :size => 6 do |d| + d['period'] ? "#{d['period']}s" : '-' end - column :COOL, "", :size=>5 do |d| + column :COOL, '', :size => 5 do |d| d['cooldown'] ? "#{d['cooldown']}s" : '-' end @@ -300,15 +322,16 @@ def show_service(client, args, options) end.show([role['elasticity_policies']].flatten, {}) end - if role['scheduled_policies'] && role['scheduled_policies'].size > 0 + if role['scheduled_policies'] && + !role['scheduled_policies'].empty? puts -# puts "SCHEDULED POLICIES" + # puts 'SCHEDULED POLICIES' CLIHelper::ShowTable.new(nil, self) do - column :ADJUST, "", :left, :size=>12 do |d| + column :ADJUST, '', :left, :size => 12 do |d| adjust_str(d) end - column :TIME, "", :left, :size=>67 do |d| + column :TIME, '', :left, :size => 67 do |d| if d['start_time'] Time.parse(d['start_time']).to_s else @@ -322,17 +345,17 @@ def show_service(client, args, options) end puts - } + end puts - CLIHelper.print_header(str_h1 % "LOG MESSAGES",false) + CLIHelper.print_header(str_h1 % 'LOG MESSAGES', false) if template['log'] - template['log'].each { |log| - t = Time.at(log['timestamp']).strftime("%m/%d/%y %H:%M") + template['log'].each do |log| + t = Time.at(log['timestamp']).strftime('%m/%d/%y %H:%M') puts "#{t} [#{log['severity']}] #{log['message']}" - } + end end 0 @@ -341,7 +364,7 @@ def show_service(client, args, options) end def adjust_str(policy) - sign = policy['adjust'].to_i >= 0 ? "+" : "-" + policy['adjust'].to_i >= 0 ? sign = '+' : sign = '-' adjust = policy['adjust'].to_i.abs case policy['type'] @@ -363,8 +386,8 @@ end # Commands # -cmd=CommandParser::CmdParser.new(ARGV) do - usage "`oneflow` [] []" +CommandParser::CmdParser.new(ARGV) do + usage '`oneflow` [] []' version OpenNebulaHelper::ONE_VERSION set :option, Service::DEFAULT_OPTIONS @@ -374,27 +397,29 @@ 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, :service_id, Service.rname_to_id_desc("SERVICE") do |arg| - Service.rname_to_id(arg, "SERVICE") + set :format, :service_id, Service.rname_to_id_desc('SERVICE') do |arg| + Service.rname_to_id(arg, 'SERVICE') end - set :format, :service_id_list, Service.list_to_id_desc("SERVICE") do |arg| - Service.list_to_id(arg, "SERVICE") + set :format, :service_id_list, Service.list_to_id_desc('SERVICE') do |arg| + Service.list_to_id(arg, 'SERVICE') end - set :format, :vm_action, "Actions supported: #{Role::SCHEDULE_ACTIONS.join(', ')}" do |arg| + set :format, :vm_action, + 'Actions supported: #{Role::SCHEDULE_ACTIONS.join(', ')}' do |arg| if Role::SCHEDULE_ACTIONS.include?(arg) [0, arg] else - [-1, "Action #{arg} is not supported. Actions supported: #{Role::SCHEDULE_ACTIONS.join(', ')}"] + [-1, "Action #{arg} is not supported. Actions supported: "\ + "#{Role::SCHEDULE_ACTIONS.join(', ')}"] end end @@ -408,12 +433,13 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :list, list_desc, :options => Service::JSON_FORMAT do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) - list_services(client, args, options) + list_services(client, options) end # @@ -426,10 +452,11 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :show, show_desc, :service_id, :options => Service::JSON_FORMAT do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) show_service(client, args, options) end @@ -444,37 +471,34 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :top, top_desc, [:service_id, nil], - :options => [Service::JSON_FORMAT, Service::TOP, CLIHelper::DELAY] do + :options => [Service::JSON_FORMAT, + Service::TOP, + CLIHelper::DELAY] do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) - delay=options[:delay] ? options[:delay] : 3 + options[:delay] ? delay = options[:delay] : delay = 3 begin - while true + loop do CLIHelper.scr_cls - CLIHelper.scr_move(0,0) + CLIHelper.scr_move(0, 0) if args[0] rc, message = show_service(client, args, options) - - if rc != 0 - raise message - end else - rc, message = list_services(client, args, options) - - if rc != 0 - raise message - end + rc, message = list_services(client, options) end + raise message if rc + sleep delay end - rescue Exception => e + rescue StandardError => e puts e.message -1 end @@ -490,14 +514,15 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :delete, delete_desc, [:range, :service_id_list] do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) - Service.perform_actions(args[0]) { |service_id| + Service.perform_actions(args[0]) do |service_id| client.delete("#{RESOURCE_PATH}/#{service_id}") - } + end end # @@ -511,16 +536,17 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :shutdown, shutdown_desc, [:range, :service_id_list] do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) - Service.perform_actions(args[0]) { |service_id| + Service.perform_actions(args[0]) do |service_id| json_action = Service.build_json_action('shutdown') client.post("#{RESOURCE_PATH}/#{service_id}/action", json_action) - } + end end # @@ -538,16 +564,17 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :recover, recover_desc, [:range, :service_id_list] do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) - Service.perform_actions(args[0]) { |service_id| + Service.perform_actions(args[0]) do |service_id| json_action = Service.build_json_action('recover') client.post("#{RESOURCE_PATH}/#{service_id}/action", json_action) - } + end end # @@ -558,27 +585,29 @@ cmd=CommandParser::CmdParser.new(ARGV) do Scale a role to the given cardinality EOT - command :'scale', scale_desc, :service_id, :role_name, - :cardinality, :options => [Service::FORCE] do + command :scale, scale_desc, :service_id, :role_name, + :cardinality, :options => [Service::FORCE] do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) - if !(args[2] =~ /^\d+$/) - puts "Cardinality must be an integer number" - exit -1 + if args[2] !~ /^\d+$/ + puts 'Cardinality must be an integer number' + exit(-1) end exit_code = 0 - json = "{ \"cardinality\" : #{args[2]},\n"<< + json = "{ \"cardinality\" : #{args[2]},\n" \ " \"force\" : #{options[:force] == true} }" - response = client.put("#{RESOURCE_PATH}/#{args[0]}/role/#{args[1]}", json) + response = client + .put("#{RESOURCE_PATH}/#{args[0]}/role/#{args[1]}", json) - if CloudClient::is_error?(response) + if CloudClient.is_error?(response) puts response.to_s exit_code = response.code.to_i end @@ -592,41 +621,44 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :chgrp, chgrp_desc, [:range, :service_id_list], :groupid do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) - Service.perform_actions(args[0]) { |service_id| - params = Hash.new + Service.perform_actions(args[0]) do |service_id| + params = {} params['group_id'] = args[1].to_i json_action = Service.build_json_action('chgrp', params) client.post("#{RESOURCE_PATH}/#{service_id}/action", json_action) - } + end end chown_desc = <<-EOT.unindent Changes the service owner and group EOT - command :chown, chown_desc, [:range, :service_id_list], :userid, [:groupid, nil] do + command :chown, chown_desc, + [:range, :service_id_list], :userid, [:groupid, nil] do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) - Service.perform_actions(args[0]) { |service_id| - params = Hash.new + Service.perform_actions(args[0]) do |service_id| + params = {} params['owner_id'] = args[1] params['group_id'] = args[2] if args[2] json_action = Service.build_json_action('chown', params) client.post("#{RESOURCE_PATH}/#{service_id}/action", json_action) - } + end end chmod_desc = <<-EOT.unindent @@ -635,40 +667,43 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :chmod, chmod_desc, [:range, :service_id_list], :octet do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) - Service.perform_actions(args[0]) { |service_id| - params = Hash.new + Service.perform_actions(args[0]) do |service_id| + params = {} params['octet'] = args[1] json_action = Service.build_json_action('chmod', params) client.post("#{RESOURCE_PATH}/#{service_id}/action", json_action) - } + end end rename_desc = <<-EOT.unindent - Renames the Service + Renames the Service EOT command :rename, rename_desc, :service_id, :name do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) - params = Hash.new + params = {} params['name'] = args[1] json_action = Service.build_json_action('rename', params) - response = client.post("#{RESOURCE_PATH}/#{args[0]}/action", json_action) + response = client + .post("#{RESOURCE_PATH}/#{args[0]}/action", json_action) - if CloudClient::is_error?(response) + if CloudClient.is_error?(response) [response.code.to_i, response.to_s] else response.code.to_i @@ -677,26 +712,28 @@ cmd=CommandParser::CmdParser.new(ARGV) do action_desc = <<-EOT.unindent Perform an action on all the Virtual Machines of a given role. - Actions supported: #{Role::SCHEDULE_ACTIONS.join(",")} + Actions supported: #{Role::SCHEDULE_ACTIONS.join(',')} EOT - command :"action", action_desc, :service_id, :role_name, :vm_action, - :options => [Service::PERIOD, Service::NUMBER] do + command :action, action_desc, :service_id, :role_name, :vm_action, + :options => [Service::PERIOD, Service::NUMBER] do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) - Service.perform_actions([args[0]]) { |service_id| - params = Hash.new + Service.perform_actions([args[0]]) do |service_id| + params = {} params[:period] = options[:period].to_i if options[:period] params[:number] = options[:number].to_i if options[:number] json_action = Service.build_json_action(args[2], params) - client.post("#{RESOURCE_PATH}/#{service_id}/role/#{args[1]}/action", json_action) - } + client.post("#{RESOURCE_PATH}/#{service_id}/role/#{args[1]}/action", + json_action) + end end end diff --git a/src/cli/oneflow-template b/src/cli/oneflow-template index 22c3955e6f..3b037be73a 100755 --- a/src/cli/oneflow-template +++ b/src/cli/oneflow-template @@ -16,26 +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" + 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 'opennebula/oneflow_client' - +require 'English' require 'cli_helper' require 'one_helper' require 'json' -USER_AGENT = "CLI" +USER_AGENT = 'CLI' # Base Path representing the resource to be used in the requests RESOURCE_PATH = '/service_template' @@ -45,26 +45,25 @@ RESOURCE_PATH = '/service_template' # TABLE = CLIHelper::ShowTable.new(nil, self) do - column :ID, "ID", :size=>10 do |d| - d["ID"] + column :ID, 'ID', :size => 10 do |d| + d['ID'] end - column :USER, "Username", :left, :size=>15 do |d| - d["UNAME"] + column :USER, 'Username', :left, :size => 15 do |d| + d['UNAME'] end - column :GROUP, "Group", :left, :size=>15 do |d| - d["GNAME"] + column :GROUP, 'Group', :left, :size => 15 do |d| + d['GNAME'] end - column :NAME, "Name", :left, :size=>37 do |d| - d["NAME"] + column :NAME, 'Name', :left, :size => 37 do |d| + d['NAME'] end default :ID, :USER, :GROUP, :NAME end - # Show the service template information. This method is used in top and # show commands # @param [Service::Client] client @@ -75,43 +74,45 @@ end def show_service_template(client, args, options) response = client.get("#{RESOURCE_PATH}/#{args[0]}") - if CloudClient::is_error?(response) + if CloudClient.is_error?(response) [response.code.to_i, response.to_s] else - #[0,response.body] + # [0,response.body] if options[:json] - [0,response.body] + [0, response.body] else - str="%-20s: %-20s" - str_h1="%-80s" + str = '%-20s: %-20s' + str_h1 = '%-80s' document_hash = JSON.parse(response.body) template = document_hash['DOCUMENT']['TEMPLATE']['BODY'] CLIHelper.print_header(str_h1 % - "SERVICE TEMPLATE #{document_hash['DOCUMENT']['ID']} INFORMATION") + "SERVICE TEMPLATE #{document_hash['DOCUMENT']['ID']} "\ + 'INFORMATION') - puts str % ["ID", document_hash['DOCUMENT']['ID']] - puts str % ["NAME", document_hash['DOCUMENT']['NAME']] - puts str % ["USER", document_hash['DOCUMENT']['UNAME']] - puts str % ["GROUP",document_hash['DOCUMENT']['GNAME']] + puts format(str, ['ID', document_hash['DOCUMENT']['ID']]) + puts format(str, ['NAME', document_hash['DOCUMENT']['NAME']]) + puts format(str, ['USER', document_hash['DOCUMENT']['UNAME']]) + puts format(str, ['GROUP', document_hash['DOCUMENT']['GNAME']]) puts - CLIHelper.print_header(str_h1 % "PERMISSIONS",false) + CLIHelper.print_header(str_h1 % 'PERMISSIONS', false) - ["OWNER", "GROUP", "OTHER"].each { |e| - mask = "---" - mask[0] = "u" if document_hash['DOCUMENT']['PERMISSIONS']["#{e}_U"] == "1" - mask[1] = "m" if document_hash['DOCUMENT']['PERMISSIONS']["#{e}_M"] == "1" - mask[2] = "a" if document_hash['DOCUMENT']['PERMISSIONS']["#{e}_A"] == "1" + %w[OWNER GROUP OTHER].each do |e| + mask = '---' + permissions_hash = document_hash['DOCUMENT']['PERMISSIONS'] + mask[0] = 'u' if permissions_hash["#{e}_U"] == '1' + mask[1] = 'm' if permissions_hash["#{e}_M"] == '1' + mask[2] = 'a' if permissions_hash["#{e}_A"] == '1' - puts str % [e, mask] - } + puts format(str, [e, mask]) + end puts - CLIHelper.print_header(str_h1 % "TEMPLATE CONTENTS",false) + CLIHelper.print_header(str_h1 % 'TEMPLATE CONTENTS', false) puts JSON.pretty_generate(template) 0 @@ -121,19 +122,18 @@ end # List the services. This method is used in top and list commands # @param [Service::Client] client -# @param [Array] args # @param [Hash] options # @return [[Integer, String], Integer] Returns the exit_code and optionally # a String to be printed -def list_service_templates(client, args, options) +def list_service_templates(client, options) response = client.get(RESOURCE_PATH) - if CloudClient::is_error?(response) + if CloudClient.is_error?(response) [response.code.to_i, response.to_s] else - #[0,response.body] + # [0,response.body] if options[:json] - [0,response.body] + [0, response.body] else array_list = JSON.parse(response.body) TABLE.show(array_list['DOCUMENT_POOL']['DOCUMENT']) @@ -146,8 +146,8 @@ end # Commands # -cmd=CommandParser::CmdParser.new(ARGV) do - usage "`oneflow-template` [] []" +CommandParser::CmdParser.new(ARGV) do + usage '`oneflow-template` [] []' version OpenNebulaHelper::ONE_VERSION set :option, Service::DEFAULT_OPTIONS @@ -157,20 +157,22 @@ 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, :templateid, Service.rname_to_id_desc("SERVICE TEMPLATE") do |arg| - Service.rname_to_id(arg, "SERVICE TEMPLATE") + set :format, :templateid, + Service.rname_to_id_desc('SERVICE TEMPLATE') do |arg| + Service.rname_to_id(arg, 'SERVICE TEMPLATE') end - set :format, :templateid_list, Service.list_to_id_desc("SERVICE TEMPLATE") do |arg| - Service.list_to_id(arg, "SERVICE TEMPLATE") + set :format, :templateid_list, + Service.list_to_id_desc('SERVICE TEMPLATE') do |arg| + Service.list_to_id(arg, 'SERVICE TEMPLATE') end # @@ -183,12 +185,13 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :list, list_desc, :options => Service::JSON_FORMAT do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) - list_service_templates(client, args, options) + list_service_templates(client, options) end # @@ -200,21 +203,24 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :top, top_desc, - :options => [Service::JSON_FORMAT, Service::TOP, CLIHelper::DELAY] do + :options => [Service::JSON_FORMAT, + Service::TOP, + CLIHelper::DELAY] do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) - delay=options[:delay] ? options[:delay] : 3 + options[:delay] ? delay = options[:delay] : delay = 3 begin - while true + loop do CLIHelper.scr_cls - CLIHelper.scr_move(0,0) + CLIHelper.scr_move(0, 0) - rc, message = list_service_templates(client, args, options) + rc, message = list_service_templates(client, options) if rc != 0 raise message @@ -222,7 +228,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do sleep delay end - rescue Exception => e + rescue StandardError => e puts e.message -1 end @@ -238,18 +244,19 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :create, create_desc, :file, :options => Service::JSON_FORMAT do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) response = client.post(RESOURCE_PATH, File.read(args[0])) - if CloudClient::is_error?(response) + if CloudClient.is_error?(response) [response.code.to_i, response.to_s] else if options[:json] - [0,response.body] + [0, response.body] else template = JSON.parse(response.body) puts "ID: #{template['DOCUMENT']['ID']}" @@ -268,10 +275,11 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :show, show_desc, :templateid, :options => Service::JSON_FORMAT do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) show_service_template(client, args, options) end @@ -286,14 +294,15 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :delete, delete_desc, [:range, :templateid_list] do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) - Service.perform_actions(args[0]) { |template_id| + Service.perform_actions(args[0]) do |template_id| client.delete("#{RESOURCE_PATH}/#{template_id}") - } + end end # @@ -307,14 +316,15 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :instantiate, instantiate_desc, :templateid, [:file, nil], :options => [Service::JSON_FORMAT, Service::TOP] do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) - params = Hash.new + params = {} - if(args[1]) + if args[1] params['merge_template'] = JSON.parse(File.read(args[1])) end @@ -322,11 +332,11 @@ cmd=CommandParser::CmdParser.new(ARGV) do response = client.post("#{RESOURCE_PATH}/#{args[0]}/action", json_str) - if CloudClient::is_error?(response) + if CloudClient.is_error?(response) [response.code.to_i, response.to_s] else if options[:json] - [0,response.body] + [0, response.body] else template = JSON.parse(response.body) puts "ID: #{template['DOCUMENT']['ID']}" @@ -341,41 +351,44 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :chgrp, chgrp_desc, [:range, :templateid_list], :groupid do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) - Service.perform_actions(args[0]) { |service_id| - params = Hash.new + Service.perform_actions(args[0]) do |service_id| + params = {} params['group_id'] = args[1].to_i json_action = Service.build_json_action('chgrp', params) client.post("#{RESOURCE_PATH}/#{service_id}/action", json_action) - } + end end chown_desc = <<-EOT.unindent Changes the service template owner and group EOT - command :chown, chown_desc, [:range, :templateid_list], :userid, [:groupid, nil] do + command :chown, chown_desc, [:range, :templateid_list], + :userid, [:groupid, nil] do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) - Service.perform_actions(args[0]) { |service_id| - params = Hash.new + Service.perform_actions(args[0]) do |service_id| + params = {} params['owner_id'] = args[1] params['group_id'] = args[2] if args[2] json_action = Service.build_json_action('chown', params) client.post("#{RESOURCE_PATH}/#{service_id}/action", json_action) - } + end end chmod_desc = <<-EOT.unindent @@ -384,19 +397,20 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :chmod, chmod_desc, [:range, :templateid_list], :octet do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) - Service.perform_actions(args[0]) { |service_id| - params = Hash.new + Service.perform_actions(args[0]) do |service_id| + params = {} params['octet'] = args[1] json_action = Service.build_json_action('chmod', params) client.post("#{RESOURCE_PATH}/#{service_id}/action", json_action) - } + end end clone_desc = <<-EOT.unindent @@ -405,19 +419,21 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :clone, clone_desc, :templateid, :name do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) - params = Hash.new + params = {} params['name'] = args[1] json_action = Service.build_json_action('clone', params) - response = client.post("#{RESOURCE_PATH}/#{args[0]}/action", json_action) + response = client.post("#{RESOURCE_PATH}/#{args[0]}/action", + json_action) - if CloudClient::is_error?(response) + if CloudClient.is_error?(response) [response.code.to_i, response.to_s] else if options[:json] @@ -436,19 +452,21 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :rename, rename_desc, :templateid, :name do client = Service::Client.new( - :username => options[:username], - :password => options[:password], - :url => options[:server], - :user_agent => USER_AGENT) + :username => options[:username], + :password => options[:password], + :url => options[:server], + :user_agent => USER_AGENT + ) - params = Hash.new + params = {} params['name'] = args[1] json_action = Service.build_json_action('rename', params) - response = client.post("#{RESOURCE_PATH}/#{args[0]}/action", json_action) + response = client.post("#{RESOURCE_PATH}/#{args[0]}/action", + json_action) - if CloudClient::is_error?(response) + if CloudClient.is_error?(response) [response.code.to_i, response.to_s] else response.code.to_i @@ -466,7 +484,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do :username => options[:username], :password => options[:password], :url => options[:server], - :user_agent => USER_AGENT) + :user_agent => USER_AGENT + ) if args[1] path = args[1] @@ -478,7 +497,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do response = client.get("#{RESOURCE_PATH}/#{template_id}") - if CloudClient::is_error?(response) + if CloudClient.is_error?(response) exit_with_code response.code.to_i, response.to_s else document_hash = JSON.parse(response.body) @@ -487,12 +506,16 @@ cmd=CommandParser::CmdParser.new(ARGV) do tmp << JSON.pretty_generate(template) tmp.flush - editor_path = ENV["EDITOR"] ? ENV["EDITOR"] : OpenNebulaHelper::EDITOR_PATH + if ENV['EDITOR'] + editor_path = ENV['EDITOR'] + else + editor_path = OpenNebulaHelper::EDITOR_PATH + end system("#{editor_path} #{path}") - unless $?.exitstatus == 0 - puts "Editor not defined" - exit -1 + unless $CHILD_STATUS.exitstatus.zero? + puts 'Editor not defined' + exit(-1) end tmp.close @@ -503,7 +526,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do t_str = File.read(path) response = client.put("#{RESOURCE_PATH}/#{template_id}", t_str) - if CloudClient::is_error?(response) + if CloudClient.is_error?(response) puts response.to_s exit_code = response.code.to_i end diff --git a/src/cli/onegroup b/src/cli/onegroup index 3500fb710f..4748954f22 100755 --- a/src/cli/onegroup +++ b/src/cli/onegroup @@ -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/onegroup_helper' -cmd=CommandParser::CmdParser.new(ARGV) do - usage "`onegroup` [] []" +CommandParser::CmdParser.new(ARGV) do + usage '`onegroup` [] []' version OpenNebulaHelper::ONE_VERSION helper = OneGroupHelper.new @@ -43,7 +43,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 @@ -61,8 +61,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do helper.list_to_id(arg) 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 ######################################################################## @@ -89,14 +89,16 @@ cmd=CommandParser::CmdParser.new(ARGV) do if options && options[:admin_user] if !options[:admin_password] - STDERR.puts "Admin user needs password" + STDERR.puts 'Admin user needs password' next -1 end - admin_user=Hash.new + admin_user = {} admin_user[:name] = options[:admin_user] admin_user[:password] = options[:admin_password] - admin_user[:auth_driver]= options[:admin_driver] if options[:admin_driver] + if options[:admin_driver] + admin_user[:auth_driver] = options[:admin_driver] + end options[:group_admin] = admin_user end @@ -107,8 +109,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do elsif options[:name] helper.create_complete_resource(options) else - STDERR.puts "Please use either a group name or command arguments."<< - " Run onegroup create -h for more information" + STDERR.puts 'Please use either a group name or command arguments.'\ + ' Run onegroup create -h for more information' next -1 end end @@ -119,8 +121,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :update, update_desc, :groupid, [: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 @@ -139,7 +141,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :delete, delete_desc, [:range, :groupid_list] do - helper.perform_actions(args[0],options,"deleted") do |obj| + helper.perform_actions(args[0], options, 'deleted') do |obj| obj.delete end end @@ -148,7 +150,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do Lists Groups 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 @@ -156,9 +158,10 @@ cmd=CommandParser::CmdParser.new(ARGV) do Shows information for the given Group EOT - command :show, show_desc,[:groupid, nil], :options=>OpenNebulaHelper::XML do + command :show, show_desc, [:groupid, nil], + :options => OpenNebulaHelper::XML do group = args[0] || OpenNebula::Group::SELF - helper.show_resource(group,options) + helper.show_resource(group, options) end add_admin_desc = <<-EOT.unindent @@ -166,7 +169,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :addadmin, add_admin_desc, [:range, :groupid_list], :userid do - helper.perform_actions(args[0],options,"admin added") do |obj| + helper.perform_actions(args[0], options, 'admin added') do |obj| obj.add_admin(args[1].to_i) end end @@ -176,7 +179,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :deladmin, del_admin_desc, [:range, :groupid_list], :userid do - helper.perform_actions(args[0],options,"admin deleted") do |obj| + helper.perform_actions(args[0], options, 'admin deleted') do |obj| obj.del_admin(args[1].to_i) end end @@ -187,12 +190,12 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :quota, quota_desc, :groupid, [:file, nil] do - helper.perform_action(args[0], options, "modified") do |group| + helper.perform_action(args[0], options, 'modified') do |group| rc = group.info if OpenNebula.is_error?(rc) puts rc.message - exit -1 + exit(-1) end str = OneQuotaHelper.set_quota(group, args[1]) @@ -200,7 +203,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do if OpenNebula.is_error?(rc) puts rc.message - exit -1 + exit(-1) end end end @@ -214,19 +217,18 @@ cmd=CommandParser::CmdParser.new(ARGV) do [:file, nil] do batch_str = OneQuotaHelper.get_batch_quota(args[1]) - helper.perform_actions(args[0], options, "modified") do |group| + helper.perform_actions(args[0], options, 'modified') do |group| str = OneQuotaHelper.merge_quota(group, batch_str) if OpenNebula.is_error?(str) str else - rc = group.set_quota(str) + rc = group.set_quota(str) rc end end end - defaultquota_desc = <<-EOT.unindent Sets the default quota limits for the groups. If a path is not provided the editor will be launched to modify the current default quotas. @@ -235,7 +237,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :defaultquota, defaultquota_desc, [:file, nil] do system = System.new(OneGroupHelper.get_client(options)) - default_quotas = system.get_group_quotas() + default_quotas = system.get_group_quotas if OpenNebula.is_error?(default_quotas) puts default_quotas.message diff --git a/src/cli/onehost b/src/cli/onehost index 986dc12e21..0a0ba68c9b 100755 --- a/src/cli/onehost +++ b/src/cli/onehost @@ -16,25 +16,25 @@ # 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" +$LOAD_PATH << RUBY_LIB_LOCATION +$LOAD_PATH << RUBY_LIB_LOCATION + '/cli' require 'command_parser' require 'one_helper/onehost_helper' require 'one_helper/onecluster_helper' -cmd=CommandParser::CmdParser.new(ARGV) do - usage "`onehost` [] []" +CommandParser::CmdParser.new(ARGV) do + usage '`onehost` [] []' version OpenNebulaHelper::ONE_VERSION helper = OneHostHelper.new @@ -46,49 +46,50 @@ cmd=CommandParser::CmdParser.new(ARGV) do ######################################################################## # Global Options ######################################################################## - cmd_options=CommandParser::OPTIONS-[CommandParser::VERBOSE] - set :option, cmd_options+OpenNebulaHelper::CLIENT_OPTIONS + cmd_options = CommandParser::OPTIONS - [CommandParser::VERBOSE] + set :option, cmd_options + OpenNebulaHelper::CLIENT_OPTIONS IM = { - :name => "im", - :short => "-i im_mad", - :large => "--im im_mad" , - :description => "Set the information driver for the host", - :format => String - } - - VMM = { - :name => "vm", - :short => "-v vmm_mad", - :large => "--vm vmm_mad" , - :description => "Set the virtualization driver for the host", - :format => String - } - - FORCE = { - :name => "force", - :large => "--force" , - :description => "Force probe upgrade in onehost sync" - } - - RSYNC = { - :name => "rsync", - :large => "--rsync" , - :description => "Use rsync to synchronize remotes. In case some " << - "probes are no longer in the fronted are deleted in the hosts." << - " rsync command must be installed in the frontend and nodes." - } - - TYPE = { - :name => "type", - :short => "-t remote_provider", - :large => "--type remote_provider", - :description => "Use type to create a host using Cloud Bursting ", + :name => 'im', + :short => '-i im_mad', + :large => '--im im_mad', + :description => 'Set the information driver for the host', :format => String } - CREAT_OPTIONS = [ IM, VMM, OneClusterHelper::CLUSTER, TYPE ] - SYNC_OPTIONS = [ OneClusterHelper::CLUSTER, FORCE, RSYNC ] + VMM = { + :name => 'vm', + :short => '-v vmm_mad', + :large => '--vm vmm_mad', + :description => 'Set the virtualization driver for the host', + :format => String + } + + FORCE = { + :name => 'force', + :large => '--force', + :description => 'Force probe upgrade in onehost sync' + } + + RSYNC = { + :name => 'rsync', + :large => '--rsync', + :description => 'Use rsync to synchronize remotes. In case some '\ + 'probes are no longer in the fronted ithey will be '\ + 'deleted in the hosts. rsync command must be '\ + 'installed in the frontend and nodes.' + } + + TYPE = { + :name => 'type', + :short => '-t remote_provider', + :large => '--type remote_provider', + :description => 'Use type to create a host using Cloud Bursting', + :format => String + } + + CREAT_OPTIONS = [IM, VMM, OneClusterHelper::CLUSTER, TYPE] + SYNC_OPTIONS = [OneClusterHelper::CLUSTER, FORCE, RSYNC] ######################################################################## # Formatters for arguments @@ -110,12 +111,13 @@ cmd=CommandParser::CmdParser.new(ARGV) do Creates a new Host EOT - command :create, create_desc, :hostname, [:file, nil], :options=>CREAT_OPTIONS do + command :create, create_desc, :hostname, + [:file, nil], :options => CREAT_OPTIONS do if options[:im].nil? || options[:vm].nil? - STDERR.puts "Drivers are mandatory to create a host:" - STDERR.puts "\t -i information driver" - STDERR.puts "\t -v hypervisor driver" - exit -1 + STDERR.puts 'Drivers are mandatory to create a host:' + STDERR.puts '\t -i information driver' + STDERR.puts '\t -v hypervisor driver' + exit(-1) end cid = options[:cluster] || ClusterPool::NONE_CLUSTER_ID @@ -124,7 +126,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do str = helper.set_hybrid(options[:type], args[1]) end rc = host.allocate(args[0], options[:im], options[:vm], cid) - host.update(str, true) if !OpenNebula.is_error?(rc) && !options[:type].nil? + if !OpenNebula.is_error?(rc) && !options[:type].nil? + host.update(str, true) + end rc end @@ -135,7 +139,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :delete, delete_desc, [:range, :hostid_list] do - helper.perform_actions(args[0],options,"deleted") do |host| + helper.perform_actions(args[0], options, 'deleted') do |host| host.delete end end @@ -144,8 +148,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do Enables the given host, fully operational EOT - command :enable, enable_desc, [:range,:hostid_list] do - helper.perform_actions(args[0],options,"enabled") do |host| + command :enable, enable_desc, [:range, :hostid_list] do + helper.perform_actions(args[0], options, 'enabled') do |host| host.enable end end @@ -157,8 +161,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do - manual deployment: enabled EOT - command :disable, disable_desc, [:range,:hostid_list] do - helper.perform_actions(args[0],options,"disabled") do |host| + command :disable, disable_desc, [:range, :hostid_list] do + helper.perform_actions(args[0], options, 'disabled') do |host| host.disable end end @@ -170,8 +174,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do - manual deployment: disabled EOT - command :offline, offline_desc, [:range,:hostid_list] do - helper.perform_actions(args[0],options,"offline") do |host| + command :offline, offline_desc, [:range, :hostid_list] do + helper.perform_actions(args[0], options, 'offline') do |host| host.offline end end @@ -182,8 +186,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :update, update_desc, :hostid, [:file, nil], - :options=>OpenNebulaHelper::APPEND do - helper.perform_action(args[0],options,"updated") do |obj| + :options => OpenNebulaHelper::APPEND do + helper.perform_action(args[0], options, 'updated') do |obj| if options[:append] str = OpenNebulaHelper.append_template(args[0], obj, args[1]) else @@ -207,7 +211,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :sync, sync_desc, [:range, :hostid_list, nil], - :options=>SYNC_OPTIONS do + :options => SYNC_OPTIONS do helper.sync(args[0], options) end @@ -216,8 +220,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :list, list_desc, - :options=>CLIHelper::OPTIONS+OpenNebulaHelper::OPTIONS+ - [OpenNebulaHelper::DESCRIBE] do + :options => CLIHelper::OPTIONS + OpenNebulaHelper::OPTIONS + + [OpenNebulaHelper::DESCRIBE] do helper.list_pool(options) end @@ -226,8 +230,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :show, show_desc, :hostid, - :options=>OpenNebulaHelper::XML do - helper.show_resource(args[0],options) + :options => OpenNebulaHelper::XML do + helper.show_resource(args[0], options) end top_desc = <<-EOT.unindent @@ -235,7 +239,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :top, top_desc, - :options=>CLIHelper::OPTIONS+OpenNebulaHelper::OPTIONS do + :options => CLIHelper::OPTIONS + OpenNebulaHelper::OPTIONS do helper.list_pool(options, true) end @@ -243,17 +247,18 @@ cmd=CommandParser::CmdParser.new(ARGV) do Disables the host and reschedules all the running VMs in it. EOT - command :flush, flush_desc, [:range,:hostid_list] do + command :flush, flush_desc, [:range, :hostid_list] do begin if !ONE_LOCATION - action = YAML.load_file("/etc/one/cli/onehost.yaml")[:default_actions][0][:flush] + action = YAML.load_file('/etc/one/cli/onehost.yaml') else - action = YAML.load_file("#{ONE_LOCATION}/etc/cli/onehost.yaml")[:default_actions][0][:flush] + action = YAML.load_file("#{ONE_LOCATION}/etc/cli/onehost.yaml") end - rescue Exception => e + action = action[:default_actions][0][:flush] + rescue StandardError => e STDERR.puts e end - helper.perform_actions(args[0],options,"flush") do |host| + helper.perform_actions(args[0], options, 'flush') do |host| host.flush action end end @@ -263,7 +268,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :rename, rename_desc, :hostid, :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 @@ -273,7 +278,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :importvm, importvm_desc, :hostid, :name do - helper.perform_action(args[0], options, "imported") do |o| + helper.perform_action(args[0], options, 'imported') do |o| rc = o.info next rc if OpenNebula.is_error?(rc) diff --git a/src/cli/oneimage b/src/cli/oneimage index 667b14e792..2493d4809d 100755 --- a/src/cli/oneimage +++ b/src/cli/oneimage @@ -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/oneimage_helper' require 'one_helper/onedatastore_helper' -cmd=CommandParser::CmdParser.new(ARGV) do - usage "`oneimage` [] []" +CommandParser::CmdParser.new(ARGV) do + usage '`oneimage` [] []' version OpenNebulaHelper::ONE_VERSION helper = OneImageHelper.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 list_options = CLIHelper::OPTIONS list_options << OpenNebulaHelper::XML @@ -80,12 +80,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, :imageid, OneImageHelper.to_id_desc do |arg| @@ -100,13 +100,13 @@ cmd=CommandParser::CmdParser.new(ARGV) do helper.filterflag_to_i(arg) end - format(:type, "Image type: #{Image::IMAGE_TYPES.join(", ")}") do |arg| - type=arg.strip.upcase + format(:type, "Image type: #{Image::IMAGE_TYPES.join(', ')}") do |arg| + type = arg.strip.upcase if Image::IMAGE_TYPES.include? type [0, type] else - [1, "Image type not supported. Must be "<< - Image::IMAGE_TYPES.join(", ")<<"."] + [1, 'Image type not supported. Must be ' << + Image::IMAGE_TYPES.join(', ') << '.'] end end @@ -138,27 +138,33 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT - command :create, create_desc, [:file, nil], :options=>CREATE_OPTIONS + - OneImageHelper::TEMPLATE_OPTIONS do + command :create, + create_desc, + [:file, nil], + :options => CREATE_OPTIONS + OneImageHelper::TEMPLATE_OPTIONS do if options[:datastore].nil? && !options[:dry] - STDERR.puts "Datastore to save the image is mandatory: " - STDERR.puts "\t -d datastore_id" - exit -1 + STDERR.puts 'Datastore to save the image is mandatory: ' + STDERR.puts '\t -d datastore_id' + exit(-1) end - check_capacity = options[:no_check_capacity].nil? ? false : true; + if options[:no_check_capacity].nil? + check_capacity = false + else + check_capacity = true + end if args[0] && OpenNebulaHelper.create_template_options_used?(options) - STDERR.puts "You can not use both template file and template"<< - " creation options." + STDERR.puts 'You can not use both template file and template' \ + ' creation options.' next -1 end helper.create_resource(options) do |image| begin if args[0] - template=File.read(args[0]) + template = File.read(args[0]) else res = OneImageHelper.create_image_template(options) @@ -176,9 +182,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do end image.allocate(template, options[:datastore], check_capacity) - rescue => e + rescue StandardError => e STDERR.puts e.messsage - exit -1 + exit(-1) end end end @@ -188,8 +194,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :clone, clone_desc, :imageid, :name, - :options=>[OneDatastoreHelper::DATASTORE] do - helper.perform_action(args[0],options,"cloned") do |image| + :options => [OneDatastoreHelper::DATASTORE] do + helper.perform_action(args[0], options, 'cloned') do |image| ds_id = options[:datastore] || -1 # -1 clones to self res = image.clone(args[1], ds_id) @@ -197,7 +203,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do puts "ID: #{res}" else puts res.message - exit -1 + exit(-1) end end end @@ -207,7 +213,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :delete, delete_desc, [:range, :imageid_list] do - helper.perform_actions(args[0],options,"deleted") do |image| + helper.perform_actions(args[0], options, 'deleted') do |image| image.delete end end @@ -219,8 +225,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do one VM instance at a time. EOT - command :persistent, persistent_desc, [:range,:imageid_list] do - helper.perform_actions(args[0],options,"made persistent") do |image| + command :persistent, persistent_desc, [:range, :imageid_list] do + helper.perform_actions(args[0], options, 'made persistent') do |image| image.persistent end end @@ -229,8 +235,10 @@ cmd=CommandParser::CmdParser.new(ARGV) do Makes the given Image non persistent. See 'oneimage persistent' EOT - command :nonpersistent, nonpersistent_desc, [:range,:imageid_list] do - helper.perform_actions(args[0],options,"made non persistent") do |image| + command :nonpersistent, nonpersistent_desc, [:range, :imageid_list] do + helper.perform_actions(args[0], + options, + 'made non persistent') do |image| image.nonpersistent end end @@ -241,8 +249,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :update, update_desc, :imageid, [: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 @@ -260,8 +268,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do Enables the given Image EOT - command :enable, enable_desc, [:range,:imageid_list] do - helper.perform_actions(args[0],options,"enabled") do |image| + command :enable, enable_desc, [:range, :imageid_list] do + helper.perform_actions(args[0], options, 'enabled') do |image| image.enable end end @@ -270,8 +278,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do Changes the Image's type EOT - command :chtype, chtype_desc,[:range, :imageid_list], :type do - helper.perform_actions(args[0],options,"Type changed") do |image| + command :chtype, chtype_desc, [:range, :imageid_list], :type do + helper.perform_actions(args[0], options, 'Type changed') do |image| image.chtype(args[1]) end end @@ -280,8 +288,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do Disables the given Image EOT - command :disable, disable_desc, [:range,:imageid_list] do - helper.perform_actions(args[0],options,"disabled") do |image| + command :disable, disable_desc, [:range, :imageid_list] do + helper.perform_actions(args[0], options, 'disabled') do |image| image.disable end end @@ -290,8 +298,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do Changes the Image group EOT - command :chgrp, chgrp_desc,[:range, :imageid_list], :groupid do - helper.perform_actions(args[0],options,"Group changed") do |image| + command :chgrp, chgrp_desc, [:range, :imageid_list], :groupid do + helper.perform_actions(args[0], options, 'Group changed') do |image| image.chown(-1, args[1].to_i) end end @@ -301,10 +309,10 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :chown, chown_desc, [:range, :imageid_list], :userid, - [:groupid,nil] do - gid = args[2].nil? ? -1 : args[2].to_i - helper.perform_actions(args[0],options, - "Owner/Group changed") do |image| + [:groupid, nil] do + args[2].nil? ? gid = -1 : gid = args[2].to_i + helper.perform_actions(args[0], options, + 'Owner/Group changed') do |image| image.chown(args[1].to_i, gid) end end @@ -314,8 +322,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :chmod, chmod_desc, [:range, :imageid_list], :octet do - helper.perform_actions(args[0],options, - "Permissions changed") do |image| + helper.perform_actions(args[0], options, + 'Permissions changed') do |image| image.chmod_octet(args[1]) end end @@ -325,7 +333,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :rename, rename_desc, :imageid, :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 @@ -334,8 +342,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do Deletes a snapshot from the image EOT - command :"snapshot-delete", snapshot_delete_desc, :imageid, :snapshot_id do - helper.perform_action(args[0], options, "snapshot deleted") do |o| + command :'snapshot-delete', snapshot_delete_desc, :imageid, :snapshot_id do + helper.perform_action(args[0], options, 'snapshot deleted') do |o| o.snapshot_delete(args[1].to_i) end end @@ -344,8 +352,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do Reverts image state to a snapshot EOT - command :"snapshot-revert", snapshot_revert_desc, :imageid, :snapshot_id do - helper.perform_action(args[0], options, "image state reverted") do |o| + command :'snapshot-revert', snapshot_revert_desc, :imageid, :snapshot_id do + helper.perform_action(args[0], options, 'image state reverted') do |o| o.snapshot_revert(args[1].to_i) end end @@ -354,8 +362,11 @@ cmd=CommandParser::CmdParser.new(ARGV) do Flattens the snapshot and removes all other snapshots in the image EOT - command :"snapshot-flatten", snapshot_flatten_desc, :imageid, :snapshot_id do - helper.perform_action(args[0], options, "snapshot flattened") do |o| + command :'snapshot-flatten', + snapshot_flatten_desc, + :imageid, + :snapshot_id do + helper.perform_action(args[0], options, 'snapshot flattened') do |o| o.snapshot_flatten(args[1].to_i) end end @@ -364,7 +375,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do Lists Images 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 @@ -372,15 +383,15 @@ cmd=CommandParser::CmdParser.new(ARGV) do Shows information for the given Image EOT - command :show, show_desc, :imageid, :options=>OpenNebulaHelper::XML do - helper.show_resource(args[0],options) + command :show, show_desc, :imageid, :options => OpenNebulaHelper::XML do + helper.show_resource(args[0], options) end top_desc = <<-EOT.unindent Lists Images 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 @@ -395,8 +406,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :lock, lock_desc, :imageid, - :options => [USE, MANAGE, ADMIN, ALL] do - helper.perform_action(args[0],options,"Image locked") do |i| + :options => [USE, MANAGE, ADMIN, ALL] do + helper.perform_action(args[0], options, 'Image locked') do |i| if !options[:use].nil? level = 1 elsif !options[:manage].nil? @@ -418,7 +429,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :unlock, unlock_desc, :imageid do - helper.perform_action(args[0],options,"Image unlocked") do |i| + helper.perform_action(args[0], options, 'Image unlocked') do |i| i.unlock end end diff --git a/src/cli/onemarket b/src/cli/onemarket index 3d646a6bf0..ec4fab5bd1 100755 --- a/src/cli/onemarket +++ b/src/cli/onemarket @@ -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/onemarket_helper' -cmd=CommandParser::CmdParser.new(ARGV) do - usage "`onemarket` [] []" +CommandParser::CmdParser.new(ARGV) do + usage '`onemarket` [] []' version OpenNebulaHelper::ONE_VERSION helper = OneMarketPlaceHelper.new @@ -43,7 +43,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 @@ -57,16 +57,18 @@ cmd=CommandParser::CmdParser.new(ARGV) do helper.to_id(arg) end - set :format, :marketplaceid_list, OneMarketPlaceHelper.list_to_id_desc do |arg| + set :format, + :marketplaceid_list, + OneMarketPlaceHelper.list_to_id_desc do |arg| helper.list_to_id(arg) 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 ######################################################################## @@ -78,14 +80,13 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :create, create_desc, :file do - helper.create_resource(options) do |marketplace| begin template = File.read(args[0]) marketplace.allocate(template) - rescue =>e + rescue StandardError => e STDERR.puts e.message - exit -1 + exit(-1) end end end @@ -95,7 +96,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :delete, delete_desc, [:range, :marketplaceid_list] do - helper.perform_actions(args[0],options,"deleted") do |obj| + helper.perform_actions(args[0], options, 'deleted') do |obj| obj.delete end end @@ -104,8 +105,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do Changes the Marketplace group EOT - command :chgrp, chgrp_desc,[:range, :marketplaceid_list], :groupid do - helper.perform_actions(args[0],options,"Group changed") do |obj| + command :chgrp, chgrp_desc, [:range, :marketplaceid_list], :groupid do + helper.perform_actions(args[0], options, 'Group changed') do |obj| obj.chown(-1, args[1].to_i) end end @@ -115,9 +116,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :chown, chown_desc, [:range, :marketplaceid_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 @@ -127,7 +128,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :chmod, chmod_desc, [:range, :marketplaceid_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 @@ -136,7 +137,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do Lists Marketplaces EOT - command :list, list_desc, :options=>list_options do + command :list, list_desc, :options => list_options do helper.list_pool(options) end @@ -144,8 +145,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do Shows Marketplace information EOT - command :show, show_desc, :marketplaceid, :options=>OpenNebulaHelper::XML do - helper.show_resource(args[0],options) + command :show, show_desc, + :marketplaceid, :options => OpenNebulaHelper::XML do + helper.show_resource(args[0], options) end update_desc = <<-EOT.unindent @@ -154,8 +156,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :update, update_desc, :marketplaceid, [: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 @@ -171,7 +173,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :rename, rename_desc, :marketplaceid, :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 diff --git a/src/cli/onemarketapp b/src/cli/onemarketapp index b190d268c0..d8233e0ad8 100755 --- a/src/cli/onemarketapp +++ b/src/cli/onemarketapp @@ -16,26 +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" - VAR_LOCATION = "/var/lib/one" + RUBY_LIB_LOCATION = '/usr/lib/one/ruby' + VAR_LOCATION = '/var/lib/one' else - RUBY_LIB_LOCATION = ONE_LOCATION + "/lib/ruby" - VAR_LOCATION = ONE_LOCATION + "/var" + RUBY_LIB_LOCATION = ONE_LOCATION + '/lib/ruby' + VAR_LOCATION = ONE_LOCATION + '/var' 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/onemarketapp_helper' require 'one_helper/onemarket_helper' require 'one_helper/onedatastore_helper' -cmd=CommandParser::CmdParser.new(ARGV) do - usage "`onemarket` [] []" +CommandParser::CmdParser.new(ARGV) do + usage '`onemarket` [] []' version OpenNebulaHelper::ONE_VERSION helper = OneMarketPlaceAppHelper.new @@ -44,34 +44,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,17 +79,18 @@ cmd=CommandParser::CmdParser.new(ARGV) do list_options << OpenNebulaHelper::DESCRIBE CREATE_OPTIONS = [OneMarketPlaceHelper::MARKETPLACE] - EXPORT_OPTIONS = [OneDatastoreHelper::DATASTORE, OneMarketPlaceAppHelper::VMNAME] + EXPORT_OPTIONS = [OneDatastoreHelper::DATASTORE, + OneMarketPlaceAppHelper::VMNAME] ######################################################################## # 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, :appid, OneMarketPlaceAppHelper.to_id_desc do |arg| @@ -100,7 +101,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do helper.list_to_id(arg) end - set :format, :filterflag, OneMarketPlaceAppHelper.filterflag_to_i_desc do |arg| + set :format, :filterflag, + OneMarketPlaceAppHelper.filterflag_to_i_desc do |arg| helper.filterflag_to_i(arg) end @@ -112,27 +114,30 @@ cmd=CommandParser::CmdParser.new(ARGV) do Creates a new marketplace app in the given marketplace EOT - command :create, create_desc, [:file, nil], :options=>CREATE_OPTIONS + - OneMarketPlaceAppHelper::TEMPLATE_OPTIONS do + command :create, create_desc, [:file, nil], + :options => CREATE_OPTIONS + + OneMarketPlaceAppHelper::TEMPLATE_OPTIONS do if options[:marketplace].nil? - STDERR.puts "Marketplace to save the app is mandatory: " - STDERR.puts "\t -m marketplace_id" + STDERR.puts 'Marketplace to save the app is mandatory: ' + STDERR.puts '\t -m marketplace_id' exit(-1) end - if args[0] && OneMarketPlaceAppHelper.create_template_options_used?(options) - STDERR.puts "You can not use both template file and template"<< - " creation options." + if args[0] && + OneMarketPlaceAppHelper.create_template_options_used?(options) + STDERR.puts 'You can not use both template file and template'\ + ' creation options.' next -1 end helper.create_resource(options) do |app| begin if args[0] - template=File.read(args[0]) + template = File.read(args[0]) else - res = OneMarketPlaceAppHelper.create_datastore_template(options) + res = OneMarketPlaceAppHelper + .create_datastore_template(options) if res.first != 0 STDERR.puts res.last @@ -148,7 +153,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do end app.allocate(template, options[:marketplace]) - rescue => e + rescue StandardError => e STDERR.puts e.message exit(-1) end @@ -159,27 +164,26 @@ cmd=CommandParser::CmdParser.new(ARGV) do Exports the marketplace app to the OpenNebula cloud EOT - command :export, export_desc, :appid, :name, :options=>EXPORT_OPTIONS do - helper.perform_action(args[0], options, "exported") do |obj| - - rc = obj.export({ - :dsid=>options[:datastore], - :name=>args[1], - :vmtemplate_name=>options[:vmname] - }) + command :export, export_desc, :appid, :name, :options => EXPORT_OPTIONS do + helper.perform_action(args[0], options, 'exported') do |obj| + rc = obj.export( + :dsid => options[:datastore], + :name => args[1], + :vmtemplate_name => options[:vmname] + ) next rc if OpenNebula.is_error?(rc) - rc.each { |key, value| - puts "#{key.to_s.upcase}" - value.each{ |id| + rc.each do |key, value| + puts key.to_s.upcase + value.each do |id| if OpenNebula.is_error?(id) puts id.to_str else puts " ID: #{id}" end - } - } + end + end end end @@ -188,8 +192,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :download, download_desc, :appid, :path, - :options => [OpenNebulaHelper::FORCE] do - helper.perform_action(args[0],options,"downloaded") do |app| + :options => [OpenNebulaHelper::FORCE] do + helper.perform_action(args[0], options, 'downloaded') do download_args = [:marketplaceapp, args[0], args[1], options[:force]] OpenNebulaHelper.download_resource_sunstone(*download_args) end @@ -200,7 +204,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :delete, delete_desc, [:range, :appid_list] do - helper.perform_actions(args[0], options, "deleted") do |app| + helper.perform_actions(args[0], options, 'deleted') do |app| app.delete end end @@ -211,9 +215,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :update, update_desc, :appid, [:file, nil], - :options=>OpenNebulaHelper::APPEND do + :options => OpenNebulaHelper::APPEND do - helper.perform_action(args[0],options,"modified") do |obj| + helper.perform_action(args[0], options, 'modified') do |obj| if options[:append] str = OpenNebulaHelper.append_template(args[0], obj, args[1]) else @@ -228,8 +232,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do Changes the marketplace app group EOT - command :chgrp, chgrp_desc,[:range, :appid_list], :groupid do - helper.perform_actions(args[0], options, "Group changed") do |app| + command :chgrp, chgrp_desc, [:range, :appid_list], :groupid do + helper.perform_actions(args[0], options, 'Group changed') do |app| app.chown(-1, args[1].to_i) end end @@ -240,9 +244,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :chown, chown_desc, [:range, :appid_list], :userid, [:groupid, nil] do - gid = args[2].nil? ? -1 : args[2].to_i + args[2].nil? ? gid = -1 : gid = args[2].to_i - helper.perform_actions(args[0], options, "Owner/Group changed") do |app| + helper.perform_actions(args[0], options, 'Owner/Group changed') do |app| app.chown(args[1].to_i, gid) end end @@ -252,7 +256,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :chmod, chmod_desc, [:range, :appid_list], :octet do - helper.perform_actions(args[0], options, "Permissions changed") do |app| + helper.perform_actions(args[0], options, 'Permissions changed') do |app| app.chmod_octet(args[1]) end end @@ -262,7 +266,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :rename, rename_desc, :appid, :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 @@ -271,7 +275,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do Lists marketplace apps 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 @@ -279,7 +283,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do Shows information for the given marketplace app EOT - command :show, show_desc, :appid, :options=>OpenNebulaHelper::XML do + command :show, show_desc, :appid, :options => OpenNebulaHelper::XML do helper.show_resource(args[0], options) end @@ -288,7 +292,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :enable, enable_desc, [:range, :appid_list] do - helper.perform_actions(args[0], options, "enabled") do |obj| + helper.perform_actions(args[0], options, 'enabled') do |obj| obj.enable end end @@ -299,14 +303,14 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :disable, disable_desc, [:range, :appid_list] do - helper.perform_actions(args[0], options, "disabled") do |obj| + helper.perform_actions(args[0], options, 'disabled') do |obj| obj.disable end end lock_desc = <<-EOT.unindent - Locks a VM with differents levels for lock any actions with this VM, show and - monitoring never will be locked. + Locks a VM with differents levels for lock any actions with this VM, + show and monitoring never will be locked. Valid states are: All. Levels: [Use]: locks Admin, Manage and Use actions. @@ -315,8 +319,10 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :lock, lock_desc, :appid, - :options => [USE, MANAGE, ADMIN, ALL] do - helper.perform_action(args[0],options,"MarketPlaceApp locked") do |app| + :options => [USE, MANAGE, ADMIN, ALL] do + helper.perform_action(args[0], + options, + 'MarketPlaceApp locked') do |app| if !options[:use].nil? level = 1 elsif !options[:manage].nil? @@ -338,7 +344,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :unlock, unlock_desc, :appid do - helper.perform_action(args[0],options,"MarketPlaceApp unlocked") do |app| + helper.perform_action(args[0], + options, + 'MarketPlaceApp unlocked') do |app| app.unlock end end diff --git a/src/cli/onesecgroup b/src/cli/onesecgroup index 11d2a88719..bf487fe24e 100755 --- a/src/cli/onesecgroup +++ b/src/cli/onesecgroup @@ -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/onesecgroup_helper' -cmd=CommandParser::CmdParser.new(ARGV) do - usage "`onesecgroup` [] []" +CommandParser::CmdParser.new(ARGV) do + usage '`onesecgroup` [] []' version OpenNebulaHelper::ONE_VERSION helper = OneSecurityGroupHelper.new @@ -43,7 +43,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 @@ -53,23 +53,27 @@ 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, :secgroupid, OneSecurityGroupHelper.to_id_desc do |arg| helper.to_id(arg) end - set :format, :secgroupid_list, OneSecurityGroupHelper.list_to_id_desc do |arg| + set :format, + :secgroupid_list, + OneSecurityGroupHelper.list_to_id_desc do |arg| helper.list_to_id(arg) end - set :format, :filterflag, OneSecurityGroupHelper.filterflag_to_i_desc do |arg| + set :format, + :filterflag, + OneSecurityGroupHelper.filterflag_to_i_desc do |arg| helper.filterflag_to_i(arg) end @@ -87,9 +91,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 @@ -99,7 +103,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :clone, clone_desc, :secgroupid, :name do - helper.perform_action(args[0],options,"cloned") do |obj| + helper.perform_action(args[0], options, 'cloned') do |obj| res = obj.clone(args[1]) if !OpenNebula.is_error?(res) @@ -115,7 +119,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :delete, delete_desc, [:range, :secgroupid_list] do - helper.perform_actions(args[0],options,"deleted") do |obj| + helper.perform_actions(args[0], options, 'deleted') do |obj| obj.delete end end @@ -124,8 +128,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do Changes the Security Group's group EOT - command :chgrp, chgrp_desc,[:range, :secgroupid_list], :groupid do - helper.perform_actions(args[0],options,"Group changed") do |obj| + command :chgrp, chgrp_desc, [:range, :secgroupid_list], :groupid do + helper.perform_actions(args[0], options, 'Group changed') do |obj| obj.chown(-1, args[1].to_i) end end @@ -135,9 +139,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :chown, chown_desc, [:range, :secgroupid_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 @@ -147,7 +151,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :chmod, chmod_desc, [:range, :secgroupid_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 @@ -158,8 +162,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :update, update_desc, :secgroupid, [: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 @@ -178,7 +182,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :rename, rename_desc, :secgroupid, :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 @@ -191,9 +195,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :commit, commit_desc, :secgroupid, - :options =>[OneSecurityGroupHelper::RECOVER] do - helper.perform_action(args[0], options, "commit") do |o| - o.commit(options[:recover]==true) + :options => [OneSecurityGroupHelper::RECOVER] do + helper.perform_action(args[0], options, 'commit') do |o| + o.commit(options[:recover] == true) end end @@ -201,7 +205,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do Lists Security 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 @@ -209,7 +213,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do Shows information for the given Security Group EOT - command :show, show_desc, :secgroupid, :options=>OpenNebulaHelper::XML do - helper.show_resource(args[0],options) + command :show, show_desc, :secgroupid, :options => OpenNebulaHelper::XML do + helper.show_resource(args[0], options) end end diff --git a/src/cli/oneshowback b/src/cli/oneshowback index d815dfce92..627a183ba3 100755 --- a/src/cli/oneshowback +++ b/src/cli/oneshowback @@ -16,38 +16,37 @@ # 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/oneacct_helper' require 'json' -cmd=CommandParser::CmdParser.new(ARGV) do +CommandParser::CmdParser.new(ARGV) do + @formats = {} - @formats = Hash.new - - usage "`oneshowback` []" - description "" + usage '`oneshowback` []' + description '' version OpenNebulaHelper::ONE_VERSION - helper=OpenNebulaHelper::OneHelper.new + helper = OpenNebulaHelper::OneHelper.new before_proc do - options[:timeout] = 60 #60 sec + options[:timeout] = 60 # 60 sec helper.set_client(options) end - command :list, "Returns the showback records", :options => + command :list, 'Returns the showback records', :options => AcctHelper::SHOWBACK_OPTIONS + CommandParser::OPTIONS + [OpenNebulaHelper::DESCRIBE, CLIHelper::LIST, CLIHelper::CSV_OPT] + OpenNebulaHelper::CLIENT_OPTIONS do @@ -62,7 +61,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do start_month = -1 start_year = -1 - if (options[:start_time]) + if options[:start_time] start_month = options[:start_time].month start_year = options[:start_time].year end @@ -70,7 +69,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do end_month = -1 end_year = -1 - if (options[:end_time]) + if options[:end_time] end_month = options[:end_time].month end_year = options[:end_time].year end @@ -90,7 +89,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do xml_str = pool.showback_xml(filter_flag, common_opts) if OpenNebula.is_error?(xml_str) puts xml_str.message - exit -1 + exit(-1) end if options[:json] @@ -101,25 +100,22 @@ cmd=CommandParser::CmdParser.new(ARGV) do elsif options[:xml] puts xml_str end - - exit_code 0 else - - order_by = Hash.new + order_by = {} if !options[:csv] order_by[:order_by_1] = 'YEAR' order_by[:order_by_2] = 'MONTH' end data_hash = pool.showback(filter_flag, - common_opts.merge(order_by)) + common_opts.merge(order_by)) if OpenNebula.is_error?(data_hash) puts data_hash.message - exit -1 + exit(-1) end if options[:csv] - a = Array.new + a = [] if data_hash['SHOWBACK_RECORDS'] a = data_hash['SHOWBACK_RECORDS']['SHOWBACK'] @@ -129,29 +125,28 @@ cmd=CommandParser::CmdParser.new(ARGV) do exit(0) end - data_hash.each { |year, value| - value.each { |month, showback_array| + data_hash.each do |year, value| + value.each do |month, showback_array| AcctHelper.print_month_header(year, month) array = showback_array['SHOWBACK_RECORDS']['SHOWBACK'] AcctHelper::SHOWBACK_TABLE.show(array, options) puts - } + end + end - } - - exit_code 0 end + + exit_code 0 end - command :"calculate", "Calculates the showback records", :options => + command :calculate, 'Calculates the showback records', :options => [AcctHelper::START_TIME_SHOWBACK, AcctHelper::END_TIME_SHOWBACK] do - start_month = -1 start_year = -1 - if (options[:start_time]) + if options[:start_time] start_month = options[:start_time].month start_year = options[:start_time].year end @@ -159,21 +154,23 @@ cmd=CommandParser::CmdParser.new(ARGV) do end_month = -1 end_year = -1 - if (options[:end_time]) + if options[:end_time] end_month = options[:end_time].month end_year = options[:end_time].year end - rc = OpenNebula::VirtualMachinePool.new(helper.client). - calculate_showback(start_month, start_year, end_month, end_year) + rc = OpenNebula::VirtualMachinePool.new(helper.client) + .calculate_showback(start_month, + start_year, + end_month, + end_year) if OpenNebula.is_error?(rc) warn rc.message - exit -1 + exit(-1) else puts rc exit_code 0 end - end -end \ No newline at end of file +end diff --git a/src/cli/onetemplate b/src/cli/onetemplate index 0ca52637ff..6e932a5287 100755 --- a/src/cli/onetemplate +++ b/src/cli/onetemplate @@ -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/onetemplate_helper' require 'one_helper/onevm_helper' -cmd=CommandParser::CmdParser.new(ARGV) do - usage "`onetemplate` [] []" +CommandParser::CmdParser.new(ARGV) do + usage '`onetemplate` [] []' version OpenNebulaHelper::ONE_VERSION helper = OneTemplateHelper.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 list_options = CLIHelper::OPTIONS list_options << OpenNebulaHelper::XML @@ -80,18 +80,18 @@ cmd=CommandParser::CmdParser.new(ARGV) do OneTemplateHelper::MULTIPLE, OneTemplateHelper::USERDATA, OneVMHelper::HOLD, - OneTemplateHelper::PERSISTENT, + OneTemplateHelper::PERSISTENT ] ######################################################################## # 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, :templateid, OneTemplateHelper.to_id_desc do |arg| @@ -131,12 +131,12 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :create, create_desc, [:file, nil], :options => - [OneTemplateHelper::VM_NAME]+OpenNebulaHelper::TEMPLATE_OPTIONS+ + [OneTemplateHelper::VM_NAME] + OpenNebulaHelper::TEMPLATE_OPTIONS + [OpenNebulaHelper::DRY] do if args[0] && OpenNebulaHelper.create_template_options_used?(options) - STDERR.puts "You can not use both template file and template"<< - " creation options." + STDERR.puts 'You can not use both template file and template' \ + ' creation options.' next -1 end @@ -161,9 +161,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do else tmpl.allocate(template) end - rescue => e + rescue StandardError => e STDERR.puts e.messsage - exit -1 + exit(-1) end end end @@ -173,11 +173,11 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :clone, clone_desc, :templateid, :name, - :options =>OneTemplateHelper::RECURSIVE do + :options => OneTemplateHelper::RECURSIVE do recursive = (options[:recursive] == true) - helper.perform_action(args[0],options,"cloned") do |t| + helper.perform_action(args[0], options, 'cloned') do |t| res = t.clone(args[1], recursive) if !OpenNebula.is_error?(res) @@ -193,11 +193,11 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :delete, delete_desc, [:range, :templateid_list], - :options =>OneTemplateHelper::RECURSIVE do + :options => OneTemplateHelper::RECURSIVE do recursive = (options[:recursive] == true) - helper.perform_actions(args[0],options,"deleted") do |t| + helper.perform_actions(args[0], options, 'deleted') do |t| t.delete(recursive) end end @@ -211,12 +211,13 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :instantiate, instantiate_desc, :templateid, [:file, nil], - :options=>instantiate_options+OpenNebulaHelper::TEMPLATE_OPTIONS do - exit_code=0 + :options => instantiate_options + + OpenNebulaHelper::TEMPLATE_OPTIONS do + exit_code = 0 if args[1] && OpenNebulaHelper.create_template_options_used?(options) - STDERR.puts "You cannot use both template file and template"<< - " creation options." + STDERR.puts 'You cannot use both template file and template' \ + ' creation options.' next -1 end @@ -224,14 +225,14 @@ cmd=CommandParser::CmdParser.new(ARGV) do user_inputs = nil number.times do |i| - exit_code=helper.perform_action(args[0], options, - "instantiated") do |t| + exit_code = helper.perform_action(args[0], options, + 'instantiated') do |t| name = options[:name] - name = name.gsub("%i",i.to_s) if name + name = name.gsub('%i', i.to_s) if name - on_hold = options[:hold] != nil + on_hold = !options[:hold].nil? - extra_template = "" + extra_template = '' rc = t.info if OpenNebula.is_error?(rc) @@ -252,11 +253,13 @@ cmd=CommandParser::CmdParser.new(ARGV) do extra_template = res.last end - user_inputs = OneTemplateHelper.get_user_inputs(t.to_hash) unless user_inputs + if !user_inputs + user_inputs = OneTemplateHelper.get_user_inputs(t.to_hash) + end - extra_template << "\n" << user_inputs + extra_template << '\n' << user_inputs - persistent = options[:persistent] != nil + persistent = !options[:persistent].nil? res = t.instantiate(name, on_hold, extra_template, persistent) @@ -267,7 +270,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do res end - break if exit_code==-1 + break if exit_code == -1 end exit_code @@ -277,8 +280,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do Changes the Template group EOT - command :chgrp, chgrp_desc,[:range, :templateid_list], :groupid do - helper.perform_actions(args[0],options,"Group changed") do |t| + command :chgrp, chgrp_desc, [:range, :templateid_list], :groupid do + helper.perform_actions(args[0], options, 'Group changed') do |t| t.chown(-1, args[1].to_i) end end @@ -288,9 +291,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :chown, chown_desc, [:range, :templateid_list], :userid, - [:groupid,nil] do - gid = args[2].nil? ? -1 : args[2].to_i - helper.perform_actions(args[0],options,"Owner/Group changed") do |t| + [:groupid, nil] do + args[2].nil? ? gid = -1 : gid = args[2].to_i + helper.perform_actions(args[0], options, 'Owner/Group changed') do |t| t.chown(args[1].to_i, gid) end end @@ -300,11 +303,11 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :chmod, chmod_desc, [:range, :templateid_list], :octet, - :options =>OneTemplateHelper::RECURSIVE do + :options => OneTemplateHelper::RECURSIVE do recursive = (options[:recursive] == true) - 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], recursive) end end @@ -315,8 +318,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :update, update_desc, :templateid, [: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 @@ -339,12 +342,12 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :rename, rename_desc, :templateid, :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 - 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 @@ -353,22 +356,22 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :show, show_desc, :templateid, - :options=>[OpenNebulaHelper::XML,OneTemplateHelper::EXTENDED] do + :options => [OpenNebulaHelper::XML, OneTemplateHelper::EXTENDED] do - helper.show_resource(args[0],options) + helper.show_resource(args[0], options) end top_desc = <<-EOT.unindent Lists Templates 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 lock_desc = <<-EOT.unindent - Locks a VM with differents levels for lock any actions with this VM, show and - monitoring never will be locked. + Locks a VM with differents levels for lock any actions with this VM, + show and monitoring never will be locked. Valid states are: All. Levels: [Use]: locks Admin, Manage and Use actions. @@ -377,8 +380,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :lock, lock_desc, :templateid, - :options => [USE, MANAGE, ADMIN, ALL] do - helper.perform_action(args[0],options,"Template locked") do |t| + :options => [USE, MANAGE, ADMIN, ALL] do + helper.perform_action(args[0], options, 'Template locked') do |t| if !options[:use].nil? level = 1 elsif !options[:manage].nil? @@ -400,7 +403,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :unlock, unlock_desc, :templateid do - helper.perform_action(args[0],options,"Template unlocked") do |t| + helper.perform_action(args[0], options, 'Template unlocked') do |t| t.unlock end end diff --git a/src/cli/onevdc b/src/cli/onevdc index 18490e0633..39f472d630 100755 --- a/src/cli/onevdc +++ b/src/cli/onevdc @@ -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/onevdc_helper' -cmd=CommandParser::CmdParser.new(ARGV) do - usage "`onevdc` [] []" +CommandParser::CmdParser.new(ARGV) do + usage '`onevdc` [] []' version OpenNebulaHelper::ONE_VERSION helper = OneVdcHelper.new @@ -43,7 +43,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 @@ -61,51 +61,63 @@ cmd=CommandParser::CmdParser.new(ARGV) do helper.list_to_id(arg) 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, :zoneid, OpenNebulaHelper.rname_to_id_desc("ZONE") do |arg| - OpenNebulaHelper.rname_to_id(arg, "ZONE") + set :format, :zoneid, OpenNebulaHelper.rname_to_id_desc('ZONE') do |arg| + OpenNebulaHelper.rname_to_id(arg, 'ZONE') end set :format, :clusterid, - "#{OpenNebulaHelper.rname_to_id_desc('CLUSTER')}. Can be set to ALL" do |arg| + "#{OpenNebulaHelper.rname_to_id_desc('CLUSTER')}. "\ + 'Can be set to ALL' do |arg| - if !arg.nil? and arg.class != Fixnum and arg.upcase == "ALL" + if !arg.nil? && + arg.class != Integer && + arg.casecmp?('ALL') [0, Vdc::ALL_RESOURCES] else - OpenNebulaHelper.rname_to_id(arg, "CLUSTER") + OpenNebulaHelper.rname_to_id(arg, 'CLUSTER') end end set :format, :hostid, - "#{OpenNebulaHelper.rname_to_id_desc('HOST')}. Can be set to ALL" do |arg| + "#{OpenNebulaHelper.rname_to_id_desc('HOST')}. "\ + 'Can be set to ALL' do |arg| - if !arg.nil? and arg.class != Fixnum and arg.upcase == "ALL" + if !arg.nil? && + arg.class != Integer && + arg.casecmp?('ALL') [0, Vdc::ALL_RESOURCES] else - OpenNebulaHelper.rname_to_id(arg, "HOST") + OpenNebulaHelper.rname_to_id(arg, 'HOST') end end set :format, :datastoreid, - "#{OpenNebulaHelper.rname_to_id_desc('DATASTORE')}. Can be set to ALL" do |arg| + "#{OpenNebulaHelper.rname_to_id_desc('DATASTORE')}. "\ + 'Can be set to ALL' do |arg| - if !arg.nil? and arg.class != Fixnum and arg.upcase == "ALL" + if !arg.nil? && + arg.class != Integer && + arg.casecmp?('ALL') [0, Vdc::ALL_RESOURCES] else - OpenNebulaHelper.rname_to_id(arg, "DATASTORE") + OpenNebulaHelper.rname_to_id(arg, 'DATASTORE') end end set :format, :vnetid, - "#{OpenNebulaHelper.rname_to_id_desc('VNET')}. Can be set to ALL" do |arg| + "#{OpenNebulaHelper.rname_to_id_desc('VNET')}. "\ + 'Can be set to ALL' do |arg| - if !arg.nil? and arg.class != Fixnum and arg.upcase == "ALL" + if !arg.nil? && + arg.class != Integer && + arg.casecmp?('ALL') [0, Vdc::ALL_RESOURCES] else - OpenNebulaHelper.rname_to_id(arg, "VNET") + OpenNebulaHelper.rname_to_id(arg, 'VNET') end end @@ -129,7 +141,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :rename, rename_desc, :vdcid, :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 @@ -140,8 +152,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :update, update_desc, :vdcid, [: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 @@ -160,7 +172,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :delete, delete_desc, [:range, :vdcid_list] do - helper.perform_actions(args[0],options,"deleted") do |obj| + helper.perform_actions(args[0], options, 'deleted') do |obj| obj.delete end end @@ -170,7 +182,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :addgroup, add_group_desc, [:range, :vdcid_list], :groupid do - helper.perform_actions(args[0],options,"group added") do |obj| + helper.perform_actions(args[0], options, 'group added') do |obj| obj.add_group(args[1].to_i) end end @@ -180,7 +192,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :delgroup, del_group_desc, [:range, :vdcid_list], :groupid do - helper.perform_actions(args[0],options,"group deleted") do |obj| + helper.perform_actions(args[0], options, 'group deleted') do |obj| obj.del_group(args[1].to_i) end end @@ -189,8 +201,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do Adds a Cluster (from a specific Zone) to the given VDC EOT - command :addcluster, add_cluster_desc, [:range, :vdcid_list], :zoneid, :clusterid do - helper.perform_actions(args[0],options,"cluster added") do |obj| + command :addcluster, add_cluster_desc, + [:range, :vdcid_list], :zoneid, :clusterid do + helper.perform_actions(args[0], options, 'cluster added') do |obj| obj.add_cluster(args[1].to_i, args[2].to_i) end end @@ -199,8 +212,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do Deletes a Cluster (from a specific Zone) from the given VDC EOT - command :delcluster, del_cluster_desc, [:range, :vdcid_list], :zoneid, :clusterid do - helper.perform_actions(args[0],options,"cluster deleted") do |obj| + command :delcluster, del_cluster_desc, + [:range, :vdcid_list], :zoneid, :clusterid do + helper.perform_actions(args[0], options, 'cluster deleted') do |obj| obj.del_cluster(args[1].to_i, args[2].to_i) end end @@ -210,7 +224,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :addhost, add_host_desc, [:range, :vdcid_list], :zoneid, :hostid do - helper.perform_actions(args[0],options,"host added") do |obj| + helper.perform_actions(args[0], options, 'host added') do |obj| obj.add_host(args[1].to_i, args[2].to_i) end end @@ -220,7 +234,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :delhost, del_host_desc, [:range, :vdcid_list], :zoneid, :hostid do - helper.perform_actions(args[0],options,"host deleted") do |obj| + helper.perform_actions(args[0], options, 'host deleted') do |obj| obj.del_host(args[1].to_i, args[2].to_i) end end @@ -229,8 +243,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do Adds a Datastore (from a specific Zone) to the given VDC EOT - command :adddatastore, add_datastore_desc, [:range, :vdcid_list], :zoneid, :datastoreid do - helper.perform_actions(args[0],options,"datastore added") do |obj| + command :adddatastore, add_datastore_desc, + [:range, :vdcid_list], :zoneid, :datastoreid do + helper.perform_actions(args[0], options, 'datastore added') do |obj| obj.add_datastore(args[1].to_i, args[2].to_i) end end @@ -239,8 +254,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do Deletes a Datastore (from a specific Zone) from the given VDC EOT - command :deldatastore, del_datastore_desc, [:range, :vdcid_list], :zoneid, :datastoreid do - helper.perform_actions(args[0],options,"datastore deleted") do |obj| + command :deldatastore, del_datastore_desc, + [:range, :vdcid_list], :zoneid, :datastoreid do + helper.perform_actions(args[0], options, 'datastore deleted') do |obj| obj.del_datastore(args[1].to_i, args[2].to_i) end end @@ -250,7 +266,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :addvnet, add_vnet_desc, [:range, :vdcid_list], :zoneid, :vnetid do - helper.perform_actions(args[0],options,"vnet added") do |obj| + helper.perform_actions(args[0], options, 'vnet added') do |obj| obj.add_vnet(args[1].to_i, args[2].to_i) end end @@ -260,7 +276,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :delvnet, del_vnet_desc, [:range, :vdcid_list], :zoneid, :vnetid do - helper.perform_actions(args[0],options,"vnet deleted") do |obj| + helper.perform_actions(args[0], options, 'vnet deleted') do |obj| obj.del_vnet(args[1].to_i, args[2].to_i) end end @@ -269,7 +285,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do Lists VDCs 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 @@ -277,7 +293,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do Shows information for the given VDC EOT - command :show, show_desc,:vdcid, :options=>OpenNebulaHelper::XML do - helper.show_resource(args[0],options) + command :show, show_desc, :vdcid, :options => OpenNebulaHelper::XML do + helper.show_resource(args[0], options) end end