Revision 0fa8a928
Added by Gerard Hickey almost 9 years ago
manifests/agent/install.pp | ||
---|---|---|
# Install the puppet client installation
|
||
class puppet::agent::install {
|
||
package { $puppet::client_package:
|
||
ensure => $::puppet::version,
|
||
provider => $::puppet::package_provider,
|
||
if $::puppet::manage_packages == true or $::puppet::manage_packages == 'agent' {
|
||
package { $puppet::client_package:
|
||
ensure => $::puppet::version,
|
||
provider => $::puppet::package_provider,
|
||
}
|
||
}
|
||
}
|
manifests/init.pp | ||
---|---|---|
#
|
||
# $sharedir:: Override the system data directory.
|
||
#
|
||
# $manage_packages:: Should this module install packages or not.
|
||
# Can also install only server packages with value
|
||
# of 'server' or only agent packages with 'agent'.
|
||
# Defaults to true
|
||
#
|
||
# $package_provider:: The provider used to install the agent.
|
||
# Defaults to chocolatey on Windows
|
||
# Defaults to undef elsewhere
|
||
... | ... | |
$rundir = $puppet::params::rundir,
|
||
$ssldir = $puppet::params::ssldir,
|
||
$sharedir = $puppet::params::sharedir,
|
||
$manage_packages = $puppet::params::manage_packages,
|
||
$package_provider = $puppet::params::package_provider,
|
||
$port = $puppet::params::port,
|
||
$listen = $puppet::params::listen,
|
||
... | ... | |
if $server_puppetdb_host {
|
||
validate_string($server_puppetdb_host)
|
||
}
|
||
|
||
|
||
if $server_http {
|
||
validate_array($server_http_allow)
|
||
}
|
||
... | ... | |
validate_re($server_environment_timeout, '^(unlimited|0|[0-9]+[smh]{1})$')
|
||
}
|
||
|
||
if $manage_packages != true and $manage_packages != false {
|
||
validate_re($manage_packages, '^(server|agent)$')
|
||
}
|
||
|
||
include ::puppet::config
|
||
Class['puppet::config'] -> Class['puppet']
|
||
|
manifests/params.pp | ||
---|---|---|
}
|
||
}
|
||
|
||
$manage_packages = true
|
||
$package_provider = $::osfamily ? {
|
||
'windows' => 'chocolatey',
|
||
default => undef,
|
manifests/server/install.pp | ||
---|---|---|
# Install the puppet server
|
||
class puppet::server::install {
|
||
|
||
$server_package_default = $::puppet::server_implementation ? {
|
||
'master' => $::osfamily ? {
|
||
'Debian' => ['puppetmaster-common','puppetmaster'],
|
||
/^(FreeBSD|DragonFly)$/ => [],
|
||
default => ['puppet-server'],
|
||
},
|
||
'puppetserver' => 'puppetserver',
|
||
}
|
||
$server_package = pick($::puppet::server_package, $server_package_default)
|
||
$server_version = pick($::puppet::server_version, $::puppet::version)
|
||
if $::puppet::manage_packages == true or $::puppet::manage_packages == 'server' {
|
||
$server_package_default = $::puppet::server_implementation ? {
|
||
'master' => $::osfamily ? {
|
||
'Debian' => ['puppetmaster-common','puppetmaster'],
|
||
/^(FreeBSD|DragonFly)$/ => [],
|
||
default => ['puppet-server'],
|
||
},
|
||
'puppetserver' => 'puppetserver',
|
||
}
|
||
$server_package = pick($::puppet::server_package, $server_package_default)
|
||
$server_version = pick($::puppet::server_version, $::puppet::version)
|
||
|
||
package { $server_package:
|
||
ensure => $server_version,
|
||
package { $server_package:
|
||
ensure => $server_version,
|
||
}
|
||
}
|
||
|
||
if $puppet::server_git_repo {
|
spec/classes/puppet_agent_install_spec.rb | ||
---|---|---|
|
||
end
|
||
|
||
describe "when manage_packages => false" do
|
||
let :pre_condition do
|
||
"class { 'puppet': manage_packages => false }"
|
||
end
|
||
|
||
let :facts do {
|
||
:osfamily => 'RedHat',
|
||
:concat_basedir => '/foo/bar',
|
||
:operatingsystemrelease => '6.6',
|
||
:puppetversion => Puppet.version,
|
||
} end
|
||
|
||
it 'should not contain Package[puppet]' do
|
||
should_not contain_package('puppet')
|
||
end
|
||
end
|
||
|
||
describe "when manage_packages => 'agent'" do
|
||
let :pre_condition do
|
||
"class { 'puppet': manage_packages => 'agent' }"
|
||
end
|
||
|
||
let :facts do {
|
||
:osfamily => 'RedHat',
|
||
:concat_basedir => '/foo/bar',
|
||
:operatingsystemrelease => '6.6',
|
||
:puppetversion => Puppet.version,
|
||
} end
|
||
|
||
it 'should contain Package[puppet]' do
|
||
should contain_package('puppet')
|
||
end
|
||
end
|
||
|
||
describe "when manage_packages => 'server'" do
|
||
let :pre_condition do
|
||
"class { 'puppet': manage_packages => 'server' }"
|
||
end
|
||
|
||
let :facts do {
|
||
:osfamily => 'RedHat',
|
||
:concat_basedir => '/foo/bar',
|
||
:operatingsystemrelease => '6.6',
|
||
:puppetversion => Puppet.version,
|
||
} end
|
||
|
||
it 'should not contain Package[puppet]' do
|
||
should_not contain_package('puppet')
|
||
end
|
||
end
|
||
end
|
spec/classes/puppet_server_spec.rb | ||
---|---|---|
it { should raise_error(Puppet::Error, /"golang" does not match/) }
|
||
end
|
||
|
||
describe "when manage_packages => false" do
|
||
let :pre_condition do
|
||
"class { 'puppet': server => true, manage_packages => false,
|
||
server_implementation => 'master' }"
|
||
end
|
||
|
||
it { should compile.with_all_deps }
|
||
it 'should not contain Package[puppet-server]' do
|
||
should_not contain_package('puppet-server')
|
||
end
|
||
end
|
||
|
||
describe "when manage_packages => 'agent'" do
|
||
let :pre_condition do
|
||
"class { 'puppet': server => true, manage_packages => 'agent',
|
||
server_implementation => 'master' }"
|
||
end
|
||
|
||
it { should compile.with_all_deps }
|
||
it 'should not contain Package[puppet-server]' do
|
||
should_not contain_package('puppet-server')
|
||
end
|
||
end
|
||
|
||
describe "when manage_packages => 'server'" do
|
||
let :pre_condition do
|
||
"class { 'puppet': server => true, manage_packages => 'server',
|
||
server_implementation => 'master' }"
|
||
end
|
||
|
||
it { should compile.with_all_deps }
|
||
it 'should contain Package[puppet-server]' do
|
||
should contain_package('puppet-server')
|
||
end
|
||
end
|
||
end
|
Also available in: Unified diff
add $manage_packages to control package install
closes GH-296