require 'spec_helper_acceptance'
+MAX_TIMEOUT_RETRY = 3
+TIMEOUT_RETRY_WAIT = 5
+TIMEOUT_ERROR_MATCHER = /no valid OpenPGP data found/
+
describe 'apt class' do
context 'reset' do
context 'all the things' do
it 'should work with no errors' do
pp = <<-EOS
+ if $::lsbdistcodename == 'lucid' {
+ $sources = undef
+ } else {
+ $sources = {
+ 'puppetlabs' => {
+ 'ensure' => present,
+ 'location' => 'http://apt.puppetlabs.com',
+ 'repos' => 'main',
+ 'key' => {
+ 'id' => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
+ 'server' => 'hkps.pool.sks-keyservers.net',
+ },
+ },
+ }
+ }
class { 'apt':
update => {
'frequency' => 'always',
'preferences' => true,
'preferences.d' => true,
},
- sources => ? $::lsbdiscodename {
- 'lucid' => undef,
- default => { 'puppetlabs' => {
- 'ensure' => present,
- 'location' => 'http://apt.puppetlabs.com',
- 'repos' => 'main',
- 'key' => {
- 'id' => '47B320EB4C7C375AA9DAE1A01054B7A24BD6EC30',
- 'server' => 'pgp.mit.edu',
- },
- },
- },
- },
+ sources => $sources,
}
EOS
- apply_manifest(pp, :catch_failures => true)
+ #Apply the manifest (Retry if timeout error is received from key pool)
+ retry_on_error_matching(MAX_TIMEOUT_RETRY, TIMEOUT_RETRY_WAIT, TIMEOUT_ERROR_MATCHER) do
+ apply_manifest(pp, :catch_failures => true)
+ end
+
apply_manifest(pp, :catch_failures => true)
end
it 'should still work' do