juju / charm-helpers

Apache License 2.0
18 stars 127 forks source link

version-specific sections: renaming of "[DEFAULT]/notification_topics" to "[oslo_messaging_notifications]/topics" in section-oslo-notifications #53

Open dshcherb opened 6 years ago

dshcherb commented 6 years ago

This commit https://git.io/vFyPE deprecated "[DEFAULT]/notification_topics" in favor of [oslo_messaging_notifications]/topics.

-    cfg.ListOpt('notification_topics',
+    cfg.ListOpt('topics',
                 default=['notifications', ],
-                deprecated_name='topics',
-                deprecated_group='rpc_notifier2',
+                deprecated_opts=[
+                    cfg.DeprecatedOpt('topics',
+                                      group='rpc_notifier2'),
+                    cfg.DeprecatedOpt('notification_topics',
+                                      group='DEFAULT')
+                ],

Kilo uses oslo.messaging versions older than 3.1.0 https://releases.openstack.org/kilo/index.html#library-projects

Same with Icehouse https://releases.openstack.org/icehouse/index.html#library-projects

git tag --contains 33c1010c3281804456a22b769c4bac5ac6a7cca1 3.1.0 4.0.0 ...

Kilo looks to have extended support until mid-2018 and Icehouse until Q1-2019: https://www.ubuntu.com/info/release-end-of-life

Mitaka supports oslo.messaging 4.6.1 as the latest version: https://releases.openstack.org/mitaka/index.html#library-projects

[DEFAULT]/notification_topics is not deprecated for removal so we can still use it. It does pollute logs quite extensively though with deprecation messages.

I can create a PR for changing that but the question is Icehouse & Kilo support.

dshcherb commented 6 years ago

From the IRC discussion, we could think about version-specific sections:

charmhelpers/contrib/openstack/templates//section-oslo-notifications

charmhelpers/contrib/openstack/templates/liberty/section-oslo-notifications charmhelpers/contrib/openstack/templates/mitaka/section-oslo-notifications

Or, alternatively: charmhelpers/contrib/openstack/templates/section--oslo-notifications

The above case is not the only one as, for example, transport_url got moved from [oslo_messaging_notifications] to DEFAULT:

https://github.com/openstack/oslo.messaging/blob/stable/pike/oslo_messaging/transport.py#L43-L47 (new place) https://github.com/openstack/oslo.messaging/blob/stable/pike/oslo_messaging/notify/notifier.py#L41-L47 (old + deprecation)

Branch-style code to handle that. https://github.com/openstack/oslo.messaging/blob/stable/pike/oslo_messaging/notify/notifier.py#L41-L47