diff --git a/modules/nodepool/manifests/init.pp b/modules/nodepool/manifests/init.pp index 544d7147ca..fadb0e7a42 100644 --- a/modules/nodepool/manifests/init.pp +++ b/modules/nodepool/manifests/init.pp @@ -23,7 +23,10 @@ class nodepool ( $nodepool_ssh_private_key = '', $git_source_repo = 'https://git.openstack.org/openstack-infra/nodepool', $revision = 'master', - $statsd_host = '' + $statsd_host = '', + $vhost_name = 'nodepool.openstack.org', + $image_log_document_root = '/var/log/nodepool/image', + $enable_image_log_via_http = false, ) { class { 'mysql::server': @@ -144,7 +147,7 @@ class nodepool ( mode => '0444', owner => 'root', group => 'root', - source => 'puppet:///modules/nodepool/logging.conf', + content => template('nodepool/nodepool.logging.conf.erb'), notify => Service['nodepool'], } @@ -162,4 +165,28 @@ class nodepool ( hasrestart => true, require => File['/etc/init.d/nodepool'], } + + if $enable_image_log_via_http == true { + # Setup apache for image log access + include apache + + apache::vhost { $vhost_name: + port => 80, + priority => '50', + docroot => $image_log_document_root, + } + + if $image_log_document_root != '/var/log/nodepool' { + file { $image_log_document_root: + ensure => directory, + mode => '0755', + owner => 'nodepool', + group => 'nodepool', + require => [ + User['nodepool'], + File['/var/log/nodepool'], + ], + } + } + } } diff --git a/modules/nodepool/files/logging.conf b/modules/nodepool/templates/nodepool.logging.conf.erb similarity index 93% rename from modules/nodepool/files/logging.conf rename to modules/nodepool/templates/nodepool.logging.conf.erb index d70407c5cc..b626331044 100644 --- a/modules/nodepool/files/logging.conf +++ b/modules/nodepool/templates/nodepool.logging.conf.erb @@ -49,7 +49,7 @@ args=('/var/log/nodepool/nodepool.log', 'midnight', 1, 30,) level=INFO class=logging.handlers.TimedRotatingFileHandler formatter=simple -args=('/var/log/nodepool/image.log', 'midnight', 1, 30,) +args=('<%= @image_log_document_root %>/image.log', 'midnight', 1, 30,) [formatter_simple] format=%(asctime)s %(levelname)s %(name)s: %(message)s diff --git a/modules/openstack_project/manifests/nodepool.pp b/modules/openstack_project/manifests/nodepool.pp index 7970d8e4aa..faf93725b4 100644 --- a/modules/openstack_project/manifests/nodepool.pp +++ b/modules/openstack_project/manifests/nodepool.pp @@ -19,16 +19,21 @@ class openstack_project::nodepool( $tripleo_username ='', $tripleo_password ='', $tripleo_project ='', + $image_log_document_root = '/var/log/nodepool/image', + $enable_image_log_via_http = true, ) { class { 'openstack_project::server': sysadmins => $sysadmins, + iptables_public_tcp_ports => [80], } class { '::nodepool': - mysql_root_password => $mysql_root_password, - mysql_password => $mysql_password, - nodepool_ssh_private_key => $nodepool_ssh_private_key, - statsd_host => $statsd_host, + mysql_root_password => $mysql_root_password, + mysql_password => $mysql_password, + nodepool_ssh_private_key => $nodepool_ssh_private_key, + statsd_host => $statsd_host, + image_log_document_root => $image_log_document_root, + enable_image_log_via_http => $enable_image_log_via_http, } file { '/etc/nodepool/nodepool.yaml':