3bafd2c691
Generate a logging configuration template for nodepool that splits image-build logs out into separate files. A tool to generate and maintain this file based on the nodepool configuration is added. The logging configuration template this tool creates is added alongside the main configuration. This is passed to the deployment puppet module via a parameter. Change-Id: I4723c68e5c83b536560e0a8bd7b73e312b46fc02 Depends-on: Iec77fb62c353d09186140b23912caf02225a643b
63 lines
1.9 KiB
Puppet
63 lines
1.9 KiB
Puppet
# == Class: openstack_project::nodepool_prod
|
|
#
|
|
class openstack_project::nodepool_prod(
|
|
$mysql_root_password,
|
|
$mysql_password,
|
|
$nodepool_ssh_private_key = '',
|
|
$nodepool_template = 'openstack_project/nodepool/nodepool.yaml.erb',
|
|
$nodepool_logging_template = 'openstack_project/nodepool/nodepool.logging.conf.erb',
|
|
$vhost_name = 'nodepool.openstack.org',
|
|
$sysadmins = [],
|
|
$statsd_host = '',
|
|
$jenkins_api_user ='',
|
|
$jenkins_api_key ='',
|
|
$jenkins_credentials_id ='',
|
|
$rackspace_username ='',
|
|
$rackspace_password ='',
|
|
$rackspace_project ='',
|
|
$hpcloud_username ='',
|
|
$hpcloud_password ='',
|
|
$hpcloud_project ='',
|
|
$tripleo_username ='',
|
|
$tripleo_password ='',
|
|
$tripleo_project ='',
|
|
$image_log_document_root = '/var/log/nodepool/image',
|
|
$enable_image_log_via_http = true,
|
|
$project_config_repo = '',
|
|
) {
|
|
class { 'openstack_project::server':
|
|
sysadmins => $sysadmins,
|
|
iptables_public_tcp_ports => [80],
|
|
}
|
|
|
|
class { 'project_config':
|
|
url => $project_config_repo,
|
|
}
|
|
|
|
class { '::nodepool':
|
|
mysql_root_password => $mysql_root_password,
|
|
mysql_password => $mysql_password,
|
|
nodepool_ssh_private_key => $nodepool_ssh_private_key,
|
|
vhost_name => $vhost_name,
|
|
statsd_host => $statsd_host,
|
|
image_log_document_root => $image_log_document_root,
|
|
enable_image_log_via_http => $enable_image_log_via_http,
|
|
scripts_dir => $::project_config::nodepool_scripts_dir,
|
|
elements_dir => $::project_config::nodepool_elements_dir,
|
|
require => $::project_config::config_dir,
|
|
logging_conf_template => $nodepool_logging_template,
|
|
}
|
|
|
|
file { '/etc/nodepool/nodepool.yaml':
|
|
ensure => present,
|
|
owner => 'nodepool',
|
|
group => 'root',
|
|
mode => '0400',
|
|
content => template($nodepool_template),
|
|
require => [
|
|
File['/etc/nodepool'],
|
|
User['nodepool'],
|
|
],
|
|
}
|
|
}
|