4 231
modifications
Ligne 41 : | Ligne 41 : | ||
=playbook= | =playbook= | ||
==Playbook de mise à jour de serveur avec aptitude== | |||
Ce playbook nécessite la présence des paquets suivant sur les serveurs cibles : <pre>debian-goodies lsb-release</pre><br> | |||
Il vous permet de mettre à jour très facilement vos serveurs. | |||
Le fichier d'origine, quelque peu modifié, est accessible ici : https://gist.github.com/maethor/380676f6b1cec8cc7439#file-debian_upgrade-yml | |||
<pre> | |||
--- | |||
- hosts: all | |||
remote_user: root | |||
tasks: | |||
- name: Update packages list | |||
apt: update_cache=yes | |||
when: ansible_os_family == 'Debian' | |||
- name: List packages to upgrade (1/2) | |||
shell: aptitude -q -F%p --disable-columns search "~U" | |||
register: updates | |||
changed_when: False | |||
when: ansible_os_family == 'Debian' | |||
- name: List packages to upgrade (2/2) | |||
debug: msg="{{ updates.stdout_lines | count }} packages to upgrade ({{ updates.stdout_lines | join(', ') }})" | |||
when: (ansible_os_family == 'Debian' and updates.stdout_lines) | |||
- name: Upgrade packages | |||
apt: upgrade=safe | |||
when: (ansible_os_family == 'Debian' and updates.stdout_lines) | |||
- name: Check what the new version is | |||
shell: lsb_release -r | awk '{print $2}' | |||
changed_when: False | |||
register: new_release | |||
- name: Notify distribution version upgrade | |||
debug: msg="Debian has been upgraded from {{ ansible_lsb.release }} to {{ new_release.stdout }}" | |||
when: ansible_lsb.release != new_release.stdout | |||
- name: List services to restart (1/2) | |||
shell: checkrestart | grep ^service | awk '{print $2}' | |||
register: services | |||
changed_when: False | |||
when: ansible_os_family == 'Debian' | |||
- name: List services to restart (2/2) | |||
debug: msg="{{ services.stdout_lines | count }} services to restart ({{ services.stdout_lines | join (', ') }})" | |||
when: (ansible_os_family == 'Debian' and services.stdout_lines) | |||
</pre> |