From 06d6dac141d927fa23f346612778c58aa9e1e05e Mon Sep 17 00:00:00 2001 From: Ossi Salmi Date: Wed, 6 Jun 2012 12:42:12 +0300 Subject: [PATCH] Moved package resources from puppet module into ruby module --- puppet/manifests/init.pp | 59 +++------------------ ruby/manifests/init.pp | 111 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 118 insertions(+), 52 deletions(-) diff --git a/puppet/manifests/init.pp b/puppet/manifests/init.pp index d37c9b3..6efd271 100644 --- a/puppet/manifests/init.pp +++ b/puppet/manifests/init.pp @@ -258,65 +258,20 @@ class puppet::server::common inherits puppet::client { } if $puppet_storeconfigs != "none" { - case $operatingsystem { - "centos": { - if $operatingsystemrelease =~ /^[1-5]/ { - package { [ "rubygem-rails", - "rubygem-sqlite3-ruby", ]: - ensure => installed, - } - } else { - require ruby::rubygems - package { "rubygem-rails": - name => "rails", - ensure => "2.3.14", - provider => "gem", - } - package { [ "sqlite", "sqlite-devel", ]: - ensure => installed, - before => Package["rubygem-sqlite3"], - } - package { "rubygem-sqlite3": - name => "sqlite3", - ensure => installed, - provider => "gem", - } - } + case $puppet_dbadapter { + "sqlite3": { + require ruby::sqlite3 } - "debian","ubuntu": { - package { [ "rails", - regsubst($rubyversion, '^([0-9]+\.[0-9]+)\..*', 'libsqlite3-ruby\1'), ]: - ensure => installed, - } - } - "openbsd": { - package { [ "ruby-rails", - "ruby-sqlite3", ]: - ensure => installed, - } + "mysql": { + require ruby::mysql } default: { - package { [ "rubygem-rails", - "rubygem-sqlite3-ruby", ]: - ensure => installed, - } + fail("Invalid value ${puppet_dbadapter} for variable \$puppet_dbadapter.") } } } - package { "ruby-rrd": - name => $operatingsystem ? { - centos => $operatingsystemrelease ? { - /^[1-5]/ => "ruby-RRDtool", - default => "rrdtool-ruby", - }, - debian => regsubst($rubyversion, '^([0-9]+\.[0-9]+)\..*', 'librrd-ruby\1'), - ubuntu => regsubst($rubyversion, '^([0-9]+\.[0-9]+)\..*', 'librrd-ruby\1'), - openbsd => "ruby-rrd", - default => "ruby-RRDtool", - }, - ensure => installed, - } + include ruby::rrd if $puppet_datadir { file { $puppet_datadir: diff --git a/ruby/manifests/init.pp b/ruby/manifests/init.pp index 7d0a62f..a3ebb31 100644 --- a/ruby/manifests/init.pp +++ b/ruby/manifests/init.pp @@ -21,3 +21,114 @@ class ruby::rubygems { } } + + +# Install mysql ruby bindings. +# +class ruby::mysql { + + package { "ruby-mysql": + ensure => installed, + name => $operatingsystem ? { + "debian" => regsubst($rubyversion, '^([0-9]+\.[0-9]+)\..*', 'libmysql-ruby\1'), + "ubuntu" => regsubst($rubyversion, '^([0-9]+\.[0-9]+)\..*', 'libmysql-ruby\1'), + default => "ruby-mysql", + }, + } + +} + + +# Install rails. +# +class ruby::rails { + + case $operatingsystem { + "centos": { + if $operatingsystemrelease =~ /^[1-5]/ { + package { "rubygem-rails": + ensure => installed, + } + } else { + require ruby::rubygems + package { "rubygem-rails": + name => "rails", + ensure => "2.3.14", + provider => "gem", + } + } + } + default: { + package { "rubygem-rails": + ensure => installed, + name => $operatingsystem ? { + "debian" => "rails", + "ubuntu" => "rails", + "openbsd" => "ruby-rails", + default => "rubygem-rails", + }, + } + } + } + +} + + +# Install rrd ruby bindings. +# +class ruby::rrd { + + package { "ruby-rrd": + ensure => installed, + name => $operatingsystem ? { + centos => $operatingsystemrelease ? { + /^[1-5]/ => "ruby-RRDtool", + default => "rrdtool-ruby", + }, + debian => regsubst($rubyversion, '^([0-9]+\.[0-9]+)\..*', 'librrd-ruby\1'), + ubuntu => regsubst($rubyversion, '^([0-9]+\.[0-9]+)\..*', 'librrd-ruby\1'), + openbsd => "ruby-rrd", + default => "ruby-RRDtool", + }, + } + +} + + +# Install sqlite3 ruby bindings. +# +class ruby::sqlite3 { + + case $operatingsystem { + "centos": { + 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": + name => "sqlite3", + ensure => installed, + provider => "gem", + } + } + } + default: { + package { "rubygem-sqlite3-ruby": + ensure => installed, + name => $operatingsystem ? { + "debian" => regsubst($rubyversion, '^([0-9]+\.[0-9]+)\..*', 'libsqlite3-ruby\1'), + "ubuntu" => regsubst($rubyversion, '^([0-9]+\.[0-9]+)\..*', 'libsqlite3-ruby\1'), + "openbsd" => "ruby-sqlite3", + default => "rubygem-sqlite3-ruby", + }, + } + } + } + +}