Bug 1219064

Summary: Trove has missing dependencies
Product: [Community] RDO Reporter: Javier Peña <jpena>
Component: openstack-troveAssignee: Victoria Martinez de la Cruz <vimartin>
Status: CLOSED CURRENTRELEASE QA Contact: Luigi Toscano <ltoscano>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: KiloCC: apevec, ltoscano, markmc, yeylon
Target Milestone: ---   
Target Release: Kilo   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-trove-2015.1.0-3 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-03-14 15:45:53 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:

Description Javier Peña 2015-05-06 14:05:02 UTC
(sorry, reporting here until an openstack-trove component is available in RDO)

Description of problem:
When installing trove-guestagent on a CentOS 7 cloud image and starting the service, it fails to start with the following traces:

2015-05-06 13:17:51.117 10996 TRACE root Traceback (most recent call last):
2015-05-06 13:17:51.117 10996 TRACE root   File "/usr/bin/trove-guestagent", line 10, in <module>
2015-05-06 13:17:51.117 10996 TRACE root     sys.exit(main())
2015-05-06 13:17:51.117 10996 TRACE root   File "/usr/lib/python2.7/site-packages/trove/cmd/guest.py", line 60, in main
2015-05-06 13:17:51.117 10996 TRACE root     from trove import rpc
2015-05-06 13:17:51.117 10996 TRACE root   File "/usr/lib/python2.7/site-packages/trove/rpc.py", line 35, in <module>
2015-05-06 13:17:51.117 10996 TRACE root     from oslo import messaging
2015-05-06 13:17:51.117 10996 TRACE root ImportError: cannot import name messaging


2015-05-06 13:21:34.874 11145 CRITICAL root [-] ImportError: No module named osprofiler
2015-05-06 13:21:34.874 11145 TRACE root Traceback (most recent call last):
2015-05-06 13:21:34.874 11145 TRACE root   File "/usr/bin/trove-guestagent", line 10, in <module>
2015-05-06 13:21:34.874 11145 TRACE root     sys.exit(main())
2015-05-06 13:21:34.874 11145 TRACE root   File "/usr/lib/python2.7/site-packages/trove/cmd/guest.py", line 60, in main
2015-05-06 13:21:34.874 11145 TRACE root     from trove import rpc
2015-05-06 13:21:34.874 11145 TRACE root   File "/usr/lib/python2.7/site-packages/trove/rpc.py", line 36, in <module>
2015-05-06 13:21:34.874 11145 TRACE root     from osprofiler import profiler
2015-05-06 13:21:34.874 11145 TRACE root ImportError: No module named osprofiler
2015-05-06 13:21:34.874 11145 TRACE root 


2015-05-06 13:23:27.747 11292 CRITICAL root [-] ImportError: No module named oslo_concurrency
2015-05-06 13:23:27.747 11292 TRACE root Traceback (most recent call last):
2015-05-06 13:23:27.747 11292 TRACE root   File "/usr/bin/trove-guestagent", line 10, in <module>
2015-05-06 13:23:27.747 11292 TRACE root     sys.exit(main())
2015-05-06 13:23:27.747 11292 TRACE root   File "/usr/lib/python2.7/site-packages/trove/cmd/guest.py", line 60, in main
2015-05-06 13:23:27.747 11292 TRACE root     from trove import rpc
2015-05-06 13:23:27.747 11292 TRACE root   File "/usr/lib/python2.7/site-packages/trove/rpc.py", line 39, in <module>
2015-05-06 13:23:27.747 11292 TRACE root     import trove.common.exception
2015-05-06 13:23:27.747 11292 TRACE root   File "/usr/lib/python2.7/site-packages/trove/common/exception.py", line 20, in <module>
2015-05-06 13:23:27.747 11292 TRACE root     from oslo_concurrency import processutils
2015-05-06 13:23:27.747 11292 TRACE root ImportError: No module named oslo_concurrency
2015-05-06 13:23:27.747 11292 TRACE root

So the following dependencies are missing on python-trove (this is where the error is, it just showed up in the guest agent because there were no other OpenStack components installed):

- python-oslo-messaging
- python-osprofiler
- python-oslo-concurrency

Version-Release number of selected component (if applicable):

python-trove-2015.1.0-2.el7 (kilo testing)

How reproducible:

Always

Steps to Reproduce:
1. Install any Trove component on a fresh machine with no other RDO components
2. Start the Trove service

Actual results:
Stack traces as shown above.

Comment 1 Javier Peña 2015-05-06 14:12:17 UTC
Proposed https://review.gerrithub.io/232514 with a possible fix.

Comment 2 Alan Pevec (Fedora) 2015-05-08 18:18:08 UTC
in kilo/testing repo

Comment 4 Luigi Toscano 2016-03-14 15:45:53 UTC
The issue is now fixed. With both RDO Liberty and the current snapshot of RDO Mitaka, the openstack-trove-guestagent package has all the required dependency to start the daemon (only the configuration is needed for it).

Tested on up-to-date CentOS 7, with:

RDO Kilo:
openstack-trove-common-2015.1.0-3.el7.noarch
openstack-trove-guestagent-2015.1.0-3.el7.noarch
python-trove-2015.1.0-3.el7.noarch

RDO Liberty:
openstack-trove-common-4.0.0-5.el7.noarch
openstack-trove-guestagent-4.0.0-5.el7.noarch
python-trove-4.0.0-5.el7.noarch

RDO Mitaka (DLRN snapshot):
openstack-trove-common-5.0.0.0b3-0.20160304001243.a3a877a.el7.centos.noarch
openstack-trove-guestagent-5.0.0.0b3-0.20160304001243.a3a877a.el7.centos.noarch
python-trove-5.0.0.0b3-0.20160304001243.a3a877a.el7.centos.noarch