Bug 1095414

Summary: python-ceilometer missing pecan and/or openstack-ceilometer-api dependency
Product: [Community] RDO Reporter: leskomw
Component: openstack-ceilometerAssignee: RHOS Maint <rhos-maint>
Status: CLOSED CURRENTRELEASE QA Contact: Shai Revivo <srevivo>
Severity: medium Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: jruzicka, pbrady, yeylon
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: openstack-ceilometer-2014.1-2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-05-07 21:13:05 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 leskomw 2014-05-07 16:06:26 UTC
Description of problem:
Similar to https://bugzilla.redhat.com/show_bug.cgi?id=1095395, the openstack-ceilometer-compute 
service does not successfully start.

sudo runuser -s /bin/bash ceilometer -c '/usr/bin/ceilometer-agent-compute --logfile /var/log/ceilometer/compute.log '
Traceback (most recent call last):
  File "/usr/bin/ceilometer-agent-compute", line 6, in <module>
    from ceilometer.cli import agent_compute
  File "/usr/lib/python2.6/site-packages/ceilometer/cli.py", line 34, in <module>
    from ceilometer.api import app
  File "/usr/lib/python2.6/site-packages/ceilometer/api/app.py", line 26, in <module>
    import pecan
ImportError: No module named pecan

Version-Release number of selected component (if applicable):
openstack-ceilometer-compute-2014.1-1.el6.noarch


How reproducible:
Always, IF the python-pecan module is not installed


Steps to Reproduce:
1. rpm -e opestack-ceilometer-api openstack-ceilometer-compute python-pecan
2. yum -y install opentstack-ceilometer-compute
3. service openstack-ceilometer-agent start
4. service openstack-ceilometer-agent status

Actual results:

$ sudo service openstack-ceilometer-compute start ; echo $?
Starting openstack-ceilometer-compute:                     [  OK  ]

$ sudo service openstack-ceilometer-compute status ; echo $?
openstack-ceilometer-compute dead but pid file exists
1

Expected results:
$ sudo service openstack-ceilometer-compute start ; echo $?
Starting openstack-ceilometer-compute:                     [  OK  ]

$ sudo service openstack-ceilometer-compute status ; echo $?
openstack-ceilometer (pid  12345) is running...
0

Additional info:

See https://bugzilla.redhat.com/show_bug.cgi?id=1095395 for a similar problem;
I think the underlying Require: for openstack-ceilometer-compute might be
openstack-ceilometer-api, which _does_ include pecan, as well as many other
python modules.

Comment 1 Pádraig Brady 2014-05-07 17:01:31 UTC
*** Bug 1095395 has been marked as a duplicate of this bug. ***

Comment 2 Pádraig Brady 2014-05-07 17:03:42 UTC
(from bug 1095395): ceilometer-agent-compute should also depend on python-ceilometerclient

sudo runuser -s /bin/bash ceilometer -c '/usr/bin/ceilometer-agent-compute --logfile /var/log/ceilometer/compute.log '
Traceback (most recent call last):
  File "/usr/bin/ceilometer-agent-compute", line 6, in <module>
    from ceilometer.cli import agent_compute
  File "/usr/lib/python2.6/site-packages/ceilometer/cli.py", line 33, in <module>
    from ceilometer.alarm import service as alarm_service
  File "/usr/lib/python2.6/site-packages/ceilometer/alarm/service.py", line 23, in <module>
    from ceilometerclient import client as ceiloclient
ImportError: No module named ceilometerclient

Comment 3 Pádraig Brady 2014-05-07 18:03:38 UTC
This was a recent change upstream after the final milestone release:
https://review.openstack.org/#/c/79628/
which has the affect of having everything dependent on each other :(

So the best way currently would be for all dependencies to
be added as well to the python-ceilometer subpackage so that
they are installed on all hosts. This get's one over the immediate issue
but it's horrible.  I'll do it for now and log and have referenced
a new upstream bug about the increased dependencies.

For reference the new global deps are:

+Requires:         python-pymongo
+Requires:         python-flask
+Requires:         python-pecan >= 0.4.5
+Requires:         python-wsme >= 0.6
+Requires:         python-novaclient
+Requires:         python-keystoneclient
+Requires:         python-glanceclient
+Requires:         python-swiftclient
+Requires:         python-ceilometerclient
+Requires:         libvirt-python