Bug 1084540

Summary: Missing python-anyjson dependency in icehouse EPEL RPMs [2014.1]
Product: [Community] RDO Reporter: Joe Harrison <joehazzers>
Component: openstack-glanceAssignee: Flavio Percoco <fpercoco>
Status: CLOSED DUPLICATE QA Contact: Dafna Ron <dron>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: eglynn, fpercoco, joehazzers, yeylon
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: noarch   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-04-10 08:06:22 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:
Attachments:
Description Flags
Glance API Debug Log none

Description Joe Harrison 2014-04-04 15:31:24 UTC
Description of problem:
The icehouse openstack-glance RPM from RDO lacks a requirement for python-anyjson.

Version-Release number of selected component (if applicable):
openstack-glance-2014.1-0.4.b3.el6


How reproducible:

Install openstack-glance from RDO Icehouse EPEL6 repos and try to start glance-api. A debug log is attached.


Steps to Reproduce:
1. Install openstack-glance-2014.1-0.4.b3.el6
2. Attempt to start glance-api (for example, `sudo -u glance glance-api --debug`)
3. Application will fail to start
4. A stack trace containing a missing dependency on anyjson appears either on the screen (if using the command in step 2) or in the configured logs.
5. This is a critical error. The application will exit.

Actual results:

OpenStack Glance API (glance-api) fails to start.

Expected results:

OpenStack Glance RPM would have included python-anyjson as a requirement and would have been installed.


Additional info:

Not sure if this belongs in oslo.messaging rpm or in the openstack-glance rpm.
Maybe it's a common requirement for oslo.messaging in general?
However, python-anyjson is listed as a requirement of openstack-glance at the time of writing in the 2014.1.b3 tagged commit for glance (line #10):
http://git.openstack.org/cgit/openstack/glance/tree/requirements.txt?id=f70b72b78b16d569f469f2cd6381dee6c90ed229#n10

Comment 1 Joe Harrison 2014-04-04 15:34:36 UTC
Fix for RPC backend bug (rabbit is default) was proposed just now:
https://review.openstack.org/#/c/85382/

This is somewhat related (fixes this exception happening by default on fresh default configuration installs) but does not fix the missing dependency.

Comment 2 Flavio Percoco 2014-04-07 08:26:55 UTC
It's indeed a missing requirement. Thanks for catching it!

Comment 3 Flavio Percoco 2014-04-07 08:33:42 UTC
Actually, I take that back. :D

anyjson is an optional dependency. If present, it'll be used for (de)serializing json, otherwise the built-in json module will be used.

However, it is a dependency for kombu, which will be installed as part of kombu.

Here's the reference code: http://git.openstack.org/cgit/openstack/glance/tree/glance/openstack/common/jsonutils.py#n176

Comment 4 Joe Harrison 2014-04-07 12:26:36 UTC
Which kombu package are you looking at?
I'm looking at this:

Installed Packages
Name        : python-kombu
Arch        : noarch
Version     : 1.1.3
Release     : 1.el6
Size        : 772 k
Repo        : installed
From repo   : epel

In which, the spec file lists no dependencies (apart from build-requires for anyjson).

With the above kombu installed (the SRPM's source archive shows anyjson as a requirement in the setup.py), no other packages will be removed when anyjson goes out the door:

# yum remove python-anyjson

Resolving Dependencies
--> Running transaction check
---> Package python-anyjson.noarch 0:0.3.1-1.el6 will be erased
--> Finished Dependency Resolution

Dependencies Resolved


Is this a missing requirement in the EPEL kombu package, then?

Comment 5 Flavio Percoco 2014-04-07 13:05:25 UTC
I re-opened the bug.

So, anyjson is not a Kombu dependency either. I missed the fact that you mentioned a traceback. Could you please attach the traceback to the bug report?

anyjson is an optional dependency and shouldn't cause any failure. :/

Thanks for digging into this.

Comment 6 Joe Harrison 2014-04-07 13:11:52 UTC
Created attachment 883618 [details]
Glance API Debug Log

Comment 7 Flavio Percoco 2014-04-10 08:06:22 UTC
@Joe Ah, I see the bug now. This report is a duplicate of bz #1084495

I can now close it with the right status. Thanks a lot for reporting it. Also, FWIW, we'll make kombu a hard dependency again. Cheers!

*** This bug has been marked as a duplicate of bug 1084495 ***