Merge pull request #374 from bschlief/random_sleep

Add support for RandomSleep to 10periodic
This commit is contained in:
Daniele Sluijters 2014-10-14 09:12:18 +02:00
commit 2b84dd142e
4 changed files with 22 additions and 0 deletions

View file

@ -283,6 +283,7 @@ apt::sources:
* `download`: How often, in days, to run `apt-get upgrade --download-only`.
* `upgrade`: How often, in days, to upgrade packages included in the origins list.
* `autoclean`: How often, in days, to run `apt-get autoclean`.
* `randomsleep`: How long, in seconds, to randomly wait before applying upgrades.
### Testing

View file

@ -28,6 +28,7 @@ class apt::unattended_upgrades (
$remove_unused = true,
$auto_reboot = false,
$dl_limit = 'NONE',
$randomsleep = undef,
$enable = '1',
$backup_interval = '0',
$backup_level = '3',
@ -48,6 +49,12 @@ class apt::unattended_upgrades (
)
validate_array($origins)
if $randomsleep {
unless is_numeric($randomsleep) {
fail('randomsleep must be numeric')
}
}
package { 'unattended-upgrades':
ensure => present,
}

View file

@ -94,6 +94,14 @@ describe 'apt::unattended_upgrades', :type => :class do
it { expect { should raise_error(Puppet::Error) } }
end
context 'bad randomsleep' do
let :params do
{
'randomsleep' => '4ever'
}
end
it { expect { should raise_error(Puppet::Error) } }
end
end
context 'defaults' do
@ -123,6 +131,7 @@ describe 'apt::unattended_upgrades', :type => :class do
it { is_expected.to contain_file("/etc/apt/apt.conf.d/10periodic").with_content %r{APT::Periodic::Unattended-Upgrade "1";}}
it { is_expected.to contain_file("/etc/apt/apt.conf.d/10periodic").with_content %r{APT::Periodic::AutocleanInterval "7";}}
it { is_expected.to contain_file("/etc/apt/apt.conf.d/10periodic").with_content %r{APT::Periodic::Verbose "0";}}
it { is_expected.to_not contain_file("/etc/apt/apt.conf.d/10periodic").with_content %r{APT::Periodic::RandomSleep}}
end
context 'anything but defaults' do
@ -157,6 +166,7 @@ describe 'apt::unattended_upgrades', :type => :class do
'remove_unused' => false,
'auto_reboot' => true,
'dl_limit' => '70',
'randomsleep' => '1799',
}
end
@ -183,6 +193,7 @@ describe 'apt::unattended_upgrades', :type => :class do
it { is_expected.to contain_file("/etc/apt/apt.conf.d/10periodic").with_content %r{APT::Periodic::Unattended-Upgrade "0";}}
it { is_expected.to contain_file("/etc/apt/apt.conf.d/10periodic").with_content %r{APT::Periodic::AutocleanInterval "0";}}
it { is_expected.to contain_file("/etc/apt/apt.conf.d/10periodic").with_content %r{APT::Periodic::Verbose "1";}}
it { is_expected.to contain_file("/etc/apt/apt.conf.d/10periodic").with_content %r{APT::Periodic::RandomSleep "1799";}}
end
end

View file

@ -10,3 +10,6 @@ APT::Periodic::Download-Upgradeable-Packages-Debdelta "<%= @download_delta %>";
APT::Periodic::Unattended-Upgrade "<%= @upgrade %>";
APT::Periodic::AutocleanInterval "<%= @autoclean %>";
APT::Periodic::Verbose "<%= @verbose %>";
<%- unless @randomsleep.nil? -%>
APT::Periodic::RandomSleep "<%= @randomsleep %>";
<%- end -%>