Switch nodepool to project-config

Change-Id: I72dbb32d28bd30955ac6a76ebfceb9cd98a49d5f
This commit is contained in:
James E. Blair 2014-09-19 17:42:34 -07:00
parent 8bdeec0693
commit c348a3237f
4 changed files with 41 additions and 25 deletions

View File

@ -444,6 +444,7 @@ node 'status.openstack.org' {
# Node-OS: precise
node 'nodepool.openstack.org' {
class { 'openstack_project::nodepool_prod':
project_config_repo => 'https://git.openstack.org/openstack-infra/project-config',
mysql_password => hiera('nodepool_mysql_password', 'XXX'),
mysql_root_password => hiera('nodepool_mysql_root_password', 'XXX'),
nodepool_ssh_private_key => hiera('jenkins_ssh_private_key_contents', 'XXX'),

View File

@ -30,6 +30,8 @@ class nodepool (
$environment = {},
# enable sudo for nodepool user. Useful for using dib with nodepool
$sudo = true,
$scripts_dir = '',
$elements_dir = '',
) {
# needed by python-keystoneclient, has system bindings
@ -116,6 +118,34 @@ class nodepool (
ensure => directory,
}
if ($scripts_dir != '') {
file { '/etc/nodepool/scripts':
ensure => directory,
owner => 'root',
group => 'root',
mode => '0755',
recurse => true,
purge => true,
force => true,
require => File['/etc/nodepool'],
source => $scripts_dir,
}
}
if ($elements_dir != '') {
file { '/etc/nodepool/elements':
ensure => directory,
owner => 'root',
group => 'root',
mode => '0755',
recurse => true,
purge => true,
force => true,
require => File['/etc/nodepool'],
source => $elements_dir
}
}
file { '/etc/default/nodepool':
ensure => present,
content => template('nodepool/nodepool.default.erb'),

View File

@ -21,12 +21,17 @@ class openstack_project::nodepool_prod(
$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,
@ -34,6 +39,9 @@ class openstack_project::nodepool_prod(
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,
}
file { '/etc/nodepool/nodepool.yaml':
@ -47,29 +55,4 @@ class openstack_project::nodepool_prod(
User['nodepool'],
],
}
file { '/etc/nodepool/scripts':
ensure => directory,
owner => 'root',
group => 'root',
mode => '0755',
recurse => true,
purge => true,
force => true,
require => File['/etc/nodepool'],
source => 'puppet:///modules/openstack_project/nodepool/scripts',
}
file { '/etc/nodepool/elements':
ensure => directory,
owner => 'root',
group => 'root',
mode => '0755',
recurse => true,
purge => true,
force => true,
require => File['/etc/nodepool'],
source => 'puppet:///modules/openstack_project/nodepool/elements',
}
}

View File

@ -36,5 +36,7 @@ class project_config(
$jeepyb_project_file = "/etc/project-config/${base}gerrit/projects.yaml"
$jenkins_job_builder_config_dir = "/etc/project-config/${base}jenkins/jobs"
$jenkins_scripts_dir = "/etc/project-config/${base}jenkins/scripts"
$nodepool_scripts_dir = "/etc/project-config/${base}nodepool/scripts"
$nodepool_elements_dir = "/etc/project-config/${base}nodepool/elements"
$zuul_layout_dir = "/etc/project-config/${base}zuul"
}