Bug 1282928

Summary: Trove-api fails to start when deployed using packstack on RHEL 7.2 RC1.1
Product: [Community] RDO Reporter: Telles Nobrega <tenobreg>
Component: openstack-packstackAssignee: Martin Magr <mmagr>
Status: CLOSED CURRENTRELEASE QA Contact: Luigi Toscano <ltoscano>
Severity: high Docs Contact:
Priority: high    
Version: LibertyCC: aortega, derekh, emacchi, ichavero, jschluet, ltoscano, mmagr, srevivo, tenobreg
Target Milestone: ---Keywords: AutomationBlocker, Triaged
Target Release: Liberty   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1298245 1311555 (view as bug list) Environment:
Last Closed: 2016-04-20 13:53:31 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: 1350855    

Description Telles Nobrega 2015-11-17 19:54:40 UTC
Description of problem:
When using Packstack to deploy an RHEL-OSP environment on RHEL 7.2 RC1.1, Trove-api fails due to the configuration api_paste_config = api-paste.ini. This value is incorrect and should be updated to api_paste_config = /usr/share/trove/trove-dist-paste.ini

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


How reproducible:
It is easily reproducible, just need to use Packstack to deploy an RHEL-OSP environment.


Steps to Reproduce:
1. Deploy RHEL-OSP using packstack on RHEL 7.2 RC1.1. Trove-api should fail during installation.

Actual results:
Trove-api fails to start.

Expected results:
Trove-api should start.


Additional info:

2015-11-13 17:43:34.172 1102 CRITICAL root [-] ValueError: Cannot resolve relative uri 'config:None'; no relative_to keyword argument given
2015-11-13 17:43:34.172 1102 ERROR root Traceback (most recent call last):
2015-11-13 17:43:34.172 1102 ERROR root   File "/usr/bin/trove-api", line 10, in <module>
2015-11-13 17:43:34.172 1102 ERROR root     sys.exit(main())
2015-11-13 17:43:34.172 1102 ERROR root   File "/usr/lib/python2.7/site-packages/trove/cmd/common.py", line 73, in run
2015-11-13 17:43:34.172 1102 ERROR root     return main_function(conf)
2015-11-13 17:43:34.172 1102 ERROR root   File "/usr/lib/python2.7/site-packages/trove/cmd/api.py", line 27, in main
2015-11-13 17:43:34.172 1102 ERROR root     host=CONF.bind_host, workers=workers)
2015-11-13 17:43:34.172 1102 ERROR root   File "/usr/lib/python2.7/site-packages/trove/common/wsgi.py", line 79, in launch
2015-11-13 17:43:34.172 1102 ERROR root     app = pastedeploy.paste_deploy_app(paste_config_file, app_name, data)
2015-11-13 17:43:34.172 1102 ERROR root   File "/usr/lib/python2.7/site-packages/trove/common/pastedeploy.py", line 161, in paste_deploy_app
2015-11-13 17:43:34.172 1102 ERROR root     return deploy.loadapp("config:%s" % paste_config_file, name=app_name)
2015-11-13 17:43:34.172 1102 ERROR root   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
2015-11-13 17:43:34.172 1102 ERROR root return loadobj(APP, uri, name=name, **kw)
2015-11-13 17:43:34.172 1102 ERROR root   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 271, in loadobj
2015-11-13 17:43:34.172 1102 ERROR root     global_conf=global_conf)
2015-11-13 17:43:34.172 1102 ERROR root   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext
2015-11-13 17:43:34.172 1102 ERROR root     global_conf=global_conf)
2015-11-13 17:43:34.172 1102 ERROR root   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 308, in _loadconfig
2015-11-13 17:43:34.172 1102 ERROR root     "argument given" % uri)
2015-11-13 17:43:34.172 1102 ERROR root ValueError: Cannot resolve relative uri 'config:None'; no relative_to keyword argument given
2015-11-13 17:43:34.172 1102 ERROR root

Comment 2 Telles Nobrega 2015-11-18 14:07:11 UTC
The bug can be found using Packstack Liberty 7.0.0.dev1661.gaf13b7e and openstack-puppet-modules-7.0.1-1.el7ost.noarch. Also the Trove packages in version 4.0.0-2.el7ost.noarch.

Comment 5 Ivan Chavero 2015-12-08 06:35:15 UTC
Could not reproduce on RHEL 7.1, checking with RHEL 7.2

Comment 6 Luigi Toscano 2015-12-08 08:26:36 UTC
(In reply to Ivan Chavero from comment #5)
> Could not reproduce on RHEL 7.1, checking with RHEL 7.2

On which version of packstack? (the change of product for the bug can be make things a bit more complicated)

Comment 7 Ivan Chavero 2015-12-09 10:42:51 UTC
(In reply to Luigi Toscano from comment #6)
> (In reply to Ivan Chavero from comment #5)
> > Could not reproduce on RHEL 7.1, checking with RHEL 7.2
> 
> On which version of packstack? (the change of product for the bug can be
> make things a bit more complicated)

packstack master branch from source

Comment 8 Luigi Toscano 2016-01-13 14:44:49 UTC
Any updates?

Comment 9 Martin Magr 2016-01-13 15:24:14 UTC
The default value of api_paste_config is really api-paste.ini. Checked also RDO openstack-trove rpm and the default value is not modified on packaging level. This value sadly is not possible to modify via Puppet modules, hence I've created the clone to openstack-puppet-modules and submitted workaround in Packstack. 

Though I don't think '/usr/share/trove/trove-dist-paste.ini' is a correct value, because in RDO package the api-paste.ini file is located in /etc/trove

[1] https://github.com/openstack/trove/blob/master/etc/trove/trove.conf.sample#L154