Project

General

Profile

« Previous | Next » 

Revision 00073c0f

Added by Julien Pivotto almost 9 years ago

Deal with systems without AIO packages

  • Do not only rely on version to see if we use AIO package,
    instead use the rubylibdir fact.
  • Fix directory ownership without puppet user
  • Add package 'source' parameter to be used (mainly) with Windows
  • Adjust tests

This commit does not allow you to switch to from Puppet 3 to Puppet-AIO
package.

Closes GH-290

View differences:

manifests/params.pp
$hiera_config = '$confdir/hiera.yaml'
$syslogfacility = undef
$environment = $::environment
if versioncmp($::puppetversion, '4.0') < 0 {
$aio_package = false
} elsif $::osfamily == 'Windows' or $::rubysitedir =~ /\/opt\/puppetlabs\/puppet/ {
$aio_package = true
} else {
$aio_package = false
}
case $::osfamily {
'Windows' : {
......
}
default : {
if versioncmp($::puppetversion, '4.0') < 0 {
if $aio_package {
$dir = '/etc/puppetlabs/puppet'
$codedir = '/etc/puppetlabs/code'
$logdir = '/var/log/puppetlabs/puppet'
$rundir = '/var/run/puppetlabs'
$ssldir = '/etc/puppetlabs/puppet/ssl'
$vardir = '/opt/puppetlabs/puppet/cache'
$sharedir = '/opt/puppetlabs/puppet'
} else {
$dir = '/etc/puppet'
$codedir = '/etc/puppet'
$logdir = '/var/log/puppet'
......
$ssldir = '/var/lib/puppet/ssl'
$vardir = '/var/lib/puppet'
$sharedir = '/usr/share/puppet'
} else {
$dir = '/etc/puppetlabs/puppet'
$codedir = '/etc/puppetlabs/code'
$logdir = '/var/log/puppetlabs/puppet'
$rundir = '/var/run/puppetlabs'
$ssldir = '/etc/puppetlabs/puppet/ssl'
$vardir = '/opt/puppetlabs/puppet/cache'
$sharedir = '/opt/puppetlabs/puppet/modules'
}
$root_group = undef
}
}
$manage_packages = true
if $aio_package and $::osfamily != 'Windows' {
$dir_owner = 'root'
$dir_group = $root_group
} elsif $::osfamily == 'Windows' {
$dir_owner = undef
$dir_group = undef
} else {
$dir_owner = $user
$dir_group = $group
}
$package_provider = $::osfamily ? {
'windows' => 'chocolatey',
default => undef,
}
$package_source = undef
# Need your own config templates? Specify here:
$main_template = 'puppet/puppet.conf.erb'
$agent_template = 'puppet/agent/puppet.conf.erb'
......
$server_package = undef
$server_version = undef
$client_package = versioncmp($::puppetversion, '4.0') ? {
'-1' => $::osfamily ? {
$client_package = $aio_package ? {
true => ['puppet-agent'],
default => $::osfamily ? {
'Debian' => ['puppet-common','puppet'],
default => ['puppet'],
},
default => 'puppet-agent',
}
# Only use 'puppet cert' on versions where puppetca no longer exists
......
$puppetca_path = '/usr/sbin'
$puppetca_bin = 'puppetca'
$puppetrun_cmd = '/usr/sbin/puppetrun'
} elsif versioncmp($::puppetversion, '4.0') < 0 {
} elsif $aio_package {
$puppetca_path = '/opt/puppetlabs/bin'
$puppetca_bin = 'puppet cert'
$puppetrun_cmd = '/opt/puppetlabs/bin/puppet kick'
} else {
$puppetca_path = $::osfamily ? {
/^(FreeBSD|DragonFly)$/ => '/usr/local/bin',
default => '/usr/bin'
......
/^(FreeBSD|DragonFly)$/ => '/usr/local/bin/puppet kick',
default => '/usr/bin/puppet kick'
}
} else {
$puppetca_path = '/opt/puppetlabs/bin'
$puppetca_bin = 'puppet cert'
$puppetrun_cmd = '/opt/puppetlabs/bin/puppet kick'
}
$puppetca_cmd = "${puppetca_path}/${puppetca_bin}"

Also available in: Unified diff