3089973311
The osfamily fact is more flexible when we want to support more GNU/Linux distributions while avoiding unnecessary code duplication. Change-Id: Iea4c73c19e7f94df8daccf25c764b6a4539a1ea0 Reviewed-on: https://review.openstack.org/27400 Reviewed-by: Clark Boylan <clark.boylan@gmail.com> Reviewed-by: James E. Blair <corvus@inaugust.com> Approved: Jeremy Stanley <fungi@yuggoth.org> Reviewed-by: Jeremy Stanley <fungi@yuggoth.org> Tested-by: Jenkins
50 lines
1010 B
Puppet
50 lines
1010 B
Puppet
# Class salt
|
|
#
|
|
class salt (
|
|
$salt_master = $::fqdn
|
|
) {
|
|
|
|
if ($::osfamily == 'Debian') {
|
|
include apt
|
|
|
|
# Wrap in ! defined checks to allow minion and master installs on the
|
|
# same host.
|
|
if ! defined(Apt::Ppa['ppa:saltstack/salt']) {
|
|
apt::ppa { 'ppa:saltstack/salt': }
|
|
}
|
|
|
|
if ! defined(Package['python-software-properties']) {
|
|
package { 'python-software-properties':
|
|
ensure => present,
|
|
}
|
|
}
|
|
|
|
Apt::Ppa['ppa:saltstack/salt'] -> Package['salt-minion']
|
|
|
|
}
|
|
|
|
package { 'salt-minion':
|
|
ensure => present
|
|
}
|
|
|
|
file { '/etc/salt/minion':
|
|
ensure => present,
|
|
owner => 'root',
|
|
group => 'root',
|
|
mode => '0644',
|
|
content => template('salt/minion.erb'),
|
|
replace => true,
|
|
require => Package['salt-minion'],
|
|
}
|
|
|
|
service { 'salt-minion':
|
|
ensure => running,
|
|
enable => true,
|
|
require => File['/etc/salt/minion'],
|
|
subscribe => [
|
|
Package['salt-minion'],
|
|
File['/etc/salt/minion'],
|
|
],
|
|
}
|
|
}
|