-
Notifications
You must be signed in to change notification settings - Fork 202
/
kernel_check_and_update.yml
62 lines (57 loc) · 2.11 KB
/
kernel_check_and_update.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
- name: Install backported trusty kernel onto 12.04
apt:
pkg: "{{ item }}"
state: "{{ kernel_pkg_state }}"
update_cache: yes
cache_valid_time: 600
with_items:
- linux-image-generic-lts-trusty
- linux-headers-generic-lts-trusty
register: kernel_result
when: "ansible_distribution_version|version_compare(12.04, '=')"
- name: Install Xorg packages for backported kernels (very optional)
apt:
pkg: "{{ item }}"
state: installed
update_cache: yes
cache_valid_time: 600
with_items:
- xserver-xorg-lts-trusty
- libgl1-mesa-glx-lts-trusty
register: xorg_pkg_result
when: "install_xorg_pkgs and (kernel_result|changed or kernel_result|success)"
- name: Install latest kernel extras for Ubuntu 13.04+
apt:
pkg: "linux-image-extra-{{ ansible_kernel }}"
state: "{{ kernel_pkg_state }}"
update_cache: yes
cache_valid_time: 600
when: "ansible_distribution_version|version_compare(13.04, '=')
or ansible_distribution_version|version_compare(13.10, '=')
or install_kernel_extras"
# Fix for https://github.com/dotcloud/docker/issues/4568
- name: Install cgroup-lite for Ubuntu 13.10
apt:
pkg: cgroup-lite
state: "{{ cgroup_lite_pkg_state }}"
update_cache: yes
cache_valid_time: 600
register: cgroup_lite_result
when: "ansible_distribution_version|version_compare(13.10, '=')"
- name: Reboot instance
command: /sbin/shutdown -r now
register: reboot_result
when: "(ansible_distribution_version|version_compare(12.04, '=') and kernel_result|changed)
or (ansible_distribution_version|version_compare(13.10, '=') and cgroup_lite_result|changed)
or xorg_pkg_result|changed"
- name: Wait for instance to come online (10 minute timeout)
sudo: false
local_action:
module: wait_for
host: "{{ ansible_ssh_host|default(inventory_hostname) }}"
port: "{{ ansible_ssh_port|default(ssh_port) }}"
delay: 30
timeout: 600
state: started
when: "(ansible_distribution_version|version_compare(12.04, '=') and reboot_result|changed)
or (ansible_distribution_version|version_compare(13.10, '=') and cgroup_lite_result|changed)"