summaryrefslogtreecommitdiff
path: root/roles/upgrade/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/upgrade/tasks/main.yml')
-rw-r--r--roles/upgrade/tasks/main.yml36
1 files changed, 36 insertions, 0 deletions
diff --git a/roles/upgrade/tasks/main.yml b/roles/upgrade/tasks/main.yml
new file mode 100644
index 00000000..df7360de
--- /dev/null
+++ b/roles/upgrade/tasks/main.yml
@@ -0,0 +1,36 @@
+---
+- name: Update packages list
+ apt:
+ update_cache: yes
+
+- name: List packages to upgrade (1/2)
+ command: aptitude -q -F%p --disable-columns search '~U !~ahold'
+ check_mode: no
+ register: updates
+ changed_when: False
+ failed_when: updates.rc != 0 and updates.rc != 1
+
+- name: List packages to upgrade (2/2)
+ debug:
+ msg: "{{ updates.stdout_lines | count }} packages to upgrade ({{ updates.stdout_lines | join(', ') }})"
+ when: updates.stdout_lines
+
+- name: Upgrade packages
+ apt:
+ upgrade: safe
+
+- name: List services to restart (1/2)
+ shell: checkrestart | grep ^service | awk '{print $2}'
+ check_mode: no
+ register: services
+ changed_when: False
+
+- name: List services to restart (2/2)
+ debug:
+ msg: "{{ services.stdout_lines | count }} services to restart ({{ services.stdout_lines | join (', ') }})"
+ when: services.stdout_lines
+
+- name: clean apt-cache and remove stale packages
+ apt:
+ autoclean: yes
+ autoremove: yes