Install puppetmaster depenencies from puppetlabs repo

This commit is contained in:
Ossi Salmi 2013-05-26 22:05:43 +03:00
parent 658c9e74a4
commit fc8bf5fbba
3 changed files with 50 additions and 29 deletions

View file

@ -265,7 +265,7 @@ class puppet::server::common inherits puppet::client {
}
if $puppet_storeconfigs != "none" {
require ruby::rails
require ruby::activerecord
case $puppet_dbadapter {
"sqlite3": {
require ruby::sqlite3

View file

@ -23,6 +23,26 @@ class ruby::rubygems {
}
# Install activerecord.
#
class ruby::activerecord {
if $::operatingsystem in ["CentOS","RedHat"] and versioncmp($::operatingsystemrelease, "6") >= 0 {
require yum::repo::puppetlabs::dependencies
}
package { "rubygem-activerecord":
ensure => installed,
name => $::operatingsystem ? {
"debian" => regsubst($::rubyversion, '^([0-9]+\.[0-9]+)\..*', 'libactiverecord-ruby\1'),
"ubuntu" => regsubst($::rubyversion, '^([0-9]+\.[0-9]+)\..*', 'libactiverecord-ruby\1'),
default => "rubygem-activerecord",
},
}
}
# Install mysql ruby bindings.
#
class ruby::mysql {
@ -109,24 +129,6 @@ class ruby::rrd {
class ruby::sqlite3 {
case $::operatingsystem {
"centos","redhat": {
if $::operatingsystemrelease =~ /^[1-5]/ {
package { "rubygem-sqlite3-ruby":
ensure => installed,
}
} else {
require ruby::rubygems
package { [ "sqlite", "sqlite-devel", ]:
ensure => installed,
before => Package["rubygem-sqlite3"],
}
package { "rubygem-sqlite3":
ensure => installed,
name => "sqlite3",
provider => "gem",
}
}
}
default: {
package { "rubygem-sqlite3-ruby":
ensure => installed,

View file

@ -447,18 +447,19 @@ class yum::repo::skype {
}
# Add Puppetlabs repositories
#
class yum::repo::puppetlabs {
include yum::repo::puppetlabs::dependencies
case $::operatingsystem {
"fedora": {
$products = "fedora/f\$releasever/products/\$basearch"
$dependencies = "fedora/f\$releasever/dependencies/\$basearch"
$path = "fedora/f\$releasever/products/\$basearch"
}
"centos","redhat": {
$products = "el/\$releasever/products/\$basearch"
$dependencies = "el/\$releasever/dependencies/\$basearch"
$path = "el/\$releasever/products/\$basearch"
}
default: {
fail("yum::repo::puppetlabs not supported in ${::operatingsystem}")
@ -467,12 +468,30 @@ class yum::repo::puppetlabs {
yum::repo { "puppetlabs":
descr => "Puppet Labs Packages - Products",
baseurl => "https://yum.puppetlabs.com/${products}",
gpgkey => "https://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs",
}
yum::repo { "puppetlabs-dependencies":
descr => "Puppet Labs Packages - Dependencies",
baseurl => "https://yum.puppetlabs.com/${dependencies}",
baseurl => "https://yum.puppetlabs.com/${path}",
gpgkey => "https://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs",
}
}
class yum::repo::puppetlabs::dependencies {
case $::operatingsystem {
"fedora": {
$path = "fedora/f\$releasever/dependencies/\$basearch"
}
"centos","redhat": {
$path = "el/\$releasever/dependencies/\$basearch"
}
default: {
fail("yum::repo::puppetlabs::dependencies not supported in ${::operatingsystem}")
}
}
yum::repo { "puppetlabs-dependencies":
descr => "Puppet Labs Packages - Dependencies",
baseurl => "https://yum.puppetlabs.com/${path}",
gpgkey => "https://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs",
}