#!/bin/bash # Copyright 2013 OpenStack Foundation. # Copyright 2013 Hewlett-Packard Development Company, L.P. # Copyright 2013 Red Hat, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # Install puppet version 2.7.x from puppetlabs. # 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 "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 cat > /etc/yum.repos.d/puppetlabs.repo <<"EOF" [puppetlabs-products] name=Puppet Labs Products El 6 - $basearch baseurl=http://yum.puppetlabs.com/el/6/products/$basearch gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs enabled=1 gpgcheck=1 exclude=puppet-2.8* puppet-2.9* puppet-3* EOF yum update -y # NOTE: enable the optional-rpms channel (if not already enabled) # yum-config-manager --enable rhel-6-server-optional-rpms # NOTE: we preinstall lsb_release to ensure facter sets lsbdistcodename yum install -y redhat-lsb-core git puppet else #defaults to Ubuntu cat > /etc/apt/preferences.d/00-puppet.pref <