Merge "Deploy panko, Events service in Telemetry OpenStack"

This commit is contained in:
Jenkins 2016-12-03 17:25:36 +00:00 committed by Gerrit Code Review
commit 2d4cb5356d
4 changed files with 81 additions and 0 deletions

View File

@ -51,6 +51,7 @@ scenario](#all-in-one).
| cinder | rbd | iscsi | | | iscsi |
| ceilometer | X | | | | |
| aodh | X | | | | |
| panko | X | | | | |
| designate | | | bind | | |
| backup | | swift | | | |
| gnocchi | rbd | | | | |

View File

@ -17,9 +17,12 @@
case $::osfamily {
'Debian': {
$ipv6 = false
# panko is not packaged yet in debian/ubuntu
$enable_panko = false
}
'RedHat': {
$ipv6 = true
$enable_panko = true
}
default: {
fail("Unsupported osfamily (${::osfamily})")
@ -59,6 +62,9 @@ include ::openstack_integration::aodh
include ::openstack_integration::gnocchi
include ::openstack_integration::ceph
include ::openstack_integration::provision
if $enable_panko {
include ::openstack_integration::panko
}
class { '::openstack_integration::tempest':
cinder => true,

View File

@ -70,8 +70,17 @@ class openstack_integration::ceilometer {
ssl_cert => $::openstack_integration::params::cert_path,
workers => '2',
}
# Panko is not yet packaged in ubuntu repos
if $::osfamily == 'RedHat' {
$event_dispatcher = 'panko'
} else {
$event_dispatcher = undef
}
class { '::ceilometer::collector':
collector_workers => '2',
event_dispatcher => $event_dispatcher,
}
class { '::ceilometer::expirer': }
class { '::ceilometer::agent::notification':

65
manifests/panko.pp Normal file
View File

@ -0,0 +1,65 @@
class openstack_integration::panko {
include ::openstack_integration::config
include ::openstack_integration::params
rabbitmq_user { 'panko':
admin => true,
password => 'an_even_bigger_secret',
provider => 'rabbitmqctl',
require => Class['::rabbitmq'],
}
rabbitmq_user_permissions { 'panko@/':
configure_permission => '.*',
write_permission => '.*',
read_permission => '.*',
provider => 'rabbitmqctl',
require => Class['::rabbitmq'],
}
if $::openstack_integration::config::ssl {
openstack_integration::ssl_key { 'panko':
notify => Service['httpd'],
require => Package['panko'],
}
Exec['update-ca-certificates'] ~> Service['httpd']
}
include ::panko
class { '::panko::db':
database_connection => 'mysql+pymysql://panko:panko@127.0.0.1/panko?charset=utf8',
}
class { '::panko::db::mysql':
password => 'panko',
}
class { '::panko::keystone::auth':
public_url => "${::openstack_integration::config::base_url}:8779",
internal_url => "${::openstack_integration::config::base_url}:8779",
admin_url => "${::openstack_integration::config::base_url}:8779",
password => 'a_big_secret',
}
class { '::panko::keystone::authtoken':
password => 'a_big_secret',
user_domain_name => 'Default',
project_domain_name => 'Default',
auth_url => $::openstack_integration::config::keystone_admin_uri,
auth_uri => $::openstack_integration::config::keystone_auth_uri,
memcached_servers => $::openstack_integration::config::memcached_servers,
}
class { '::panko::api':
enabled => true,
service_name => 'httpd',
}
include ::apache
class { '::panko::wsgi::apache':
bind_host => $::openstack_integration::config::ip_for_url,
ssl => $::openstack_integration::config::ssl,
ssl_key => "/etc/panko/ssl/private/${::fqdn}.pem",
ssl_cert => $::openstack_integration::params::cert_path,
workers => 2,
}
class { '::panko::db::sync': }
}