summaryrefslogtreecommitdiff
path: root/puppet/modules/site_apt/manifests
diff options
context:
space:
mode:
authorMicah Anderson <micah@riseup.net>2013-07-09 16:43:39 +0100
committerMicah Anderson <micah@riseup.net>2013-07-09 16:43:39 +0100
commitb4077083b971377636754b2988668a6ddd384da5 (patch)
treeb8e358b5f0f6dfa882d31d7446266111bc0d201b /puppet/modules/site_apt/manifests
parent625aaa11138bba365958391664299692402f8da4 (diff)
parent672154a8322901b86c9882854234eae53221a38e (diff)
Merge remote-tracking branch 'origin/develop'0.2.2
Conflicts: provider_base/services/webapp.json
Diffstat (limited to 'puppet/modules/site_apt/manifests')
-rw-r--r--puppet/modules/site_apt/manifests/dist_upgrade.pp6
-rw-r--r--puppet/modules/site_apt/manifests/init.pp35
-rw-r--r--puppet/modules/site_apt/manifests/leap_repo.pp14
3 files changed, 49 insertions, 6 deletions
diff --git a/puppet/modules/site_apt/manifests/dist_upgrade.pp b/puppet/modules/site_apt/manifests/dist_upgrade.pp
index f129dd73..08de31bb 100644
--- a/puppet/modules/site_apt/manifests/dist_upgrade.pp
+++ b/puppet/modules/site_apt/manifests/dist_upgrade.pp
@@ -1,15 +1,17 @@
class site_apt::dist_upgrade {
- if $::apt_running == 'true' {
+ if $::apt_running == 'true' {
fail ('apt-get is running in background - Please wait until it finishes. Exiting.')
} else {
exec{'initial_apt_update':
- command => '/usr/bin/apt-get update && /usr/bin/apt-get autoclean',
+ command => '/usr/bin/apt-get update',
refreshonly => false,
+ timeout => 360,
}
exec{'initial_apt_dist_upgrade':
command => "/usr/bin/apt-get -q -y -o 'DPkg::Options::=--force-confold' dist-upgrade",
refreshonly => false,
+ timeout => 1200,
}
}
}
diff --git a/puppet/modules/site_apt/manifests/init.pp b/puppet/modules/site_apt/manifests/init.pp
index 80c6fbde..8821c110 100644
--- a/puppet/modules/site_apt/manifests/init.pp
+++ b/puppet/modules/site_apt/manifests/init.pp
@@ -1,6 +1,20 @@
-class site_apt {
+class site_apt {
- include ::apt
+ # on couchdb we need to include squeeze in apt preferences,
+ # so the cloudant package can pull some packages from squeeze
+ # template() must be unquoted !
+ if 'couchdb' in $::services {
+ $custom_preferences = template("site_apt/preferences.include_squeeze")
+ } else {
+ $custom_preferences = ''
+ }
+ class { 'apt':
+ custom_preferences => $custom_preferences,
+ custom_key_dir => 'puppet:///modules/site_apt/keys'
+ }
+
+ # enable http://deb.leap.se debian package repository
+ include site_apt::leap_repo
apt::apt_conf { '90disable-pdiffs':
content => 'Acquire::PDiffs "false";';
@@ -8,8 +22,21 @@ class site_apt {
include ::apt::unattended_upgrades
- apt::sources_list { 'fallback.list.disabled':
- content => template('site_apt/fallback.list');
+ apt::sources_list { 'secondary.list.disabled':
+ content => template('site_apt/secondary.list');
}
+ apt::preferences_snippet { 'facter':
+ release => "${::lsbdistcodename}-backports",
+ priority => 999
+ }
+
+ # All packages should be installed _after_ refresh_apt is called,
+ # which does an apt-get update.
+ # There is one exception:
+ # The creation of sources.list depends on the lsb package
+
+ File['/etc/apt/preferences'] ->
+ Exec['refresh_apt']
+ Package <| ( title != 'lsb' ) |>
}
diff --git a/puppet/modules/site_apt/manifests/leap_repo.pp b/puppet/modules/site_apt/manifests/leap_repo.pp
new file mode 100644
index 00000000..6b3d9919
--- /dev/null
+++ b/puppet/modules/site_apt/manifests/leap_repo.pp
@@ -0,0 +1,14 @@
+class site_apt::leap_repo {
+ apt::sources_list { 'leap.list':
+ content => 'deb http://deb.leap.se/debian stable main',
+ before => Exec[refresh_apt]
+ }
+
+ package { 'leap-keyring':
+ ensure => latest
+ }
+
+ # We wont be able to install the leap-keyring package unless the leap apt
+ # source has been added and apt has been refreshed
+ Exec['refresh_apt'] -> Package['leap-keyring']
+}