[fuel-plugin] Employ dedicated reboot task
[kvmfornfv.git] / fuel-plugin / deployment_scripts / puppet / manifests / kvm-install.pp
index 4c04aa0..fba3e38 100644 (file)
@@ -1,18 +1,32 @@
 $kvm_settings = hiera('fuel-plugin-kvm')
-if $operatingsystem == 'Ubuntu' {
-        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",
-                        notify => Reboot['after_run'],
-                }
-                reboot { 'after_run':
-                    apply => finished,
-                }
-        } else {
-        }
-} elsif $operatingsystem == 'CentOS' {
+
+case $::operatingsystem {
+  'Ubuntu': {
+    $version         = '4.4.6-rt14nfv'
+    $kernel_kit      = ["linux-headers-${version}", "linux-image-${version}"]
+    $kernel_src      = "/usr/src/linux-headers-${version}"
+    $kernel_src_link = "/lib/modules/${version}/build"
+  }
+  default: {
+    fail("Unsupported operating system: ${::osfamily}/${::operatingsystem}")
+  }
+
+}
+
+if $kvm_settings['use_kvm'] {
+  $ensure_pkg  = '1.0.OPNFV'
+  $ensure_link = 'link'
+} else {
+  $ensure_pkg  = 'purged'
+  $ensure_link = 'absent'
+}
+
+package { $kernel_kit:
+  ensure => $ensure_pkg,
+  before => File[$kernel_src_link],
+}
+
+file { $kernel_src_link:
+  ensure => $ensure_link,
+  target => $kernel_src,
 }