
When generating OpenStack API query URLs for dynamic pollsters, Ceilometer uses urllib.parse.urljoin to append url_path to the endpoint URL. If an API endpoint URL returned by Keystone does not have a trailing slash and the specified url_path value is a relative path (e.g. does not start with /), urljoin will replace the final segment of the base URL instead of appending url_path to it. This breaks generating links in dynamic pollsters for OpenStack services if the endpoint URL in the Keystone service catalog does not have a trailing slash. This is particularly relevant for OpenStack services that incorporate the project ID into the API endpoint URL, such as Trove as shown below. >>> urljoin("http://example.com:8779/v1.0/12345678", "mgmt/instances") 'http://example.com:8779/v1.0/mgmt/instances' If there is a trailing slash on the end of the base URL, url_path will be appended to the end of the URL as expected. >>> urljoin("http://example.com:8779/v1.0/12345678/", "mgmt/instances") 'http://example.com:8779/v1.0/12345678/mgmt/instances' This commit changes the behaviour of the dynamic pollster URL joins by making sure there is a trailing slash on the endpoint URLs when appending the defined url_path to them. This may break existing dynamic pollster configurations that rely on this behaviour, but given that most OpenStack services probably wouldn't, there shouldn't be too many changes that would be required. Change-Id: I367d299df85676472c7e1a922d08971810f2ba9f
Ceilometer
Overview
Ceilometer is a data collection service that collects event and metering data by monitoring notifications sent from OpenStack services. It publishes collected data to various targets including data stores and message queues.
Ceilometer is distributed under the terms of the Apache License, Version 2.0. The full terms and conditions of this license are detailed in the LICENSE file.
Documentation
Release notes are available at https://releases.openstack.org/teams/telemetry.html
Developer documentation is available at https://docs.openstack.org/ceilometer/latest/
Launchpad Projects
- Server: https://launchpad.net/ceilometer
Code Repository
Bug Tracking
Release Notes
IRC
IRC Channel: #openstack-telemetry on OFTC.
Mailinglist
Project use http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-discuss
as the mailinglist. Please use tag [Ceilometer]
in the
subject for new threads.