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
This commit is contained in:
Monty Taylor 2014-04-17 18:00:47 -07:00
parent f98ad18c66
commit ad574bedee
6 changed files with 55 additions and 23 deletions

View File

@ -63,8 +63,11 @@ EOF
yum install -y redhat-lsb-core git puppet yum install -y redhat-lsb-core git puppet
else else
#defaults to Ubuntu #defaults to Ubuntu
# NB: keep in sync with openstack_project/files/00-puppet.pref
cat > /etc/apt/preferences.d/00-puppet.pref <<EOF lsbdistcodename=`lsb_release -c -s`
if [ $lsbdistcodename != 'trusty' ] ; then
# NB: keep in sync with openstack_project/files/00-puppet.pref
cat > /etc/apt/preferences.d/00-puppet.pref <<EOF
Package: puppet puppet-common puppetmaster puppetmaster-common puppetmaster-passenger Package: puppet puppet-common puppetmaster puppetmaster-common puppetmaster-passenger
Pin: version 2.7* Pin: version 2.7*
Pin-Priority: 501 Pin-Priority: 501
@ -73,8 +76,10 @@ Package: facter
Pin: version 1.* Pin: version 1.*
Pin-Priority: 501 Pin-Priority: 501
EOF EOF
rubypkg=rubygems
lsbdistcodename=`lsb_release -c -s` else
rubypkg=ruby
fi
puppet_deb=puppetlabs-release-${lsbdistcodename}.deb puppet_deb=puppetlabs-release-${lsbdistcodename}.deb
wget http://apt.puppetlabs.com/$puppet_deb -O $puppet_deb wget http://apt.puppetlabs.com/$puppet_deb -O $puppet_deb
dpkg -i $puppet_deb dpkg -i $puppet_deb
@ -84,5 +89,5 @@ EOF
DEBIAN_FRONTEND=noninteractive apt-get --option 'Dpkg::Options::=--force-confold' \ DEBIAN_FRONTEND=noninteractive apt-get --option 'Dpkg::Options::=--force-confold' \
--assume-yes dist-upgrade --assume-yes dist-upgrade
DEBIAN_FRONTEND=noninteractive apt-get --option 'Dpkg::Options::=--force-confold' \ DEBIAN_FRONTEND=noninteractive apt-get --option 'Dpkg::Options::=--force-confold' \
--assume-yes install -y --force-yes puppet git rubygems --assume-yes install -y --force-yes puppet git $rubypkg
fi fi

View File

@ -140,14 +140,6 @@ class jenkins::slave(
require => Class[pip], require => 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': file { '/usr/local/bin/gcc':
ensure => link, ensure => link,
target => '/usr/bin/ccache', target => '/usr/bin/ccache',

View File

@ -103,13 +103,23 @@ class openstack_project::base(
key_server => 'pgp.mit.edu', key_server => 'pgp.mit.edu',
} }
file { '/etc/apt/preferences.d/00-puppet.pref': case $::lsbdistcodename {
ensure => present, 'trusty': {
owner => 'root', file { '/etc/apt/preferences.d/00-puppet.pref':
group => 'root', ensure => absent,
mode => '0444', }
source => 'puppet:///modules/openstack_project/00-puppet.pref', }
replace => true,
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': file { '/etc/default/puppet':

View File

@ -47,7 +47,11 @@ class openstack_project::jenkins_params {
$python_magic_package = 'python-magic' $python_magic_package = 'python-magic'
$python_requests_package = 'python-requests' $python_requests_package = 'python-requests'
$python_zmq_package = 'python-zmq' $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 # Common Lisp interpreter, used for cl-openstack-client
$sbcl_package = 'sbcl' $sbcl_package = 'sbcl'
$sqlite_package = 'sqlite' $sqlite_package = 'sqlite'

View File

@ -57,11 +57,25 @@ class openstack_project::thick_slave(
ensure => present, 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': package { 'rake':
ensure => '10.1.1', ensure => '10.1.1',
provider => gem, provider => gem,
before => Package['puppetlabs_spec_helper'], before => Package['puppetlabs_spec_helper'],
require => Package['rubygems'], require => Package[$::openstack_project::jenkins_params::rubygems_package],
} }
$gem_packages = [ $gem_packages = [
@ -73,7 +87,7 @@ class openstack_project::thick_slave(
package { $gem_packages: package { $gem_packages:
ensure => latest, ensure => latest,
provider => gem, provider => gem,
require => Package['rubygems'], require => Package[$::openstack_project::jenkins_params::rubygems_package],
} }
if ($::operatingsystem == 'Fedora') and ($::operatingsystemrelease >= 19) { if ($::operatingsystem == 'Fedora') and ($::operatingsystemrelease >= 19) {
@ -151,6 +165,13 @@ class openstack_project::thick_slave(
system => true, system => true,
} }
if ($::lsbdistcodename == 'trusty') {
class { 'postgresql::globals':
version => '9.3',
before => Class['postgresql::server'],
}
}
class { 'postgresql::server': class { 'postgresql::server':
postgres_password => 'insecure_slave', postgres_password => 'insecure_slave',
manage_firewall => false, manage_firewall => false,