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
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.
It's indeed a missing requirement. Thanks for catching it!
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
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?
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.
Created attachment 883618 [details] Glance API Debug Log
@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 ***