Module: CemAcpt::Bootstrap::OperatingSystem::RhelFamily
- Defined in:
- lib/cem_acpt/bootstrap/operating_system/rhel_family.rb
Overview
This module holds methods used by Bootstrap for RHEL-family operating systems
Instance Method Summary collapse
- #package_install_cmd(packages, sudo: true) ⇒ Object
- #package_install_cmd_opts ⇒ Object
- #package_install_cmd_output_format ⇒ Object
- #package_install_verify_cmd(packages, sudo: true) ⇒ Object
- #package_installs(packages, sudo: true) ⇒ Object
- #package_manager ⇒ Object
- #puppet_agent_repo ⇒ Object
- #repo_install_cmd(repos, sudo: true) ⇒ Object
- #repo_install_verify_cmd(repos, sudo: true) ⇒ Object
- #repo_installs(repos, sudo: true) ⇒ Object
- #rvm_deps ⇒ Object
- #service_start_cmd(services, sudo: true) ⇒ Object
- #service_start_verify_existance_cmd(services, sudo: true) ⇒ Object
- #service_starts(services, sudo: true) ⇒ Object
Instance Method Details
#package_install_cmd(packages, sudo: true) ⇒ Object
88 89 90 91 92 93 94 95 |
# File 'lib/cem_acpt/bootstrap/operating_system/rhel_family.rb', line 88 def package_install_cmd(packages, sudo: true) cmd = [] cmd << 'sudo' if sudo cmd << "#{package_manager} install #{package_install_cmd_opts}" packages.each { |p| cmd << p } cmd << package_install_cmd_output_format cmd.join(' ') end |
#package_install_cmd_opts ⇒ Object
105 106 107 |
# File 'lib/cem_acpt/bootstrap/operating_system/rhel_family.rb', line 105 def package_install_cmd_opts '-y' end |
#package_install_cmd_output_format ⇒ Object
109 110 111 |
# File 'lib/cem_acpt/bootstrap/operating_system/rhel_family.rb', line 109 def package_install_cmd_output_format '| tr "\n" "#" | sed -e \'s/# / /g\' | tr "#" "\n"' end |
#package_install_verify_cmd(packages, sudo: true) ⇒ Object
97 98 99 100 101 102 103 |
# File 'lib/cem_acpt/bootstrap/operating_system/rhel_family.rb', line 97 def package_install_verify_cmd(packages, sudo: true) cmd = [] cmd << 'sudo' if sudo cmd << "#{package_manager} list installed" packages.each { |p| cmd << p } cmd.join(' ') end |
#package_installs(packages, sudo: true) ⇒ Object
51 52 53 54 55 56 57 58 59 60 |
# File 'lib/cem_acpt/bootstrap/operating_system/rhel_family.rb', line 51 def package_installs(packages, sudo: true) return if packages.nil? || packages.empty? packages += rvm_deps cmd = [ package_install_cmd(packages, sudo: sudo), package_install_verify_cmd(packages, sudo: sudo), ].join(' && ') "#{cmd} | sudo tee -ai #{@log_file}" end |
#package_manager ⇒ Object
11 12 13 14 15 |
# File 'lib/cem_acpt/bootstrap/operating_system/rhel_family.rb', line 11 def package_manager return 'dnf' if @major_version.to_i >= 8 'yum' end |
#puppet_agent_repo ⇒ Object
7 8 9 |
# File 'lib/cem_acpt/bootstrap/operating_system/rhel_family.rb', line 7 def puppet_agent_repo "https://yum.puppet.com/#{@collection}-release-el-#{@major_version}.noarch.rpm" end |
#repo_install_cmd(repos, sudo: true) ⇒ Object
72 73 74 75 76 77 78 |
# File 'lib/cem_acpt/bootstrap/operating_system/rhel_family.rb', line 72 def repo_install_cmd(repos, sudo: true) cmd = [] cmd << 'sudo' if sudo cmd << 'rpm -Uv' repos.each { |r| cmd << r } cmd.join(' ') end |
#repo_install_verify_cmd(repos, sudo: true) ⇒ Object
80 81 82 83 84 85 86 |
# File 'lib/cem_acpt/bootstrap/operating_system/rhel_family.rb', line 80 def repo_install_verify_cmd(repos, sudo: true) cmd = [] cmd << 'sudo' if sudo cmd << 'rpm -q' repos.each { |r| cmd << r } cmd.join(' ') end |
#repo_installs(repos, sudo: true) ⇒ Object
41 42 43 44 45 46 47 48 49 |
# File 'lib/cem_acpt/bootstrap/operating_system/rhel_family.rb', line 41 def repo_installs(repos, sudo: true) return if repos.nil? || repos.empty? cmd = [ repo_install_cmd(repos, sudo: sudo), repo_install_verify_cmd(repos, sudo: sudo), ].join(' && ') "#{cmd} | sudo tee -ai #{@log_file}" end |
#rvm_deps ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/cem_acpt/bootstrap/operating_system/rhel_family.rb', line 17 def rvm_deps [ 'kernel-devel', 'gcc', 'gcc-c++', 'make', 'augeas', 'augeas-devel', 'patch', 'readline', 'readline-devel', 'zlib', 'zlib-devel', 'libffi-devel', 'openssl-devel', 'bzip2', 'autoconf', 'automake', 'libtool', 'bison', 'sqlite-devel', ] end |
#service_start_cmd(services, sudo: true) ⇒ Object
113 114 115 116 117 118 119 |
# File 'lib/cem_acpt/bootstrap/operating_system/rhel_family.rb', line 113 def service_start_cmd(services, sudo: true) cmd = [] cmd << 'sudo' if sudo cmd << 'systemctl start' services.each { |s| cmd << s } cmd.join(' ') end |
#service_start_verify_existance_cmd(services, sudo: true) ⇒ Object
121 122 123 124 125 126 127 |
# File 'lib/cem_acpt/bootstrap/operating_system/rhel_family.rb', line 121 def service_start_verify_existance_cmd(services, sudo: true) cmd = [] cmd << 'sudo' if sudo cmd << 'systemctl list-units --type=service' services.each { |s| cmd << s } cmd.join(' ') end |
#service_starts(services, sudo: true) ⇒ Object
62 63 64 65 66 67 68 69 70 |
# File 'lib/cem_acpt/bootstrap/operating_system/rhel_family.rb', line 62 def service_starts(services, sudo: true) return if services.nil? || services.empty? cmd = [ #service_start_verify_existance_cmd(services, sudo: sudo), service_start_cmd(services, sudo: sudo), ].join(' && ') "#{cmd} | sudo tee -ai #{@log_file}" end |