3f3d85a3b0
Puppet can become confused if there are classes of similar names at different levels. In this case 'puppetdb' is available from the puppetdb module and is available from openstack_project::puppetdb. Putting the extra :: in front explicitly grabs it from top scope so we don't have any issues. Change-Id: Iaec56b82004c972f5771b6039675db5c2d725f91
51 lines
1.2 KiB
Puppet
51 lines
1.2 KiB
Puppet
# == Class: openstack_project::puppetdb
|
|
#
|
|
class openstack_project::puppetdb (
|
|
$sysadmins = [],
|
|
$puppetboard = true,
|
|
) {
|
|
|
|
# The puppetlabs postgres module does not manage the postgres user
|
|
# and group for us. Create them here to ensure concat can create
|
|
# dirs and files owned by this user and group.
|
|
user { 'postgres':
|
|
ensure => present,
|
|
gid => 'postgres',
|
|
system => true,
|
|
require => Group['postgres'],
|
|
}
|
|
|
|
group { 'postgres':
|
|
ensure => present,
|
|
system => true,
|
|
}
|
|
|
|
if $puppetboard {
|
|
$open_ports = [8081, 80]
|
|
} else {
|
|
$open_ports = [8081]
|
|
}
|
|
|
|
class { 'openstack_project::server':
|
|
iptables_public_tcp_ports => $open_ports,
|
|
sysadmins => $sysadmins,
|
|
}
|
|
|
|
class { '::puppetdb::database::postgresql':
|
|
require => [User['postgres'],
|
|
Class['openstack_project::template'],],
|
|
}
|
|
|
|
class { '::puppetdb::server':
|
|
database_host => 'localhost',
|
|
ssl_listen_address => '0.0.0.0', # works for ipv6 too
|
|
require => [ User['postgres'],
|
|
Class['puppetdb::database::postgresql'],],
|
|
}
|
|
|
|
if $puppetboard {
|
|
class { 'openstack_project::puppetboard': }
|
|
}
|
|
|
|
}
|