Roll-up of multiple fixes for os_ceilometer role

The ceilometer/api/app.wsgi file upstream was modified and broke the
ceilometer role such that the ceilometer api will not start. This
change fixes the role by updating the template derived from that file
to match the new invocation method.

An example of the error being remedied can be seen in patch set 1 of
Related-Change: Ieb5569982f080446295cecc33fb70c6b5d1cb9d6

Additionally, ceilometer-api is served with Apache mod_wsgi so an
init script shouldn't be created.

Also, the ceilometer_db_type now defaults to blank which will omit
the [database] group from the ceilometer.conf which matches the new
upstream default. The db type is overridden as mongodb for testing.

Also fixes an issue in inventory introduced by Change:
Ia74bbcac35c27928f7e96056b9449932253b75de

Change-Id: I48ca99ea58fbb624b8bccf205e40000115c53060
This commit is contained in:
Steve Lewis 2016-10-12 17:01:24 -07:00
parent 0a8d5006c6
commit 9fd56cba6c
5 changed files with 25 additions and 8 deletions

View File

@ -50,9 +50,10 @@ ceilometer_system_comment: ceilometer system user
ceilometer_system_user_home: "/var/lib/{{ ceilometer_system_user_name }}"
## DB info
# Set to blank by default to disable the database dispatcher (prep for deprecation)
ceilometer_db_type: ""
ceilometer_database_name: ceilometer
ceilometer_database_user: ceilometer
ceilometer_db_type: mongodb
ceilometer_db_ip: localhost
ceilometer_db_port: 27017
ceilometer_connection_string: "{{ ceilometer_db_type }}://{{ ceilometer_database_user }}:{{ ceilometer_container_db_password }}@{{ ceilometer_db_ip }}:{{ ceilometer_db_port }}/{{ ceilometer_database_name }}"
@ -148,9 +149,6 @@ ceilometer_pip_packages:
## Service Name-Group Mapping
ceilometer_services:
ceilometer-api:
group: ceilometer_api
service_name: ceilometer-api
ceilometer-collector:
group: ceilometer_collector
service_name: ceilometer-collector

View File

@ -1,3 +1,5 @@
#{{ ansible_managed}}
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
@ -10,6 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
#NOTE(stevelle): This file is templated from the ceilometer project file
# located at ceilometer/api/app.wsgi
#
import os
activate_this = os.path.expanduser("{{ ceilometer_bin }}/activate_this.py")
@ -18,5 +23,6 @@ execfile(activate_this, dict(__file__=activate_this))
from ceilometer import service
from ceilometer.api import app
service.prepare_service([])
application = app.load_app()
# Initialize the oslo configuration library and logging
conf = service.prepare_service([])
application = app.load_app(conf)

View File

@ -16,6 +16,9 @@ transport_url = rabbit://{% for host in ceilometer_rabbitmq_servers.split(',') %
{% if ceilometer_gnocchi_enabled | bool %}
event_dispatchers =
meter_dispatchers = gnocchi
{% else %}
meter_dispatchers = database
event_dispatchers = database
{% endif %}
[oslo_policy]
@ -103,9 +106,11 @@ messaging_urls = rabbit://{{ sahara_rabbitmq_telemetry_userid }}:{{ sahara_rabbi
{% endfor %}
{% endif %}
{% if ceilometer_db_type | length > 0 %}
[database]
metering_connection = {{ ceilometer_connection_string }}
event_connection = {{ ceilometer_connection_string }}
{% endif %}
{% if ceilometer_gnocchi_enabled | bool %}
[dispatcher_gnocchi]

View File

@ -27,8 +27,15 @@ infra1
[keystone_all]
infra1
[glance_all]
infra1
[glance_api]
openstack1
[glance_registry]
openstack1
[glance_all:children]
glance_api
glance_registry
[ceilometer_api]
openstack1

View File

@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
ceilometer_db_type: mongodb
ceilometer_db_ip: "{{ hostvars[groups['mongo_all'][0]]['ansible_host'] }}"
ceilometer_service_publicuri: "http://{{ hostvars[groups['ceilometer_all'][0]]['ansible_host'] }}:8777"
ceilometer_service_publicurl: "{{ ceilometer_service_publicuri }}"