[openstack-dev] Barbican : Dependency of pyenv configuration in Barbican.sh script

Adam Harwell adam.harwell at RACKSPACE.COM
Thu Apr 23 15:28:03 UTC 2015


Do you have sqlite installed on your system, and do you have config.py in the root of your barbican directory? The database is configured there (assuming it hasn’t changed since I last ran Barbican locally), and mine looks like this:

config = {
    'sqlalchemy': {
        'url': 'sqlite:////tmp/barbican.db',
        'echo': True,
        'echo_pool': False,
        'pool_recycle': 3600,
        'encoding': 'utf-8'
    }
}

--Adam

https://keybase.io/rm_you


From: neetu jain <nutshi at gmail.com<mailto:nutshi at gmail.com>>
Date: Thursday, April 23, 2015 at 10:07 AM
To: Asha Seshagiri <asha.seshagiri at gmail.com<mailto:asha.seshagiri at gmail.com>>
Cc: John Wood <john.wood at RACKSPACE.COM<mailto:john.wood at RACKSPACE.COM>>, openstack-dev <openstack-dev at lists.openstack.org<mailto:openstack-dev at lists.openstack.org>>, "Reller, Nathan S." <Nathan.Reller at jhuapl.edu<mailto:Nathan.Reller at jhuapl.edu>>, Douglas Mendizabal <douglas.mendizabal at RACKSPACE.COM<mailto:douglas.mendizabal at RACKSPACE.COM>>, Paul Kehrer <paul.kehrer at RACKSPACE.COM<mailto:paul.kehrer at RACKSPACE.COM>>, Adam Harwell <adam.harwell at rackspace.com<mailto:adam.harwell at rackspace.com>>, Alexis Lee <alexisl at hp.com<mailto:alexisl at hp.com>>
Subject: Re: Barbican : Dependency of pyenv configuration in Barbican.sh script

Thanks John for you answer.
I tried running the  script bin/barbican-api and ran into this issue (pasted at the end) . Seems like the script does not take care of the database side.

1) do we need to do something else to setup database? or its being worked on ?
2) Can we help in the process of removing dependencies in these scripts? Should that be through the launchpad ?


TASK: [barbican | install barbican] *******************************************
failed: [barbican-04] => {"changed": true, "cmd": "cd /root/barbican/; python bin/barbican-api", "delta": "0:00:00.553279", "end": "2015-04-23 14:56:45.773115", "rc": 1, "start": "2015-04-23 14:56:45.219836", "warnings": []}
stderr: 2015-04-23 14:56:45.736 6984 CRITICAL barbican [-] BarbicanException: No SQL connection configured
2015-04-23 14:56:45.736 6984 TRACE barbican Traceback (most recent call last):
2015-04-23 14:56:45.736 6984 TRACE barbican   File "bin/barbican-api", line 17, in <module>
2015-04-23 14:56:45.736 6984 TRACE barbican     run()
2015-04-23 14:56:45.736 6984 TRACE barbican   File "bin/barbican-api", line 12, in run
2015-04-23 14:56:45.736 6984 TRACE barbican     relative_to='.')
2015-04-23 14:56:45.736 6984 TRACE barbican   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
2015-04-23 14:56:45.736 6984 TRACE barbican     return loadobj(APP, uri, name=name, **kw)
2015-04-23 14:56:45.736 6984 TRACE barbican   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
2015-04-23 14:56:45.736 6984 TRACE barbican     return context.create()
2015-04-23 14:56:45.736 6984 TRACE barbican   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
2015-04-23 14:56:45.736 6984 TRACE barbican     return self.object_type.invoke(self)
2015-04-23 14:56:45.736 6984 TRACE barbican   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2015-04-23 14:56:45.736 6984 TRACE barbican     **context.local_conf)
2015-04-23 14:56:45.736 6984 TRACE barbican   File "/usr/lib/python2.7/site-packages/paste/deploy/util.py", line 56, in fix_call
2015-04-23 14:56:45.736 6984 TRACE barbican     val = callable(*args, **kw)
2015-04-23 14:56:45.736 6984 TRACE barbican   File "/usr/lib64/python2.7/site-packages/paste/urlmap.py", line 31, in urlmap_factory
2015-04-23 14:56:45.736 6984 TRACE barbican     app = loader.get_app(app_name, global_conf=global_conf)
2015-04-23 14:56:45.736 6984 TRACE barbican   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 350, in get_app
2015-04-23 14:56:45.736 6984 TRACE barbican     name=name, global_conf=global_conf).create()
2015-04-23 14:56:45.736 6984 TRACE barbican   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
2015-04-23 14:56:45.736 6984 TRACE barbican     return self.object_type.invoke(self)
2015-04-23 14:56:45.736 6984 TRACE barbican   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 203, in invoke
2015-04-23 14:56:45.736 6984 TRACE barbican     app = context.app_context.create()
2015-04-23 14:56:45.736 6984 TRACE barbican   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
2015-04-23 14:56:45.736 6984 TRACE barbican     return self.object_type.invoke(self)
2015-04-23 14:56:45.736 6984 TRACE barbican   File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 146, in invoke
2015-04-23 14:56:45.736 6984 TRACE barbican     return fix_call(context.object, context.global_conf, **context.local_conf)
2015-04-23 14:56:45.736 6984 TRACE barbican   File "/usr/lib/python2.7/site-packages/paste/deploy/util.py", line 56, in fix_call
2015-04-23 14:56:45.736 6984 TRACE barbican     val = callable(*args, **kw)
2015-04-23 14:56:45.736 6984 TRACE barbican   File "/root/barbican/barbican/api/app.py", line 89, in create_main_app
2015-04-23 14:56:45.736 6984 TRACE barbican     repositories.setup_database_engine_and_factory()
2015-04-23 14:56:45.736 6984 TRACE barbican   File "/root/barbican/barbican/model/repositories.py", line 109, in setup_database_engine_and_factory
2015-04-23 14:56:45.736 6984 TRACE barbican     _ENGINE = _get_engine(_ENGINE)
2015-04-23 14:56:45.736 6984 TRACE barbican   File "/root/barbican/barbican/model/repositories.py", line 170, in _get_engine
2015-04-23 14:56:45.736 6984 TRACE barbican     u._('No SQL connection configured'))
2015-04-23 14:56:45.736 6984 TRACE barbican BarbicanException: No SQL connection configured
2015-04-23 14:56:45.736 6984 TRACE barbican

