summaryrefslogtreecommitdiff
path: root/puppet
diff options
context:
space:
mode:
Diffstat (limited to 'puppet')
-rw-r--r--puppet/modules/site_config/manifests/packages/base.pp15
-rw-r--r--puppet/modules/site_config/manifests/ruby/dev.pp6
-rw-r--r--puppet/modules/site_nickserver/manifests/init.pp12
-rw-r--r--puppet/modules/site_webapp/manifests/init.pp8
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'];
}