diff options
Diffstat (limited to 'puppet/modules')
-rw-r--r-- | puppet/modules/site_config/manifests/packages/base.pp | 15 | ||||
-rw-r--r-- | puppet/modules/site_config/manifests/ruby/dev.pp | 6 | ||||
-rw-r--r-- | puppet/modules/site_nickserver/manifests/init.pp | 12 | ||||
-rw-r--r-- | puppet/modules/site_webapp/manifests/init.pp | 8 |
4 files changed, 27 insertions, 14 deletions
diff --git a/puppet/modules/site_config/manifests/packages/base.pp b/puppet/modules/site_config/manifests/packages/base.pp index d93e194b..94ff679b 100644 --- a/puppet/modules/site_config/manifests/packages/base.pp +++ b/puppet/modules/site_config/manifests/packages/base.pp @@ -6,7 +6,7 @@ class site_config::packages::base { } # base set of packages that we want to remove everywhere - package { [ 'acpi', 'acpid', 'acpi-support-base', 'eject', 'ftp', + package { [ 'acpi', 'acpid', 'acpi-support-base', 'eject', 'ftp', 'fontconfig-config', 'laptop-detect', 'lpr', 'nfs-common', 'nfs-kernel-server', 'portmap', 'pppconfig', 'pppoe', 'pump', 'qstat', 'rpcbind', 'samba-common', 'samba-common-bin', 'smbclient', 'tcl8.5', @@ -15,14 +15,17 @@ class site_config::packages::base { ensure => absent; } - if $::virtual == 'virtualbox' { - $virtualbox_ensure = present + if $::virtual == 'virtualbox' or $::services =~ /\bwebapp\b/ { + $dev_packages_ensure = present } else { - $virtualbox_ensure = absent + $dev_packages_ensure = absent } - package { [ 'build-essential', 'fontconfig-config', 'g++', 'g++-4.7', 'gcc', + # g++ and ruby1.9.1-dev are needed for nickserver/eventmachine (#4079) + # dev_packages are needed for building gems on the webapp node + + package { [ 'build-essential', 'g++', 'g++-4.7', 'gcc', 'gcc-4.6', 'gcc-4.7', 'cpp', 'cpp-4.6', 'cpp-4.7', 'libc6-dev' ]: - ensure => $virtualbox_ensure + ensure => $dev_packages_ensure } } diff --git a/puppet/modules/site_config/manifests/ruby/dev.pp b/puppet/modules/site_config/manifests/ruby/dev.pp new file mode 100644 index 00000000..dbc77ae7 --- /dev/null +++ b/puppet/modules/site_config/manifests/ruby/dev.pp @@ -0,0 +1,6 @@ +class site_config::ruby::dev inherits site_config::ruby { + Class['::ruby'] { + ruby_version => '1.9.3', + install_dev => true + } +} diff --git a/puppet/modules/site_nickserver/manifests/init.pp b/puppet/modules/site_nickserver/manifests/init.pp index bf0511d5..81482a55 100644 --- a/puppet/modules/site_nickserver/manifests/init.pp +++ b/puppet/modules/site_nickserver/manifests/init.pp @@ -13,7 +13,7 @@ class site_nickserver { tag 'leap_service' Class['site_config::default'] -> Class['site_nickserver'] - include site_config::ruby + include site_config::ruby::dev # # VARIABLES @@ -64,9 +64,7 @@ class site_nickserver { # before EventMachine gem is built/installed. # - package { - 'libssl-dev': ensure => installed; - } + package { 'libssl-dev': ensure => installed } vcsrepo { '/srv/leap/nickserver': ensure => present, @@ -85,8 +83,10 @@ class site_nickserver { unless => '/usr/bin/bundle check', user => 'nickserver', timeout => 600, - require => [ Class['bundler::install'], Vcsrepo['/srv/leap/nickserver'], - Package['libssl-dev'] ], + require => [ + Class['bundler::install'], Vcsrepo['/srv/leap/nickserver'], + Package['libssl-dev'], Class['site_config::ruby::dev'] ], + notify => Service['nickserver']; } diff --git a/puppet/modules/site_webapp/manifests/init.pp b/puppet/modules/site_webapp/manifests/init.pp index c85a5ddc..6c5bda4c 100644 --- a/puppet/modules/site_webapp/manifests/init.pp +++ b/puppet/modules/site_webapp/manifests/init.pp @@ -13,7 +13,7 @@ class site_webapp { Class['site_config::default'] -> Class['site_webapp'] - include site_config::ruby + include site_config::ruby::dev include site_webapp::apache include site_webapp::couchdb include site_webapp::haproxy @@ -55,7 +55,11 @@ class site_webapp { unless => '/usr/bin/bundle check', user => 'leap-webapp', timeout => 600, - require => [ Class['bundler::install'], Vcsrepo['/srv/leap/webapp'], Service['shorewall'] ], + require => [ + Class['bundler::install'], + Vcsrepo['/srv/leap/webapp'], + Class['site_config::ruby::dev'], + Service['shorewall'] ], notify => Service['apache']; } |