FATAL: all hosts have already failed -- aborting


On Wed, Apr 22, 2015 at 11:50 PM, Asha Seshagiri <asha.seshagiri at gmail.com<mailto:asha.seshagiri at gmail.com>> wrote:
Thanks a lot John for your response.
I appreciate for your time and effort in answering the queries and also pointing to the latest changes which you been always doing :)

Thanks and  Regards,
Asha Seshagiri

On Wed, Apr 22, 2015 at 6:09 PM, John Wood <john.wood at rackspace.com<mailto:john.wood at rackspace.com>> wrote:
Hello Asha,

The barbican.sh script was originally intended to be a convenient way to boot up a Barbican instance locally to quickly start evaluating its API and functionality.

It was not intended to be used as a production script, deferring instead to deployments utilizing packages such as RDO RPMs and so forth for that purpose.

That said, changes to that script have been discussed, including removing pyenv and uWSGI as dependencies, hence such changes would be good to consider.

I’d also note that a solution based on this recently added script [1] might be in order.

Thanks,
John

[1] https://github.com/openstack/barbican/blob/master/bin/barbican-api


From: Asha Seshagiri <asha.seshagiri at gmail.com<mailto:asha.seshagiri at gmail.com>>
Date: Wednesday, April 22, 2015 at 4:57 PM
To: openstack-dev <openstack-dev at lists.openstack.org<mailto:openstack-dev at lists.openstack.org>>
Cc: John Wood <john.wood at rackspace.com<mailto:john.wood at rackspace.com>>, "Reller, Nathan S." <Nathan.Reller at jhuapl.edu<mailto:Nathan.Reller at jhuapl.edu>>, Douglas Mendizabal <douglas.mendizabal at RACKSPACE.COM<mailto:douglas.mendizabal at RACKSPACE.COM>>, Paul Kehrer <paul.kehrer at RACKSPACE.COM<mailto:paul.kehrer at RACKSPACE.COM>>, Adam Harwell <adam.harwell at RACKSPACE.COM<mailto:adam.harwell at RACKSPACE.COM>>, Alexis Lee <alexisl at hp.com<mailto:alexisl at hp.com>>, "nutshi at gmail.com<mailto:nutshi at gmail.com>" <nutshi at gmail.com<mailto:nutshi at gmail.com>>
Subject: Barbican : Dependency of pyenv configuration in Barbican.sh script

Hi All,

I would like to know the reason behind the dependency of the pyenv virtual environment and pyenv in the barbican.sh script.
Ideally in the production environment  , barbican would run on standalone virtual box with a particular python version .I feel that their dependecies needs to be removed from the script.

Was able to stand up the barbican instance without configuring pyenv and pyenv-virtualenv dependencies  by modifying the barbican script , installing few additional packages and exporting the python path to PATH variable
Please find the change in barbican.sh script for installation and starting of the script below :

VENV_DIR=${VIRTUAL_ENV:-`pyenv prefix`} -> This line needs to be removed
uwsgi --master --emperor $CONFIG_DIR/vassals -H  $VENV_DIR -> The  $VENV_DIR variable need to be removed as an argument and -H as an option.

The barbican script has been tied to $VENV_DIR variable which is dependent on the pyenv  for python configuration.Hence the barbican.sh  script needs to be  modified to remove $VENV_DIR variable  by configuring python path in PATH variable.
On doing this , we can avoid the sourcing the pyenv and pyenv-virtualenv packages  and its dependices on Barbican script.

Any help would be highly appreciated and also would like to know opinion from the openstack group  on the changes indicated
Thanks in advance


Thanks and Regards,
Asha Seshagiri



--
Thanks and Regards,
Asha Seshagiri

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150423/747dfd2e/attachment.html>


More information about the OpenStack-dev mailing list