end
end
- autorequire(:package) do
- 'dirmngr'
- end
-
newparam(:server) do
desc 'The key server to fetch the key from based on the ID. It can either be a domain name or url.'
defaultto :'keyserver.ubuntu.com'
server => $server,
options => $options,
} -> anchor { "apt_key ${id} present": }
+
+ case $facts['os']['name'] {
+ 'Debian': {
+ if versioncmp($facts['os']['release']['major'], '9') >= 0 {
+ ensure_packages(['dirmngr'])
+ Apt::Key<| title == $title |>
+ }
+ }
+ 'Ubuntu': {
+ if versioncmp($facts['os']['release']['full'], '17.04') >= 0 {
+ ensure_packages(['dirmngr'])
+ Apt::Key<| title == $title |>
+ }
+ }
+ default: { }
+ }
}
}
}
MANIFEST
+refresh_check_for_dirmngr_pp = <<-MANIFEST
+ package { 'dirmngr':
+ ensure => 'present',
+ }
+MANIFEST
+
describe 'apt_key' do
before(:each) do
# Delete twice to make sure everything is cleaned
let(:puppetlabs_exp_check_command) { PUPPETLABS_EXP_CHECK_COMMAND }
end
before(:each) do
+ if fact('lsbdistcodename') == 'stretch' || fact('lsbdistcodename') == 'bionic'
+ # Ensure dirmngr package is installed
+ apply_manifest(refresh_check_for_dirmngr_pp, acceptable_exit_codes: [0, 2])
+ end
# Delete the Puppet Labs Release Key and install an expired version of the key
apply_manifest(refresh_del_key_pp)
apply_manifest(refresh_pp, catch_failures: true)