summaryrefslogtreecommitdiffstats
path: root/patches/opnfv-fuel/0014-baremetal-linux-image-generic-hwe-16.04-edge.patch
blob: 510b96f70538cf552d4c17fe6db69835cdff0f8a (plain)
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
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
: Copyright (c) 2017 Enea AB and others.
:
: All rights reserved. This program and the accompanying materials
: are made available under the terms of the Apache License, Version 2.0
: which accompanies this distribution, and is available at
: http://www.apache.org/licenses/LICENSE-2.0
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Date: Sun, 5 Nov 2017 21:02:17 +0100
Subject: [PATCH] baremetal: linux-image-generic-hwe-16.04-edge

The Salt way to pin the kernel version is via its reclass model, by
defining system.kernel.version. However, this only works with
explicit kernel package names and not with meta package names
(e.g. linux-image-4.13.0-9916-generic is expected instead of
      linux-image-generic-hwe-16.04-edge, which would break the
`linux_kernel_old_absent` state).

For now, let's explicitly call `pkg.install` for the kernel and
headers packages, using the meta package name to ensure automatic
fallback to Ubuntu packages if Armband repos are missing,
respectively to automatically pick up new kernel package names
in case of meta + kernel packages bump later.

JIRA: ARMBAND-280
JIRA: ARMBAND-330

Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
 mcp/config/states/virtual_control_plane | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/mcp/config/states/virtual_control_plane b/mcp/config/states/virtual_control_plane
index 585a808..373281d 100755
--- a/mcp/config/states/virtual_control_plane
+++ b/mcp/config/states/virtual_control_plane
@@ -27,9 +27,12 @@ salt -C 'kvm* or cmp*' file.replace $debian_ip_source \
 salt -C 'kvm*' pkg.install bridge-utils
 salt -C '*' state.apply opnfv.adduser
 salt -C 'kvm*' state.apply linux.network
-salt -C 'cmp*' state.apply linux.system
+salt -C 'kvm* or cmp*' state.apply linux.system
 salt -C 'cmp*' state.apply linux.network || true
 salt -C 'kvm*' state.apply armband.bootstrap_script_arm64 || true
+# NOTE(armband): Should be later moved to reclass as system.kernel.version
+salt -C 'kvm* or cmp*' pkg.install \
+  linux-image-generic-hwe-16.04-edge,linux-headers-generic-hwe-16.04-edge
 salt -C 'kvm* or cmp*' system.reboot
 wait_for 90 "! salt -C 'kvm* or cmp*' test.ping | " \
   "tee /dev/stderr | grep -Fq 'Not connected'"
@@ -69,3 +72,10 @@ wait_for 10 "! salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' state.apply linux,ntp |

 wait_for 10 "salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' ssh.set_auth_key ${SUDO_USER} \
   $(awk 'NR==1{print $2}' "$(eval echo "~${SUDO_USER}/.ssh/authorized_keys")")"
+
+# NOTE(armband): Should be later moved to reclass as system.kernel.version
+salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' pkg.install \
+  linux-image-generic-hwe-16.04-edge,linux-headers-generic-hwe-16.04-edge
+salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' system.reboot
+wait_for 90 "! salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' test.ping | " \
+  "tee /dev/stderr | grep -Fq 'Not connected'"