Add panko service to undercloud

With ceilometer API deprecated, we need a way to access
events. Panko provides this for us. This will only be
enabled if enable_telemetry is true.

Change-Id: If241ff2e387996b424206d2f0362ff3caafacdda
This commit is contained in:
Pradeep Kilambi 2017-01-09 16:19:36 -05:00
parent c5f80ddfbf
commit ad1076f589
5 changed files with 55 additions and 2 deletions

View File

@ -222,6 +222,23 @@ if str2bool(hiera('enable_telemetry', true)) {
'rbd': { include ::gnocchi::storage::ceph }
default: { fail('Unrecognized gnocchi_backend parameter.') }
}
# Panko
$panko_dsn = split(hiera('panko::db::database_connection'), '[@:/?]')
class { '::panko::db::mysql':
user => $panko_dsn[3],
password => $panko_dsn[4],
host => $panko_dsn[5],
dbname => $panko_dsn[6],
allowed_hosts => $allowed_hosts,
}
include ::panko
include ::panko::keystone::auth
include ::panko::config
include ::panko::db
include ::panko::db::sync
include ::panko::api
include ::panko::wsgi::apache
}
$ironic_dsn = split(hiera('ironic::database_connection'), '[@:/?]')

View File

@ -296,6 +296,8 @@ ceilometer::dispatcher::gnocchi::filter_project: 'service'
ceilometer::dispatcher::gnocchi::archive_policy: 'low'
ceilometer::dispatcher::gnocchi::resources_definition_file: 'gnocchi_resources.yaml'
# events dispatcher config
ceilometer::collector::event_dispatcher: 'panko'
# Aodh
aodh::rabbit_userid: {{UNDERCLOUD_RABBIT_USERNAME}}
@ -342,6 +344,23 @@ gnocchi::statsd::project_id: '6c38cd8d-099a-4cb2-aecf-17be688e8616'
gnocchi::statsd::flush_delay: 10
gnocchi::statsd::archive_policy_name: 'low'
# Panko
panko::wsgi::apache::ssl: false
panko::wsgi::apache::bind_host: {{LOCAL_IP}}
panko::api::service_name: 'httpd'
panko::api::host: {{LOCAL_IP}}
panko::db::mysql::password: {{UNDERCLOUD_PANKO_PASSWORD}}
panko::db::database_connection: mysql+pymysql://panko:{{UNDERCLOUD_PANKO_PASSWORD}}@{{LOCAL_IP}}/panko
panko::keystone::authtoken::password: {{UNDERCLOUD_PANKO_PASSWORD}}
panko::keystone::authtoken::auth_uri: "%{hiera('keystone_auth_uri')}"
panko::keystone::authtoken::auth_url: "%{hiera('keystone_identity_uri')}"
panko::keystone::auth::tenant: 'service'
panko::keystone::auth::public_url: {{UNDERCLOUD_ENDPOINT_PANKO_PUBLIC}}
panko::keystone::auth::internal_url: {{UNDERCLOUD_ENDPOINT_PANKO_INTERNAL}}
panko::keystone::auth::admin_url: {{UNDERCLOUD_ENDPOINT_PANKO_ADMIN}}
panko::keystone::auth::password: {{UNDERCLOUD_PANKO_PASSWORD}}
panko::keystone::auth::region: "%{hiera('keystone_region')}"
# Nova
nova::default_transport_url: "rabbit://{{UNDERCLOUD_RABBIT_USERNAME}}:{{UNDERCLOUD_RABBIT_PASSWORD}}@{{LOCAL_IP}}//"
@ -638,6 +657,7 @@ tripleo::haproxy::heat_api: true
tripleo::haproxy::ceilometer: "%{hiera('enable_telemetry')}"
tripleo::haproxy::aodh: "%{hiera('enable_telemetry')}"
tripleo::haproxy::gnocchi: "%{hiera('enable_telemetry')}"
tripleo::haproxy::panko: "%{hiera('enable_telemetry')}"
tripleo::haproxy::ironic: true
tripleo::haproxy::ironic_inspector: true
tripleo::haproxy::rabbitmq: true
@ -859,3 +879,7 @@ tripleo::firewall::firewall_rules:
dport:
- 3000
- 443
'143 panko-api':
dport:
- 8779
- 13779

View File

@ -314,7 +314,7 @@ class TestGenerateEnvironment(BaseTestCase):
env = undercloud._generate_environment('.')
endpoint_vars = {k: v for (k, v) in env.items()
if k.startswith('UNDERCLOUD_ENDPOINT')}
self.assertEqual(54, len(endpoint_vars))
self.assertEqual(57, len(endpoint_vars))
# Spot check one service
self.assertEqual('http://192.168.24.1:5000',
env['UNDERCLOUD_ENDPOINT_KEYSTONE_PUBLIC'])

View File

@ -400,6 +400,10 @@ _auth_opts = [
help=('Ceilometer service password. '
'If left unset, one will be automatically generated.')
),
cfg.StrOpt('undercloud_panko_password',
help=('Panko service password. '
'If left unset, one will be automatically generated.')
),
cfg.StrOpt('undercloud_ceilometer_metering_secret',
help=('Ceilometer metering secret. '
'If left unset, one will be automatically generated.')
@ -749,6 +753,10 @@ def _generate_endpoints(instack_env):
'%s://%s:%d',
{'host': public_host, 'port': 8041, 'ssl_port': 13041},
{'host': internal_host, 'port': 8041}),
('panko',
'%s://%s:%d',
{'host': public_host, 'port': 8779, 'ssl_port': 13779},
{'host': internal_host, 'port': 8779}),
('mistral',
'%s://%s:%d/v2',
{'host': public_host, 'port': 8989, 'ssl_port': 13989},

View File

@ -146,7 +146,7 @@
# Whether to install Zaqar services in the Undercloud. (boolean value)
#enable_zaqar = true
# Whether to install Telemetry services (ceilometer, aodh) in the
# Whether to install Telemetry services (ceilometer, aodh, gnocchi, panko) in the
# Undercloud. (boolean value)
#enable_telemetry = true
@ -252,6 +252,10 @@
# automatically generated. (string value)
#undercloud_ceilometer_password = <None>
# Panko service password. If left unset, one will be automatically
# generated. (string value)
#undercloud_panko_password = <None>
# Ceilometer metering secret. If left unset, one will be automatically
# generated. (string value)
#undercloud_ceilometer_metering_secret = <None>