[tbb-commits] [tor-browser-build/master] Bug 23384: install and configure unattended-upgrades on build-sunet-a.torproject.net

boklm at torproject.org boklm at torproject.org
Mon Oct 2 16:09:04 UTC 2017


commit fd97762cb0924eea137896425eab788daef6ca8d
Author: Nicolas Vigier <boklm at torproject.org>
Date:   Mon Oct 2 18:05:14 2017 +0200

    Bug 23384: install and configure unattended-upgrades on build-sunet-a.torproject.net
---
 .../roles/unattended-upgrades/defaults/main.yml    |  2 +
 .../roles/unattended-upgrades/tasks/main.yml       | 18 +++++
 .../unattended-upgrades/templates/20auto-upgrades  |  2 +
 .../templates/50unattended-upgrades                | 92 ++++++++++++++++++++++
 tools/ansible/tbb-build.yml                        |  1 +
 5 files changed, 115 insertions(+)

diff --git a/tools/ansible/roles/unattended-upgrades/defaults/main.yml b/tools/ansible/roles/unattended-upgrades/defaults/main.yml
new file mode 100644
index 0000000..f6351a7
--- /dev/null
+++ b/tools/ansible/roles/unattended-upgrades/defaults/main.yml
@@ -0,0 +1,2 @@
+---
+unattended_upgrade_mail: 'boklm at mars-attacks.org'
diff --git a/tools/ansible/roles/unattended-upgrades/tasks/main.yml b/tools/ansible/roles/unattended-upgrades/tasks/main.yml
new file mode 100644
index 0000000..de0892b
--- /dev/null
+++ b/tools/ansible/roles/unattended-upgrades/tasks/main.yml
@@ -0,0 +1,18 @@
+---
+
+- name: Install unattended-updates
+  apt:
+      name: unattended-upgrades
+      state: present
+
+- name: Install apt-listchanges
+  apt:
+      name: apt-listchanges
+      state: present
+
+- name: create /etc/apt/apt.conf.d/50unattended-upgrades
+  template: src=50unattended-upgrades dest=/etc/apt/apt.conf.d/50unattended-upgrades mode=0644
+
+- name: create /etc/apt/apt.conf.d/20auto-upgrades
+  template: src=20auto-upgrades dest=/etc/apt/apt.conf.d/20auto-upgrades mode=0644
+
diff --git a/tools/ansible/roles/unattended-upgrades/templates/20auto-upgrades b/tools/ansible/roles/unattended-upgrades/templates/20auto-upgrades
new file mode 100644
index 0000000..8d6d7c8
--- /dev/null
+++ b/tools/ansible/roles/unattended-upgrades/templates/20auto-upgrades
@@ -0,0 +1,2 @@
+APT::Periodic::Update-Package-Lists "1";
+APT::Periodic::Unattended-Upgrade "1";
diff --git a/tools/ansible/roles/unattended-upgrades/templates/50unattended-upgrades b/tools/ansible/roles/unattended-upgrades/templates/50unattended-upgrades
new file mode 100644
index 0000000..d4904ab
--- /dev/null
+++ b/tools/ansible/roles/unattended-upgrades/templates/50unattended-upgrades
@@ -0,0 +1,92 @@
+// Unattended-Upgrade::Origins-Pattern controls which packages are
+// upgraded.
+//
+// Lines below have the format format is "keyword=value,...".  A
+// package will be upgraded only if the values in its metadata match
+// all the supplied keywords in a line.  (In other words, omitted
+// keywords are wild cards.) The keywords originate from the Release
+// file, but several aliases are accepted.  The accepted keywords are:
+//   a,archive,suite (eg, "stable")
+//   c,component     (eg, "main", "crontrib", "non-free")
+//   l,label         (eg, "Debian", "Debian-Security")
+//   o,origin        (eg, "Debian", "Unofficial Multimedia Packages")
+//   n,codename      (eg, "jessie", "jessie-updates")
+//     site          (eg, "http.debian.net")
+// The available values on the system are printed by the command
+// "apt-cache policy", and can be debugged by running
+// "unattended-upgrades -d" and looking at the log file.
+//
+// Within lines unattended-upgrades allows 2 macros whose values are
+// derived from /etc/debian_version:
+//   ${distro_id}            Installed origin.
+//   ${distro_codename}      Installed codename (eg, "jessie")
+Unattended-Upgrade::Origins-Pattern {
+        // Codename based matching:
+        // This will follow the migration of a release through different
+        // archives (e.g. from testing to stable and later oldstable).
+//      "o=Debian,n=jessie";
+//      "o=Debian,n=jessie-updates";
+//      "o=Debian,n=jessie-proposed-updates";
+//      "o=Debian,n=jessie,l=Debian-Security";
+
+        // Archive or Suite based matching:
+        // Note that this will silently match a different release after
+        // migration to the specified archive (e.g. testing becomes the
+        // new stable).
+//      "o=Debian,a=stable";
+//      "o=Debian,a=stable-updates";
+//      "o=Debian,a=proposed-updates";
+        "origin=Debian,codename=${distro_codename},label=Debian-Security";
+};
+
+// List of packages to not update (regexp are supported)
+Unattended-Upgrade::Package-Blacklist {
+//	"vim";
+//	"libc6";
+//	"libc6-dev";
+//	"libc6-i686";
+};
+
+// This option allows you to control if on a unclean dpkg exit
+// unattended-upgrades will automatically run 
+//   dpkg --force-confold --configure -a
+// The default is true, to ensure updates keep getting installed
+//Unattended-Upgrade::AutoFixInterruptedDpkg "false";
+
+// Split the upgrade into the smallest possible chunks so that
+// they can be interrupted with SIGUSR1. This makes the upgrade
+// a bit slower but it has the benefit that shutdown while a upgrade
+// is running is possible (with a small delay)
+//Unattended-Upgrade::MinimalSteps "true";
+
+// Install all unattended-upgrades when the machine is shuting down
+// instead of doing it in the background while the machine is running
+// This will (obviously) make shutdown slower
+//Unattended-Upgrade::InstallOnShutdown "true";
+
+// Send email to this address for problems or packages upgrades
+// If empty or unset then no email is sent, make sure that you
+// have a working mail setup on your system. A package that provides
+// 'mailx' must be installed. E.g. "user at example.com"
+Unattended-Upgrade::Mail "{{ unattended_upgrade_mail }}";
+
+// Set this value to "true" to get emails only on errors. Default
+// is to always send a mail if Unattended-Upgrade::Mail is set
+//Unattended-Upgrade::MailOnlyOnError "true";
+
+// Do automatic removal of new unused dependencies after the upgrade
+// (equivalent to apt-get autoremove)
+//Unattended-Upgrade::Remove-Unused-Dependencies "false";
+
+// Automatically reboot *WITHOUT CONFIRMATION* if
+//  the file /var/run/reboot-required is found after the upgrade 
+//Unattended-Upgrade::Automatic-Reboot "false";
+
+// If automatic reboot is enabled and needed, reboot at the specific
+// time instead of immediately
+//  Default: "now"
+//Unattended-Upgrade::Automatic-Reboot-Time "02:00";
+
+// Use apt bandwidth limit feature, this example limits the download
+// speed to 70kb/sec
+//Acquire::http::Dl-Limit "70";
diff --git a/tools/ansible/tbb-build.yml b/tools/ansible/tbb-build.yml
index 9f76b67..3d9f543 100644
--- a/tools/ansible/tbb-build.yml
+++ b/tools/ansible/tbb-build.yml
@@ -6,3 +6,4 @@
       - role: useful-packages
       - role: tbb-team
       - role: mta
+      - role: unattended-upgrades



More information about the tbb-commits mailing list