From 833c1269c7941498787d49ce879be6c283728407 Mon Sep 17 00:00:00 2001
From: Carlos Cesario <carloscesario@gmail.com>
Date: Tue, 29 Mar 2016 21:48:37 -0300
Subject: [PATCH] Added precheck to check kernel version 4.2 on Ubuntu 14.04.

Kolla recommends LTS wily kernel version 4.2 on Ubuntu 14.04.

http://docs.openstack.org/developer/kolla/quickstart.html#installing-dependencies

The precheck check the running kernel version, because checking
the linux-image-generic-lts-wily cannot be a valid check.

The package (linux-image-generic-lts-wily) can be installed, but
the running kernel can be other version.

Closes-Bug: #1563500
Co-Authored-By: Vikram Hosakote <vhosakot@cisco.com>
Change-Id: I4e08bca95493b2dbd0ad5f8d1ea4e07b18c4959d
---
 ansible/roles/prechecks/tasks/package_checks.yml | 9 +++++++++
 ansible/roles/prechecks/vars/main.yml            | 1 +
 2 files changed, 10 insertions(+)

diff --git a/ansible/roles/prechecks/tasks/package_checks.yml b/ansible/roles/prechecks/tasks/package_checks.yml
index ef8147fd99..1bdd44e1a3 100644
--- a/ansible/roles/prechecks/tasks/package_checks.yml
+++ b/ansible/roles/prechecks/tasks/package_checks.yml
@@ -11,3 +11,12 @@
   register: result
   changed_when: false
   failed_when: result.stdout | regex_replace('ansible (\\d+\\.\\d+\\.\\d+)', '\\1') | version_compare(ansible_version_max, '>=')
+
+# If this fails run "apt-get install linux-image-generic-lts-wily"
+- name: Checking LTS wily kernel version 4.2 on Ubuntu 14.04
+  command: uname -r
+  register: result
+  changed_when: false
+  failed_when: result.stdout | regex_replace('(\\d+\\.\\d+).*', '\\1') | version_compare(ubuntu_kernel_version_min, '<')
+  when:
+    - ansible_distribution == 'Ubuntu' and ansible_distribution_version == '14.04'
diff --git a/ansible/roles/prechecks/vars/main.yml b/ansible/roles/prechecks/vars/main.yml
index 3de7faad14..c8c94b048d 100644
--- a/ansible/roles/prechecks/vars/main.yml
+++ b/ansible/roles/prechecks/vars/main.yml
@@ -1,3 +1,4 @@
 docker_version_min: '1.10.0'
 docker_py_version_min: '1.6.0'
 ansible_version_max: '2.0.0'
+ubuntu_kernel_version_min: '4.2'