Fix ceilometer meters for swift service

Enable Object Storage meters by ceilometer.
see
https://docs.openstack.org/project-install-guide/telemetry/draft/swift/install-swift-ubuntu.html

Change-Id: Ic80e02eacbe502280e09de6b845c0c7475273d6e
Closes-Bug: #1668826
This commit is contained in:
shaofeng_cheng 2017-04-01 11:28:22 +08:00
parent bed0357931
commit a2568df906
3 changed files with 35 additions and 2 deletions

View File

@ -32,3 +32,15 @@
module_extra_vars:
openstack_ceilometer_auth: "{{ openstack_ceilometer_auth }}"
run_once: True
- name: Associate the ResellerAdmin role and ceilometer user
kolla_toolbox:
module_name: "os_user_role"
module_args:
project: "service"
user: "{{ ceilometer_keystone_user }}"
role: "ResellerAdmin"
region_name: "{{ openstack_region_name }}"
auth: "{{ '{{ openstack_ceilometer_auth }}' }}"
when: enable_swift | bool
run_once: True

View File

@ -32,3 +32,14 @@
module_extra_vars:
openstack_swift_auth: "{{ openstack_swift_auth }}"
run_once: True
- name: Creating the ResellerAdmin role
kolla_toolbox:
module_name: "os_keystone_role"
module_args:
project: "service"
role: "ResellerAdmin"
region_name: "{{ openstack_region_name }}"
auth: "{{ '{{ openstack_swift_auth }}' }}"
when: enable_ceilometer | bool
run_once: True

View File

@ -10,7 +10,7 @@ log_level = INFO
workers = {{ openstack_service_workers }}
[pipeline:main]
pipeline = catch_errors gatekeeper healthcheck cache container_sync bulk ratelimit authtoken keystoneauth slo dlo proxy-server
pipeline = catch_errors gatekeeper healthcheck cache container_sync bulk ratelimit authtoken keystoneauth slo dlo {% if enable_ceilometer | bool %}ceilometer {% endif %}proxy-server
[app:proxy-server]
use = egg:swift#proxy
@ -48,7 +48,17 @@ memcached_servers = {% for host in groups['memcached'] %}{{ hostvars[host]['ansi
[filter:keystoneauth]
use = egg:swift#keystoneauth
operator_roles = admin,{{ keystone_default_user_role }}
operator_roles = admin,{{ keystone_default_user_role }}{% if enable_ceilometer | bool %},ResellerAdmin{% endif %}
{% if enable_ceilometer | bool %}
[filter:ceilometer]
paste.filter_factory = ceilometermiddleware.swift:filter_factory
control_exchange = swift
url = rabbit://{% for host in groups['rabbitmq'] %}{{ rabbitmq_user }}:{{ rabbitmq_password }}@{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ rabbitmq_port }}{% if not loop.last %},{% endif %}{% endfor %}
driver = messagingv2
topic = notifications
log_level = WARN
{% endif %}
[filter:container_sync]
use = egg:swift#container_sync