clean_cache(assumeyes: false)
click to toggle source
def clean_cache(assumeyes: false)
yum_action('clean', 'all', :assumeyes => assumeyes)
end
files_not_owned_by_package(directory)
click to toggle source
def files_not_owned_by_package(directory)
find_cmd = "find #{directory} -exec /bin/sh -c 'rpm -qf {} &> /dev/null || echo {}' \\;"
sys.execute(find_cmd).split("\n")
end
find_installed_package(name)
click to toggle source
def find_installed_package(name)
status, result = sys.execute_with_status(%Q(rpm -q '#{name}'))
if status == 0
result
end
end
install(packages, assumeyes: false)
click to toggle source
def install(packages, assumeyes: false)
yum_action('install', packages, :assumeyes => assumeyes)
end
install_version_locking(*)
click to toggle source
def install_version_locking(*)
install_extras('foreman_protector/foreman-protector.py', PROTECTOR_PLUGIN_FILE)
install_extras('foreman_protector/foreman-protector.conf', PROTECTOR_CONFIG_FILE)
install_extras('foreman_protector/foreman-protector.whitelist', PROTECTOR_WHITELIST_FILE)
end
installed?(packages)
click to toggle source
def installed?(packages)
packages_list = [packages].flatten(1).map { |pkg| "'#{pkg}'" }.join(' ')
sys.execute?(%Q(rpm -q #{packages_list}))
end
list_installed_packages(queryfm = '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n')
click to toggle source
def list_installed_packages(queryfm = '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n')
sys.execute!("rpm -qa --qf '#{queryfm}'").split("\n")
end
lock_versions()
click to toggle source
def lock_versions
enable_protector
end
remove(packages, assumeyes: false)
click to toggle source
def remove(packages, assumeyes: false)
yum_action('remove', packages, :assumeyes => assumeyes)
end
unlock_versions()
click to toggle source
def unlock_versions
disable_protector
end
update(packages = [], assumeyes: false)
click to toggle source
def update(packages = [], assumeyes: false)
yum_action('update', packages, :assumeyes => assumeyes)
end
update_available?(package)
click to toggle source
def update_available?(package)
cmd_output = yum_action('check-update -q', package, :with_status => true, :assumeyes => false)
cmd_output[0] == 100
end
version_locking_enabled?()
click to toggle source
def version_locking_enabled?
File.exist?(PROTECTOR_PLUGIN_FILE) && File.exist?(PROTECTOR_CONFIG_FILE) &&
File.exist?(PROTECTOR_WHITELIST_FILE)
end
versions_locked?()
click to toggle source
def versions_locked?
!!(protector_config =~ /^\s*enabled\s*=\s*1/)
end