class InstanceAgent::LinuxUtil
Public Class Methods
codedeploy_version_file()
click to toggle source
# File lib/instance_agent/platform/linux_util.rb, line 55 def self.codedeploy_version_file File.join(ProcessManager::Config.config[:root_dir], '..') end
extract_tar(bundle_file, dst)
click to toggle source
# File lib/instance_agent/platform/linux_util.rb, line 41 def self.extract_tar(bundle_file, dst) FileUtils.mkdir_p(dst) execute_tar_command("/bin/tar -xpsf #{bundle_file} -C #{dst}") end
extract_tgz(bundle_file, dst)
click to toggle source
# File lib/instance_agent/platform/linux_util.rb, line 46 def self.extract_tgz(bundle_file, dst) FileUtils.mkdir_p(dst) execute_tar_command("/bin/tar -zxpsf #{bundle_file} -C #{dst}") end
prepare_script_command(script, absolute_cmd_path)
click to toggle source
# File lib/instance_agent/platform/linux_util.rb, line 11 def self.prepare_script_command(script, absolute_cmd_path) runas = !!script.runas sudo = !!script.sudo if runas && sudo return 'sudo su ' + script.runas + ' -c ' + absolute_cmd_path end if runas && !sudo return 'su ' + script.runas + ' -c ' + absolute_cmd_path end if !runas && sudo return 'sudo ' + absolute_cmd_path end # If neither sudo or runas is specified, execute the # command as the code deploy agent user absolute_cmd_path end
quit()
click to toggle source
# File lib/instance_agent/platform/linux_util.rb, line 32 def self.quit() # Send kill signal to parent and exit Process.kill('TERM', Process.ppid) end
script_executable?(path)
click to toggle source
# File lib/instance_agent/platform/linux_util.rb, line 37 def self.script_executable?(path) File.executable?(path) end
supported_oses()
click to toggle source
# File lib/instance_agent/platform/linux_util.rb, line 7 def self.supported_oses() ['linux'] end
supported_versions()
click to toggle source
# File lib/instance_agent/platform/linux_util.rb, line 3 def self.supported_versions() [0.0] end
supports_process_groups?()
click to toggle source
# File lib/instance_agent/platform/linux_util.rb, line 51 def self.supports_process_groups?() true end
Private Class Methods
execute_tar_command(cmd)
click to toggle source
# File lib/instance_agent/platform/linux_util.rb, line 60 def self.execute_tar_command(cmd) log(:debug, "Executing #{cmd}") output = `#{cmd} 2>&1` exit_status = $?.exitstatus log(:debug, "Command status: #{$?}") log(:debug, "Command output: #{output}") if exit_status != 0 msg = "Error extracting tar archive: #{exit_status}" log(:error, msg) raise msg end end
log(severity, message)
click to toggle source
# File lib/instance_agent/platform/linux_util.rb, line 77 def self.log(severity, message) raise ArgumentError, "Unknown severity #{severity.inspect}" unless InstanceAgent::Log::SEVERITIES.include?(severity.to_s) InstanceAgent::Log.send(severity.to_sym, "#{self.to_s}: #{message}") end