[Openstack] Failing to create external stevedore plugin in Barbican

Douglas Mendizabal douglas.mendizabal at RACKSPACE.COM
Fri Nov 21 20:45:24 UTC 2014


Hi Divya,

I’m sorry to hear you’re having trouble developing a plugin.  Unfortunately,
I have not seen that error before, so I don’t have any specific advice to
give you.

>From your description, I think you’re taking a few steps that are not
necessary.  You should not need to change anything in Barbican other than
the barbican-api.conf file to load a custom plugin.  The high level overview
of the steps you need to take is this:
1. Develop your own plugin as a separate python library.
2. Configure your own setup.cfg in your library to export your plugin as an
entry_point under some namespace.  E.g.
3. [entry_points]
4. mynamespace.secretstore.plugin =
5.     my_plugin = mynamespace.secretstore.MySecretStorePlugin
6. Install your library so that the entry_point is added to your python path
7. Confugire barbican-api.conf to use the namespace and plugin name defined
in your own setup.cfg in step 2
There’s more detail on how to develop plugins in the official Barbican
documentation [1], although I don’t think it covers the specific steps
needed to configure your custom plugin once you’ve written it, so I’m making
a note to update those in the near future.

As a side note, I think this question would get more responses in the
openstack-dev mailing list, instead of the general purpose one you sent it
to.

I hope that helps!

-Doug Mendizábal

[1] http://docs.openstack.org/developer/barbican/plugin/index.html

--------------------
Douglas Mendizábal
IRC: redrobot
PGP Key: 245C 7B6F 70E9 D8F3 F5D5  0CC9 AD14 1F30 2D58 923C

From:  Divya Chandrasekar <divya.chandrasekar911 at gmail.com>
Date:  Friday, November 21, 2014 at 1:50 PM
To:  "openstack at lists.openstack.org" <openstack at lists.openstack.org>
Subject:  [Openstack] Failing to create external stevedore plugin in
Barbican

Hi all,

I'm trying to create an external plugin for my barbican setup using
Stevedore. I've made changes to barbican-api.conf and setup.cfg files. Is
there anything else I should be fixing? I keep getting this broken pipe
error on install [please find below the error].

My plugin is pretty much just a placeholder now, and I've created the
namespace similar to crypto. The plugin gets added to entry_points.txt in
barbican.egg-info/ folder.

I'd appreciate any help or documentation support on how to create an
external plugin for barbican.

Thanks & regards,
Divya

============== error =================

Fri Nov 21 11:25:31 2014 - [emperor] vassal barbican-admin.ini has been
spawned
spawned uWSGI worker 1 (pid: 19721, cores: 1)
Loading paste environment: config:/etc/barbican/barbican-api-paste.ini
Loading paste environment: config:/etc/barbican/barbican-admin-paste.ini
WSGI app 0 (mountpoint='') ready in 9 seconds on interpreter 0x9b500e0 pid:
19721
Fri Nov 21 11:25:40 2014 - [emperor] vassal barbican-admin.ini is ready to
accept requests
2014-11-21 11:25:40.393 19720 DEBUG stevedore.extension [-] found extension
EntryPoint.parse('qpid = oslo.messaging._drivers.impl_qpid:QpidDriver')
_load_plugins 
/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/stevedore/ex
tension.py:156
2014-11-21 11:25:40.402 19720 DEBUG stevedore.extension [-] found extension
EntryPoint.parse('amqp =
oslo.messaging._drivers.protocols.amqp:ProtonDriver') _load_plugins
/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/stevedore/ex
tension.py:156
2014-11-21 11:25:40.403 19720 DEBUG stevedore.extension [-] found extension
EntryPoint.parse('kombu = oslo.messaging._drivers.impl_rabbit:RabbitDriver')
_load_plugins 
/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/stevedore/ex
tension.py:156
2014-11-21 11:25:40.405 19720 DEBUG stevedore.extension [-] found extension
EntryPoint.parse('rabbit =
oslo.messaging._drivers.impl_rabbit:RabbitDriver') _load_plugins
/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/stevedore/ex
tension.py:156
Traceback (most recent call last):
  File "/home/dc/.pyenv/versions/2.7.5/lib/python2.7/runpy.py", line 162, in
_run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/home/dc/.pyenv/versions/2.7.5/lib/python2.7/runpy.py", line 72, in
_run_code
    exec code in run_globals
  File 
"/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/subunit/run
.py", line 145, in <module>
    main()
  File 
"/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/subunit/run
.py", line 141, in main
    stdout=stdout, exit=False)
  File 
"/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/testtools/r
un.py", line 232, in __init__
    self.runTests()
  File 
"/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/testtools/r
un.py", line 384, in runTests
    self.result = testRunner.run(self.test)
  File 
"/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/subunit/run
.py", line 61, in run
    result, _ = self._list(test)
  File 
"/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/subunit/run
.py", line 94, in _list
    result.status(test_id=test_id, test_status='exists')
  File 
"/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/subunit/v2.
py", line 118, in status
    route_code=route_code, timestamp=timestamp)
  File 
"/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/subunit/v2.
py", line 214, in _write_packet
    FMT_32, zlib.crc32(content) & 0xffffffff))
IOError: [Errno 32] Broken pipe
2014-11-21 11:25:40.771 19720 DEBUG stevedore.extension [-] found extension
EntryPoint.parse('fake = oslo.messaging._drivers.impl_fake:FakeDriver')
_load_plugins 
/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/stevedore/ex
tension.py:156
2014-11-21 11:25:40.771 19720 DEBUG stevedore.extension [-] found extension
EntryPoint.parse('zmq = oslo.messaging._drivers.impl_zmq:ZmqDriver')
_load_plugins 
/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/stevedore/ex
tension.py:156
2014-11-21 11:25:40.772 19720 DEBUG barbican.api.controllers.secrets [-]
Creating SecretsController __init__
/home/dc/OpenStack-Barbican/barbican/barbican/api/controllers/secrets.py:196
2014-11-21 11:25:40.773 19720 DEBUG barbican.api.controllers.orders [-]
Creating OrdersController __init__
/home/dc/OpenStack-Barbican/barbican/barbican/api/controllers/orders.py:159
2014-11-21 11:25:40.773 19720 DEBUG barbican.api.controllers.transportkeys
[-] Creating TransportKeyController __init__
/home/dc/OpenStack-Barbican/barbican/barbican/api/controllers/transportkeys.
py:76
2014-11-21 11:25:40.782 19720 DEBUG barbican.api.controllers.versions [-]
=== Creating VersionController === __init__
/home/dc/OpenStack-Barbican/barbican/barbican/api/controllers/versions.py:26
WSGI app 0 (mountpoint='') ready in 9 seconds on interpreter 0x9a500e0 pid:
19720
Fri Nov 21 11:25:40 2014 - [emperor] vassal barbican-api.ini is ready to
accept requests


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20141121/e87a1f69/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5567 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20141121/e87a1f69/attachment.bin>


More information about the Openstack mailing list