From 42078ca25abb30a5dd1181b9ab83ac6c302266e0 Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Mon, 10 Jun 2013 14:50:50 -0400 Subject: [PATCH] Add support for Fedora 18 to install_puppet.sh. Fedora 18 uses puppet2.7 natively so we use that and gem install hiera. Also updates our openstack_project:base manifest so that we upgrade hiera via the gem provider. Change-Id: I2ad8c1a81f9955f6de7812f72075fae84f7f7d7f NOTE: puppetlabs only provides puppet > 3 for Fedora 18 anyway. Reviewed-on: https://review.openstack.org/32449 Reviewed-by: James E. Blair Approved: Clark Boylan Reviewed-by: Clark Boylan Tested-by: Jenkins --- install_puppet.sh | 14 +++++++++++++- modules/openstack_project/manifests/base.pp | 15 +++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/install_puppet.sh b/install_puppet.sh index edf296db0d..759f21d7e6 100755 --- a/install_puppet.sh +++ b/install_puppet.sh @@ -20,7 +20,19 @@ # The repo and preferences files are also managed by puppet, so be sure # to keep them in sync with this file. -if cat /etc/*release | grep -e "CentOS" -e "Red Hat" &> /dev/null; then +if cat /etc/*release | grep -e "Fedora" &> /dev/null; then + + yum update -y + + # NOTE: we preinstall lsb_release to ensure facter sets lsbdistcodename + yum install -y redhat-lsb-core git puppet + + gem install hiera hiera-puppet + + mkdir -p /etc/puppet/modules/ + ln -s /usr/local/share/gems/gems/hiera-puppet-* /etc/puppet/modules/ + +elif cat /etc/*release | grep -e "CentOS" -e "Red Hat" &> /dev/null; then rpm -qi epel-release &> /dev/null || rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -ivh http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-6.noarch.rpm diff --git a/modules/openstack_project/manifests/base.pp b/modules/openstack_project/manifests/base.pp index 48806a3c1a..5e866e1648 100644 --- a/modules/openstack_project/manifests/base.pp +++ b/modules/openstack_project/manifests/base.pp @@ -31,6 +31,21 @@ class openstack_project::base( } } + if ($::operatingsystem == 'Fedora') { + + package { 'hiera': + ensure => latest, + provider => 'gem', + } + + exec { 'symlink hiera modules' : + command => 'ln -s /usr/local/share/gems/gems/hiera-puppet-* /etc/puppet/modules/', + subscribe => Package['hiera'], + refreshonly => true, + } + + } + package { $::openstack_project::params::packages: ensure => present }