class PoiseLanguages::Scl::Provider
The default provider for `poise_languages_scl`.
@api private @since 1.0 @see Resource
@provides poise_languages_scl
Public Instance Methods
action_install()
click to toggle source
The `install` action for the `poise_languages_scl` resource.
@return [void]
# File lib/poise_languages/scl/resource.rb, line 70 def action_install notifying_block do install_scl_repo flush_yum_cache install_scl_package(:install) install_scl_devel_package(:install) if new_resource.dev_package end end
action_uninstall()
click to toggle source
The `uninstall` action for the `poise_languages_scl` resource.
@return [void]
# File lib/poise_languages/scl/resource.rb, line 94 def action_uninstall notifying_block do uninstall_scl_devel_package if new_resource.dev_package uninstall_scl_package end end
action_upgrade()
click to toggle source
The `upgrade` action for the `poise_languages_scl` resource.
@return [void]
# File lib/poise_languages/scl/resource.rb, line 82 def action_upgrade notifying_block do install_scl_repo flush_yum_cache install_scl_package(:upgrade) install_scl_devel_package(:upgrade) if new_resource.dev_package end end
Private Instance Methods
flush_yum_cache()
click to toggle source
# File lib/poise_languages/scl/resource.rb, line 124 def flush_yum_cache ruby_block 'flush_yum_cache' do block do # Equivalent to flush_cache after: true Chef::Provider::Package::Yum::YumCache.instance.reload end end end
install_scl_devel_package(action)
click to toggle source
# File lib/poise_languages/scl/resource.rb, line 141 def install_scl_devel_package(action) package new_resource.dev_package do action action retries 5 version new_resource.version end end
install_scl_package(action)
click to toggle source
# File lib/poise_languages/scl/resource.rb, line 133 def install_scl_package(action) package new_resource.package_name do action action retries 5 version new_resource.version end end
install_scl_repo()
click to toggle source
# File lib/poise_languages/scl/resource.rb, line 103 def install_scl_repo if node.platform?('redhat') # Set up the real RHSCL subscription. # NOTE: THIS IS NOT TESTED BECAUSE REDHAT DOESN'T OFFER ANY WAY TO DO # AUTOMATED TESTING. IF YOU USE REDHAT AND THIS BREAKS, PLEASE LET ME # KNOW BY FILING A GITHUB ISSUE AT http://github.com/poise/poise-languages/issues/new. repo_name = "rhel-server-rhscl-#{node['platform_version'][0]}-rpms" execute "subscription-manager repos --enable #{repo_name}" do not_if { shell_out!('subscription-manager repos --list-enabled').stdout.include?(repo_name) } end else package 'centos-release-scl-rh' do # Using upgrade here because changes very very rare and always # important when they happen. If this breaks your prod infra, I'm # sorry :-( action :upgrade retries 5 end end end
uninstall_scl_devel_package()
click to toggle source
# File lib/poise_languages/scl/resource.rb, line 153 def uninstall_scl_devel_package install_scl_devel_package(:remove) end
uninstall_scl_package()
click to toggle source
# File lib/poise_languages/scl/resource.rb, line 149 def uninstall_scl_package install_scl_package(:remove) end