From ad574bedee6db106a354a939695d7f4161da5529 Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Thu, 17 Apr 2014 18:00:47 -0700 Subject: [PATCH] Changes to get nodepool working with trusty There are few things that are different for our slaves on trusty. Of note, we don't want to pin puppet, and we need to provide a version for postgres. Change-Id: Ibee78cd4fbeef2e6af43379d2bc3a0f0e9767a06 --- install_puppet.sh | 15 +++++++---- modules/jenkins/manifests/slave.pp | 8 ------ .../files/rubygems.sh | 0 modules/openstack_project/manifests/base.pp | 24 ++++++++++++------ .../manifests/jenkins_params.pp | 6 ++++- .../manifests/thick_slave.pp | 25 +++++++++++++++++-- 6 files changed, 55 insertions(+), 23 deletions(-) rename modules/{jenkins => openstack_project}/files/rubygems.sh (100%) diff --git a/install_puppet.sh b/install_puppet.sh index 685e30d107..3e64a39ca5 100755 --- a/install_puppet.sh +++ b/install_puppet.sh @@ -63,8 +63,11 @@ EOF yum install -y redhat-lsb-core git puppet else #defaults to Ubuntu - # NB: keep in sync with openstack_project/files/00-puppet.pref - cat > /etc/apt/preferences.d/00-puppet.pref < /etc/apt/preferences.d/00-puppet.pref < Class[pip], } - file { '/etc/profile.d/rubygems.sh': - ensure => present, - owner => 'root', - group => 'root', - mode => '0644', - source => 'puppet:///modules/jenkins/rubygems.sh', - } - file { '/usr/local/bin/gcc': ensure => link, target => '/usr/bin/ccache', diff --git a/modules/jenkins/files/rubygems.sh b/modules/openstack_project/files/rubygems.sh similarity index 100% rename from modules/jenkins/files/rubygems.sh rename to modules/openstack_project/files/rubygems.sh diff --git a/modules/openstack_project/manifests/base.pp b/modules/openstack_project/manifests/base.pp index 219929c65a..25e4ededd4 100644 --- a/modules/openstack_project/manifests/base.pp +++ b/modules/openstack_project/manifests/base.pp @@ -103,13 +103,23 @@ class openstack_project::base( key_server => 'pgp.mit.edu', } - file { '/etc/apt/preferences.d/00-puppet.pref': - ensure => present, - owner => 'root', - group => 'root', - mode => '0444', - source => 'puppet:///modules/openstack_project/00-puppet.pref', - replace => true, + case $::lsbdistcodename { + 'trusty': { + file { '/etc/apt/preferences.d/00-puppet.pref': + ensure => absent, + } + } + + default: { + file { '/etc/apt/preferences.d/00-puppet.pref': + ensure => present, + owner => 'root', + group => 'root', + mode => '0444', + source => 'puppet:///modules/openstack_project/00-puppet.pref', + replace => true, + } + } } file { '/etc/default/puppet': diff --git a/modules/openstack_project/manifests/jenkins_params.pp b/modules/openstack_project/manifests/jenkins_params.pp index 6dd043db5c..0500179354 100644 --- a/modules/openstack_project/manifests/jenkins_params.pp +++ b/modules/openstack_project/manifests/jenkins_params.pp @@ -47,7 +47,11 @@ class openstack_project::jenkins_params { $python_magic_package = 'python-magic' $python_requests_package = 'python-requests' $python_zmq_package = 'python-zmq' - $rubygems_package = 'rubygems' + if ($::lsbdistcodename) == 'trusty' { + $rubygems_package = 'ruby' + } else { + $rubygems_package = 'rubygems' + } # Common Lisp interpreter, used for cl-openstack-client $sbcl_package = 'sbcl' $sqlite_package = 'sqlite' diff --git a/modules/openstack_project/manifests/thick_slave.pp b/modules/openstack_project/manifests/thick_slave.pp index aee195408d..e55297e45f 100644 --- a/modules/openstack_project/manifests/thick_slave.pp +++ b/modules/openstack_project/manifests/thick_slave.pp @@ -57,11 +57,25 @@ class openstack_project::thick_slave( ensure => present, } + if ($::lsbdistcodename == 'trusty') { + file { '/etc/profile.d/rubygems.sh': + ensure => absent, + } + } else { + file { '/etc/profile.d/rubygems.sh': + ensure => present, + owner => 'root', + group => 'root', + mode => '0644', + source => 'puppet:///modules/openstack_project/rubygems.sh', + } + } + package { 'rake': ensure => '10.1.1', provider => gem, before => Package['puppetlabs_spec_helper'], - require => Package['rubygems'], + require => Package[$::openstack_project::jenkins_params::rubygems_package], } $gem_packages = [ @@ -73,7 +87,7 @@ class openstack_project::thick_slave( package { $gem_packages: ensure => latest, provider => gem, - require => Package['rubygems'], + require => Package[$::openstack_project::jenkins_params::rubygems_package], } if ($::operatingsystem == 'Fedora') and ($::operatingsystemrelease >= 19) { @@ -151,6 +165,13 @@ class openstack_project::thick_slave( system => true, } + if ($::lsbdistcodename == 'trusty') { + class { 'postgresql::globals': + version => '9.3', + before => Class['postgresql::server'], + } + } + class { 'postgresql::server': postgres_password => 'insecure_slave', manage_firewall => false,