Description of problem: Configuring Ceilometer to send events to qdrouterd running in metric_qdr container results in connection failures due to missing python-pyngus module: 2020-01-15 16:03:19.912 24 ERROR ceilometer.pipeline.base [-] Unable to load publisher notifier://172.17.1.93:5666/?driver=amqp: ModuleNotFoundError: No module named 'pyngus' 2020-01-15 16:03:19.912 24 ERROR ceilometer.pipeline.base File "/usr/lib/python3.6/site-packages/oslo_messaging/_drivers/impl_amqp1.py", line 35, in <module> 2020-01-15 16:03:19.912 24 ERROR ceilometer.pipeline.base from oslo_messaging._drivers.amqp1_driver.eventloop import compute_timeout 2020-01-15 16:03:19.912 24 ERROR ceilometer.pipeline.base File "/usr/lib/python3.6/site-packages/oslo_messaging/_drivers/amqp1_driver/eventloop.py", line 31, in <module>
Note: this is a net-new component.
pyngus depends on python-qpid-proton
python3-qpid-proton pulls in qpid-proton-c
> Configuring Ceilometer to send events to qdrouterd qpid-proton is optional oslo.messaging transport, so this config need to add optional dependency explicitly It does not need to be present in containers where services are using oslo.messaging with RabbitMQ.
Hello, pyngus was moved to optional 2 years ago (upstream) => https://github.com/openstack/oslo.messaging/commit/1231c4cbf27989b6a4a92cb7cd59317bb8c9d71a https://github.com/openstack/oslo.messaging/blob/master/setup.cfg#L23 It's look like it was dropped downstream on OSP16, still present on OSP14 and OSP15 on oslo.messaging specfile downstream.
We need the entire list of containers where this will be required. Martin, can you provide this?
It is ceilometer_agent_notification container where we need the library. So I guess we could add it as dependency to openstack-ceilometer-notification rpm.
FWIW in RDO python-oslo-messaging has added explicit Requires: python-pyngus in https://review.rdoproject.org/r/22745 so we can go with that to minimize the delta.
NACK on using python-oslo-messaging. This would put the entire python-qpid, qpid-proton-c into these containers: openstack-nova-libvirt (OK, fine) openstack-dependencies (Not really okay) When security issues arise in the python-pyngus dependency chain, including qpid-proton, this means everything using openstack-dependencies needs to be rebuilt - for _one_ container needing access to python-pyngus/python-qpid/qpid-proton.
this bz won't be verified until elaborated instructions regarding testing provided for QE. 1. What templates exactly should be included in overcloud deploy command. 2.If there is any custom templates that should be specified in deploy command what is the content of the custom template. 3.What should be or should not be seen in log files after deployment.
Deployed OSP16 with ceilometer-write-qdr that writes to the local QDR that was installed by including qdr-edgr template in deploy command. 1.()[ceilometer@controller-0 /]$ rpm -qa | grep pyngus python3-pyngus-2.3.0-1.el8ost.noarch python3-pyngus included in the ceilometer_agent_notification container. No errors seen in the ceilometer_agaent log file.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2020:0283