From 83d1d30e720694148a7f77ab76a475c4b6e33316 Mon Sep 17 00:00:00 2001
From: Tushar Gohad <tushar.gohad@intel.com>
Date: Tue, 17 Nov 2015 14:42:57 -0700
Subject: [PATCH] Add liberasurecode to CI slaves for Swift/PyECLib

Swift requirement PyECLib won't bundle liberasurecode
going forward, given the package is available in common
distros now.  This patch adds liberasurecode-dev
package to the CI slave image as a PyECLib dependency.
CI slave flavors covered are Ubuntu precise/trusty,
Centos7, and Fedora 22 or later.

Change-Id: I57997f7e6b6f5258220f173de48292a0d06b5876
---
 .../manifests/jenkins_params.pp               |  2 ++
 .../manifests/thick_slave.pp                  | 19 +++++++++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/modules/openstack_project/manifests/jenkins_params.pp b/modules/openstack_project/manifests/jenkins_params.pp
index fe396c864a..f80025e00e 100644
--- a/modules/openstack_project/manifests/jenkins_params.pp
+++ b/modules/openstack_project/manifests/jenkins_params.pp
@@ -29,6 +29,7 @@ class openstack_project::jenkins_params {
       $libsasl_dev = 'cyrus-sasl-devel'
       $nspr_dev_package = 'nspr-devel'
       $sqlite_dev_package = 'sqlite-devel'
+      $liberasurecode_dev_package = 'liberasurecode-devel'
       $libevent_dev_package = 'libevent-devel'
       $libpcap_dev_package = 'libpcap-devel'
       $libvirt_dev_package = 'libvirt-devel'
@@ -115,6 +116,7 @@ class openstack_project::jenkins_params {
       $libevent_dev_package = 'libevent-dev'
       $libpcap_dev_package = 'libpcap-dev'
       $ldap_dev_package = 'libldap2-dev'
+      $liberasurecode_dev_package = 'liberasurecode-dev'
       $libjerasure_dev_package = 'libjerasure-dev'
       $librrd_dev_package = 'librrd-dev'
       # packages needed by document translation
diff --git a/modules/openstack_project/manifests/thick_slave.pp b/modules/openstack_project/manifests/thick_slave.pp
index 45af0eca4c..7fcc26da34 100644
--- a/modules/openstack_project/manifests/thick_slave.pp
+++ b/modules/openstack_project/manifests/thick_slave.pp
@@ -134,6 +134,20 @@ class openstack_project::thick_slave(
         package { $::openstack_project::jenkins_params::mysql_package:
             ensure => present,
         }
+        if ($::operatingsystemrelease >= 22) {
+          # For pyeclib, used by swift
+          package { $::openstack_project::jenkins_params::liberasurecode_dev_package:
+            ensure => present,
+          }
+        }
+      }
+      elsif ($::operatingsystem == 'CentOS') {
+        if ($::operatingsystemmajrelease >= '7') {
+          # For pyeclib, used by swift
+          package { $::openstack_project::jenkins_params::liberasurecode_dev_package:
+            ensure => present,
+          }
+        }
       }
     }
     'Debian': {
@@ -146,6 +160,11 @@ class openstack_project::thick_slave(
       package { $::openstack_project::jenkins_params::php5_mcrypt_package:
         ensure => present,
       }
+
+      # For pyeclib, used by swift
+      package { $::openstack_project::jenkins_params::liberasurecode_dev_package:
+        ensure => present,
+      }
     }
   }
   package { 'rake':