diff options
| -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'];    } | 
