Bug 1791364

Summary: oslo_messaging is missing a dependency
Product: Red Hat OpenStack Reporter: Martin Magr <mmagr>
Component: distributionAssignee: shreshtha joshi <shrjoshi>
Status: CLOSED ERRATA QA Contact: Leonid Natapov <lnatapov>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 16.0 (Train)CC: amoralej, apannu, apevec, athomas, jeckersb, jjoyce, lhh, lnatapov, mburns, mrunge, sclewis, shrjoshi
Target Milestone: gaKeywords: FutureFeature, Triaged
Target Release: 16.0 (Train on RHEL 8.1)   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: python-pyngus-2.3.0-1.el8ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1855074 (view as bug list) Environment:
Last Closed: 2020-02-06 14:44:12 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1855074    

Description Martin Magr 2020-01-15 16:22:14 UTC
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>

Comment 1 Lon Hohberger 2020-01-15 16:56:04 UTC
Note: this is a net-new component.

Comment 2 Lon Hohberger 2020-01-15 16:59:37 UTC
pyngus depends on python-qpid-proton

Comment 3 Lon Hohberger 2020-01-15 17:18:56 UTC
python3-qpid-proton pulls in qpid-proton-c

Comment 4 Alan Pevec 2020-01-15 17:33:06 UTC
> 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.

Comment 6 Hervé Beraud 2020-01-15 17:37:35 UTC
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.

Comment 8 Lon Hohberger 2020-01-15 18:21:02 UTC
We need the entire list of containers where this will be required.  Martin, can you provide this?

Comment 10 Martin Magr 2020-01-15 20:36:32 UTC
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.

Comment 11 Alan Pevec 2020-01-15 22:41:02 UTC
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.

Comment 13 Lon Hohberger 2020-01-21 14:09:24 UTC
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.

Comment 17 Leonid Natapov 2020-01-28 14:42:13 UTC
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.

Comment 18 Leonid Natapov 2020-01-29 10:00:14 UTC
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.

Comment 20 errata-xmlrpc 2020-02-06 14:44:12 UTC
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