Module: ForemanMaintain::Utils::Facter

Includes:
Concerns::SystemHelpers
Defined in:
lib/foreman_maintain/utils/facter.rb

Constant Summary collapse

FACTER_FILES =
%w[/usr/bin/facter /opt/puppetlabs/bin/facter].freeze

Class Method Summary collapse

Methods included from Concerns::SystemHelpers

#check_max_version, #check_min_version, #command_present?, #create_lv_snapshot, #directory_empty?, #execute, #execute!, #execute?, #execute_runner, #execute_with_status, #file_exists?, #file_nonzero?, #find_dir_containing_file, #find_package, #find_symlinks, #format_shell_args, #get_lv_info, #get_lv_path, #hostname, included, #package_manager, #package_version, #packages_action, #parse_csv, #parse_json, #rpm_version, #server?, #shellescape, #systemd_installed?, #version

Methods included from Concerns::Finders

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

Methods included from Concerns::Logger

#logger

Class Method Details

.os_major_releaseObject



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

def self.os_major_release
  execute!("#{path} operatingsystemmajrelease")
end

.packageObject



7
8
9
10
11
# File 'lib/foreman_maintain/utils/facter.rb', line 7

def self.package
  puppet_version = version(execute!('/opt/puppetlabs/bin/puppet --version'))

  puppet_version.major >= 4 ? 'puppet-agent' : 'facter'
end

.pathObject



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

def self.path
  FACTER_FILES.find { |path| File.exist?(path) }
end