Class: Pero::Puppet::Ubuntu
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
Methods inherited from Base
#check_command, #initialize, #run_specinfra
Constructor Details
This class inherits a constructor from Pero::Puppet::Base
Instance Method Details
#code_name ⇒ Object
4 5 6 7 8 9 10 |
# File 'lib/pero/puppet/ubuntu.rb', line 4 def code_name case os_info[:release] when '20.04' then 'focal' when '22.04' then 'jammy' else raise "unsupported OS release: #{os_info[:release]}" end end |
#install(version) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/pero/puppet/ubuntu.rb', line 12 def install(version) major_version = version.split('.')[0] release_package = "puppet#{major_version}-release" release_package_name = "#{release_package}-#{code_name}.deb" package_name = 'puppet-agent' package_version = "#{version}-1#{code_name}" unless run_specinfra(:check_package_is_installed, package_name, package_version) unless run_specinfra(:check_package_is_installed, release_package, '') Pero.log.info "install package #{release_package}" cmd = specinfra.run_command(" wget -O /tmp/\#{release_package_name} https://apt.puppetlabs.com/\#{release_package_name} &&\n dpkg -i /tmp/\#{release_package_name} &&\n rm -f /tmp/\#{release_package_name}\n COMMAND\n raise \"failed package install:\#{release_package} stdout:\#{cmd.stdout}\" if cmd.exit_status != 0\n specinfra.run_command('apt-get update -qqy')\n end\n\n Pero.log.info \"install package \#{package_name}-\#{package_version}\"\n raise \"failed package install:\#{package_name} version \#{package_version}\" if run_specinfra(:install_package, package_name, package_version).exit_status != 0\n else\n Pero.log.info \"\#{package_name}-\#{package_version} installed\"\n end\nend\n") |