Ceilometer don't colleting Swift Proxy Medadata Headers

Solution In Progress - Updated -

Issue

  • The proxy-server.conf is configured with metadata_headers configuration but, the ceilometer don't collecting metadata_headers configures.
[root@brlp-osp-stg-controller-0 ~]# source ~/overcloudrc 
[root@brlp-osp-stg-controller-0 ~]#  openstack role list --project service --user ceilometer
+----------------------------------+---------------+---------+------------+
| ID                               | Name          | Project | User       |
+----------------------------------+---------------+---------+------------+
| 4018072818754e22823e4e2792ea167e | ResellerAdmin | service | ceilometer |
| 9fe2ff9ee4384b1894a90878d3e92bab | _member_      | service | ceilometer |
| 39793ba1084d4a84a58132bd96083f11 | admin         | service | ceilometer |
+----------------------------------+---------------+---------+------------+


[root@brlp-osp-stg-controller-0 ~]# cat /etc/swift/proxy-server.conf
# This file is managed by puppet.  Do not edit
#
[DEFAULT]
bind_port = 8080

bind_ip = 172.25.66.207

workers = 8
user = swift
log_name = proxy-server
log_facility = LOG_LOCAL1
log_level = INFO
log_headers = False
log_address = /dev/log


[pipeline:main]
#pipeline = catch_errors healthcheck cache ratelimit tempurl formpost ceilometer authtoken keystone staticweb proxy-logging proxy-server
#pipeline = catch_errors gatekeeper healthcheck proxy-logging cache swift3 s3token authtoken keystone slo dlo account_quotas container_quotas ceilometer proxy-logging proxy-server
pipeline = catch_errors gatekeeper healthcheck proxy-logging cache ratelimit tempurl formpost swift3 s3token authtoken keystone staticweb slo dlo account_quotas container_quotas proxy-logging ceilometer proxy-server


[app:proxy-server]
use = egg:swift#proxy
set log_name = proxy-server
set log_facility = LOG_LOCAL1
set log_level = INFO
set log_address = /dev/log
log_handoffs = true
allow_account_management = true
account_autocreate = true


[filter:authtoken]
log_name = swift
signing_dir = /var/cache/swift
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
#auth_uri = http://172.25.60.202:5000/v2.0
#identity_uri = http://172.25.0.202:35357
auth_uri = http://172.25.60.202:5000/
identity_uri = http://172.25.0.202:35357/

# if its defined
admin_tenant_name = service
admin_user = swift
admin_password = XbNnA84K7F8jTstj4asXcKsyK
delay_auth_decision = 1
auth_host = localhost
cache = swift.cache
include_service_catalog = False


[filter:cache]
use = egg:swift#memcache
memcache_servers = 172.25.60.208:11211,172.25.60.210:11211,172.25.60.209:11211


[filter:catch_errors]
use = egg:swift#catch_errors


[filter:proxy-logging]
use = egg:swift#proxy_logging
#
# Note: The double proxy-logging in the pipeline is not a mistake. The
# left-most proxy-logging is there to log requests that were handled in
# middleware and never made it through to the right-most middleware (and
# proxy server). Double logging is prevented for normal requests. See
# proxy-logging docs.


[filter:healthcheck]
use = egg:swift#healthcheck


[filter:ratelimit]
use = egg:swift#ratelimit
clock_accuracy = 1000
max_sleep_time_seconds = 60
log_sleep_time_seconds = 0
rate_buffer_seconds = 5
account_ratelimit = 0


[filter:proxy-logging]
use = egg:swift#proxy_logging


[filter:tempurl]
use = egg:swift#tempurl


[filter:formpost]
use = egg:swift#formpost


[filter:staticweb]
use = egg:swift#staticweb


[filter:ceilometer]
paste.filter_factory = ceilometermiddleware.swift:filter_factory
use = egg:ceilometer#swift
metadata_headers = X-Client,X-Service,X-Host
control_exchange = swift
#url = rabbit://guest:guest@172.25.60.208:5672,172.25.60.210:5672,172.25.60.209:5672
url = rabbit://guest:guest@172.25.60.208:5672/
driver = messagingv2
topic = notifications
log_level = WARN


[filter:keystone]
use = egg:swift#keystoneauth
operator_roles = admin, swiftoperator, ResellerAdmin
#is_admin = true
reseller_prefix = AUTH_
cache = swift.cache


# Note: Put after auth and staticweb in the pipeline.
[filter:slo]
use = egg:swift#slo


# Note: Put after auth and staticweb in the pipeline.
[filter:dlo]
use = egg:swift#dlo


[filter:gatekeeper]
use = egg:swift#gatekeeper


[filter:account_quotas]
use = egg:swift#account_quotas


[filter:container_quotas]
use = egg:swift#container_quotas


[filter:swift3]
use = egg:swift3#swift3


[filter:s3token]
paste.filter_factory = keystonemiddleware.s3_token:filter_factory
auth_port = 35357
auth_host = 172.25.0.202
auth_protocol = http


[root@brlp-osp-stg-controller-0 ~]# cat /etc/haproxy/haproxy.cfg
# This file managed by Puppet
global
  daemon  
  group  haproxy
  log  /dev/log local0
  maxconn  20480
  pidfile  /var/run/haproxy.pid
  user  haproxy
  stats socket /var/lib/haproxy/stats

defaults
  log  global
  maxconn  4096
  mode  tcp
  retries  3
  timeout  http-request 10s
  timeout  queue 1m
  timeout  connect 10s
  timeout  client 1m
  timeout  server 1m
  timeout  check 10s

listen ceilometer
  bind 172.25.60.202:8777 transparent
  bind 189.43.94.150:8777 transparent
  server brlp-osp-stg-controller-0 172.25.60.208:8777 check fall 5 inter 2000 rise 2
  server brlp-osp-stg-controller-1 172.25.60.210:8777 check fall 5 inter 2000 rise 2
  server brlp-osp-stg-controller-2 172.25.60.209:8777 check fall 5 inter 2000 rise 2

...

listen swift_proxy_server
  bind 172.25.66.201:8080 transparent
  bind 189.43.94.151:8080 transparent
  bind 189.43.94.150:8080 transparent
  bind 189.43.94.151:80  transparent
  bind 189.43.94.151:443 transparent ssl crt /etc/pki/tls/private/overcloud_endpoint.pem
  mode http
  option forwardfor header X-Client
  http-request set-header X-Service %[dst]
  http-request set-header X-Host %[hdr(host)]
  http-request set-header X-Forwarded-Proto https if { ssl_fc }
  server brlp-osp-stg-controller-0 172.25.66.207:8080 check fall 5 inter 2000 rise 2
  server brlp-osp-stg-controller-1 172.25.66.209:8080 check fall 5 inter 2000 rise 2
  server brlp-osp-stg-controller-2 172.25.66.208:8080 check fall 5 inter 2000 rise 2

...

Environment

Red Hat OpenStack Platform 7.0

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content