[Fuel-plugin] Install kernel in post-deployment. 75/21475/1
authorMichal Skalski <mskalski@mirantis.com>
Sun, 18 Sep 2016 12:16:16 +0000 (14:16 +0200)
committerMichal Skalski <mskalski@mirantis.com>
Mon, 19 Sep 2016 15:43:26 +0000 (15:43 +0000)
Install kernel and reboot compute nodes in post-deployment phase when
there is less chance to interfere with other tasks. Implement Michael's
suggestion to use reboot puppet module.

Change-Id: I83867e5e2752c39d2b69c950e3e475d43de04466
Signed-off-by: Michal Skalski <mskalski@mirantis.com>
(cherry picked from commit a10a10b373f17dc423800e6bb8d1a8e99450090d)

.gitignore [new file with mode: 0644]
fuel-plugin/deployment_scripts/puppet/manifests/kvm-install.pp
fuel-plugin/deployment_scripts/puppet/modules/.gitkeep [new file with mode: 0644]
fuel-plugin/deployment_tasks.yaml
fuel-plugin/pre_build_hook

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..23e4409
--- /dev/null
@@ -0,0 +1,4 @@
+*.rpm
+*.deb
+fuel-plugin/.build/
+fuel-plugin/deployment_scripts/puppet/modules/reboot
index a396e94..4c04aa0 100644 (file)
@@ -1,15 +1,16 @@
-$fuel_settings = parseyaml(file('/etc/astute.yaml'))
+$kvm_settings = hiera('fuel-plugin-kvm')
 if $operatingsystem == 'Ubuntu' {
-        if $fuel_settings['fuel-plugin-kvm']['use_kvm'] {
+        if $kvm_settings['use_kvm'] {
                 package { 'linux-headers-4.4.6-rt14nfv':
                         ensure => "1.0.OPNFV",
+                        notify => Reboot['after_run'],
                 } ->
                 package { 'linux-image-4.4.6-rt14nfv':
                         ensure => "1.0.OPNFV",
-                } ->
-                exec {'reboot':
-                       command => "reboot",
-                       path   => "/usr/bin:/usr/sbin:/bin:/sbin",
+                        notify => Reboot['after_run'],
+                }
+                reboot { 'after_run':
+                    apply => finished,
                 }
         } else {
         }
diff --git a/fuel-plugin/deployment_scripts/puppet/modules/.gitkeep b/fuel-plugin/deployment_scripts/puppet/modules/.gitkeep
new file mode 100644 (file)
index 0000000..e69de29
index f6e31e3..0aee295 100644 (file)
@@ -1,10 +1,10 @@
 - id: kvm_install
   type: puppet
   version: 2.0.0
-  groups: [compute]
-  required_for: [firewall]
-  requires: [tools]
+  role: [compute]
+  required_for: [post_deployment_end]
+  requires: [post_deployment_start]
   parameters:
     puppet_manifest: puppet/manifests/kvm-install.pp
     puppet_modules: puppet/modules:/etc/puppet/modules
-    timeout: 720
+    timeout: 1200
index a3c8832..259862f 100755 (executable)
@@ -4,6 +4,10 @@ set -eux
 
 BUILD_FOR=${BUILD_FOR:-ubuntu}
 DIR="$(dirname `readlink -f $0`)"
+MODULES="${DIR}/deployment_scripts/puppet/modules"
+
+REBOOT_VER='1.2.1'
+REBOOT_URL="https://github.com/puppetlabs/puppetlabs-reboot/archive/${REBOOT_VER}.tar.gz"
 
 function build_pkg {
   case $1 in
@@ -25,3 +29,7 @@ for system in $BUILD_FOR
 do
   build_pkg $system
 done
+
+rm -rf ${MODULES}/reboot
+mkdir -p ${MODULES}/reboot
+wget -qO- ${REBOOT_URL} |  tar -C ${MODULES}/reboot --strip-components=1 -zxvf -