From ecb6b54b5f359f69602e23585b4252b7d2bcfc41 Mon Sep 17 00:00:00 2001
From: Monty Taylor <mordred@inaugust.com>
Date: Sun, 19 Oct 2014 11:58:57 -0700
Subject: [PATCH] Split haveged into its own class

We need it on KDC hosts too, so let's split it out so we can consume
it there.

Change-Id: Ib913694cc0fb9d09b1560acfde0b771192da3fdc
---
 modules/haveged/manifests/init.pp   | 13 +++++++++++++
 modules/jenkins/manifests/params.pp |  2 --
 modules/jenkins/manifests/slave.pp  |  6 +-----
 3 files changed, 14 insertions(+), 7 deletions(-)
 create mode 100644 modules/haveged/manifests/init.pp

diff --git a/modules/haveged/manifests/init.pp b/modules/haveged/manifests/init.pp
new file mode 100644
index 0000000000..0a5fb49ba6
--- /dev/null
+++ b/modules/haveged/manifests/init.pp
@@ -0,0 +1,13 @@
+# Install and run haveged to provide entropy
+class haveged {
+
+  package { 'haveged':
+    ensure => present,
+  }
+
+  service { 'haveged':
+    enable  => true,
+    require => Package[haveged],
+  }
+
+}
diff --git a/modules/jenkins/manifests/params.pp b/modules/jenkins/manifests/params.pp
index aef76860c7..57a09bd8b2 100644
--- a/modules/jenkins/manifests/params.pp
+++ b/modules/jenkins/manifests/params.pp
@@ -10,7 +10,6 @@ class jenkins::params {
       $jdk_package = 'java-1.7.0-openjdk-devel'
       $ccache_package = 'ccache'
       $python_netaddr_package = 'python-netaddr'
-      $haveged_package = 'haveged'
       # FIXME: No Maven packages on RHEL
       #$maven_package = 'maven'
       $cgroups_package = 'libcgroup'
@@ -35,7 +34,6 @@ class jenkins::params {
       $jdk_package = 'openjdk-7-jdk'
       $ccache_package = 'ccache'
       $python_netaddr_package = 'python-netaddr'
-      $haveged_package = 'haveged'
       $maven_package = 'maven2'
       $ruby1_9_1_package = 'ruby1.9.1'
       $ruby1_9_1_dev_package = 'ruby1.9.1-dev'
diff --git a/modules/jenkins/manifests/slave.pp b/modules/jenkins/manifests/slave.pp
index 975ddd8595..9691c7d34b 100644
--- a/modules/jenkins/manifests/slave.pp
+++ b/modules/jenkins/manifests/slave.pp
@@ -9,6 +9,7 @@ class jenkins::slave(
   $gerrituser = 'jenkins',
 ) {
 
+  include haveged
   include pip
   include jenkins::params
 
@@ -29,7 +30,6 @@ class jenkins::slave(
     $::jenkins::params::jdk_package, # jdk for building java jobs
     $::jenkins::params::ccache_package,
     $::jenkins::params::python_netaddr_package, # Needed for devstack address_in_net()
-    $::jenkins::params::haveged_package, # entropy is useful to have
   ]
 
   file { '/etc/apt/sources.list.d/cloudarchive.list':
@@ -172,8 +172,4 @@ class jenkins::slave(
     mode   => '0755',
   }
 
-  service { 'haveged':
-    enable  => true,
-    require => Package[$::jenkins::params::haveged_package],
-  }
 }