Class: ForemanMaintain::Utils::Disk::IODevice

Inherits:
Object
  • Object
show all
Includes:
Concerns::SystemHelpers
Defined in:
lib/foreman_maintain/utils/disk/io_device.rb

Constant Summary

Constants included from Concerns::OsFacts

Concerns::OsFacts::FALLBACK_OS_RELEASE_FILE, Concerns::OsFacts::OS_RELEASE_FILE

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Concerns::SystemHelpers

#check_max_version, #check_min_version, #command_present?, #directory_empty?, #execute, #execute!, #execute?, #execute_runner, #execute_with_status, #file_exists?, #file_nonzero?, #find_dir_containing_file, #find_package, #find_symlinks, #foreman_plugin_name, #format_shell_args, #hammer_package, #hammer_plugin_name, #hostname, included, #package_manager, #package_version, #packages_action, #parse_csv, #parse_json, #proxy_plugin_name, #repository_manager, #ruby_prefix, #server?, #shellescape, #systemd_installed?, #version

Methods included from Concerns::OsFacts

#centos?, #cpu_cores, #deb_major_version, #debian?, #debian_or_ubuntu?, #el8?, #el?, #el_major_version, #el_short_name, #facts, #memory, #os_id, #os_id_like_list, #os_name, #os_release_file, #os_version, #os_version_codename, #os_version_id, #rhel?, #ubuntu?, #ubuntu_major_version

Methods included from Concerns::Finders

#check, #detector, #feature, #find_all_scenarios, #find_procedures, #find_scenarios, #procedure

Methods included from Concerns::Logger

#logger

Constructor Details

#initialize(dir) ⇒ IODevice

Returns a new instance of IODevice.



9
10
11
# File 'lib/foreman_maintain/utils/disk/io_device.rb', line 9

def initialize(dir)
  @dir = dir
end

Instance Attribute Details

#dirObject

Returns the value of attribute dir.



7
8
9
# File 'lib/foreman_maintain/utils/disk/io_device.rb', line 7

def dir
  @dir
end

Instance Method Details

#available_spaceObject



21
22
23
# File 'lib/foreman_maintain/utils/disk/io_device.rb', line 21

def available_space
  convert_kb_to_mb(execute!("df #{dir}|awk {'print $4'}|tail -1").to_i)
end

#read_speedObject



13
14
15
# File 'lib/foreman_maintain/utils/disk/io_device.rb', line 13

def read_speed
  @read_speed ||= convert_kb_to_mb(fio)
end

#space_usedObject



29
30
31
# File 'lib/foreman_maintain/utils/disk/io_device.rb', line 29

def space_used
  convert_kb_to_mb(execute!("du -ks #{dir} | awk {'print $1'}").to_i)
end

#space_used_in_percentObject



25
26
27
# File 'lib/foreman_maintain/utils/disk/io_device.rb', line 25

def space_used_in_percent
  execute!("df #{dir}|awk {'print $5'}|tail -1").to_i
end

#unitObject



17
18
19
# File 'lib/foreman_maintain/utils/disk/io_device.rb', line 17

def unit
  @unit ||= 'MB/sec'
end