new ceilometer

Dmitrii Shcherbakov dmitrii.shcherbakov at
Sun Jul 9 11:09:28 UTC 2017

Hi Giuseppe,

First of all, thank you for looking into writing a gnocchi charm!

There is already an ongoing effort from James Page on charming gnocchi: -
design doc.

It is a reactive charm based upon charms.openstack.

A lot of code is abstracted away by the layer:openstack-api
- package installation

It might be worthwhile to consolidate the effort on a single charm to avoid
duplicate work.


Per the master branch of charm-cinder, oslo_messaging_notifications section
is present in two templates. The template for mitaka is used for newton as
well - this is a result of a library code.
- the library code comment for OSConfigRenderer that discusses versioning
and how templates are rendered with regards to the OpenStack versions.

That's how messagingv2 got into the templates for cinder:

The notification_driver option from the DEFAULT section is deprecated now.
The option with the new name is an array and is empty by default:

So the current charm templates seem a bit wrong to me as both the
'notification_driver' option in the DEFAULT section and 'driver' options
are used in the same template:

# ambiguous :^\
juju run --unit cinder/0 'cat /etc/cinder/cinder.conf' | grep -P
notification_driver = cinder.openstack.common.notifier.rpc_notifier
driver = messagingv2

# the driver configuration section of a config file
rabbit_userid = cinder
rabbit_virtual_host = openstack
rabbit_password = very_secure
rabbit_hosts =,,

These options deprecated in favor of 'transport_url':

Although you can track how oslo_messaging_rabbit configuration will result
in 'transport_url' being filled out (see the _url variable of
type TransportURL)
- the rabbit driver inherits from this base class and fills the _url

'transport_url' falls back to whatever is used for RPC if the value is not
explicitly set which is RabbitMQ in our case (
"A URL representing the messaging driver to use for notifications. If not
set, we fall back to the same configuration used for RPC."):

We need to maintain compatibility with the currently supported OpenStack
versions: charm versions may go forward and you would use an Ocata charm
release with OpenStack Mitaka, but the charm code has to know that the
config files it renders are compatible with the previous versions.

That being said, I would first check if we can completely replace the old
config options with the new ones and if so, do that for all the charms of

It seems like notification_driver option was deprecated since Mitaka (which
is EoL upstream as of now):;a=commitdiff;h=de5811b94088ff41631d9aaca1900e06e0092fdf

git describe --abbrev=0 33c1010c3281804456a22b769c4bac5ac6a7cca1


Not sure how many people care about Icehouse + charms nowadays but I know
that there are some active clouds still relying on 14.04 + icehouse + juju
1.x so it is debatable whether we should enable the new 'driver' option
unconditionally in new charm releases before 14.04 + Liberty go EoL from
our perspective.


To sum up: we need to make a decision on how to modify the current config
files to use the new options without breaking old deployments that could
potentially get updated charms.

As always, patches are welcome :^)

Best Regards,
Dmitrii Shcherbakov

Field Software Engineer
IRC (freenode): Dmitrii-Sh

On Thu, Jul 6, 2017 at 6:46 PM, Giuseppe Attardi <giuseppe.attardi at>

> The  ceilometer service has gone through a major overhaul, where some of
> its parts have been removed and assigned to gnocchi.
> In particular the ceilometer api has been discontinued and the ceilometer
> collector is superseded by ceilometer agent-notification.
> Since ceilometer no longer collects data, also the mongodb is no longer
> needed.
> Therefore the Ceilometer charm must be updated as well as other charms
> that must be configured to talk to ceilometer, according to the
> instructions here:
> controller.html
> I am working on a gnocchi charm and now need to do modifications to te
> following charms:
> - ceilometer
> - cinder
> - glance
> - neutron
> - swift
> In particular for example, one needs to add this to the
> /etc/glance/glance-api.conf file:
> [DEFAULT]...transport_url = rabbit://openstack:RABBIT_PASS@controller
> [oslo_messaging_notifications]...driver = messagingv2
> Could someone advise of where this change should go in the Glance charm?
> Surprisingly, the section oslo_messaging_notifications is already present
> in the Cinder file cinder-api.conf generated by the charm, but I could not
> find where in the code of the charm it gets done.
> When the gnocchi charm and the changes to the others will be ready, I will
> post them.
> Any help appreciated.
> — Beppe
> --
> Juju mailing list
> Juju at
> Modify settings or unsubscribe at:
> mailman/listinfo/juju
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Juju mailing list