<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;"><div><div>Hi Divya,</div><div><br></div><div>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.</div><div><br></div><div>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:</div><ol><li>Develop your own plugin as a separate python library.</li><li>Configure <i>your own setup.cfg</i> in your library to export your plugin as an entry_point under some namespace.  E.g.<br>[entry_points]<br>mynamespace.secretstore.plugin =<br>    my_plugin = mynamespace.secretstore.MySecretStorePlugin</li><li>Install your library so that the entry_point is added to your python path</li><li>Confugire barbican-api.conf to use the namespace and plugin name defined in your own setup.cfg in step 2</li></ol><div>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. </div><div><br></div><div>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.</div><div><br></div><div>I hope that helps!</div><div><br></div><div>-Doug Mendizábal</div><div><br></div><div>[1] <a href="http://docs.openstack.org/developer/barbican/plugin/index.html">http://docs.openstack.org/developer/barbican/plugin/index.html</a></div><div><br></div><div><div>--------------------</div>Douglas Mendizábal<div>IRC: redrobot</div><div>PGP Key: <span style="white-space: pre-wrap;">245C 7B6F 70E9 D8F3 F5D5  0CC9 AD14 1F30 2D58 923C</span></div></div></div><div><br></div><span id="OLK_SRC_BODY_SECTION"><div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt"><span style="font-weight:bold">From: </span> Divya Chandrasekar <<a href="mailto:divya.chandrasekar911@gmail.com">divya.chandrasekar911@gmail.com</a>><br><span style="font-weight:bold">Date: </span> Friday, November 21, 2014 at 1:50 PM<br><span style="font-weight:bold">To: </span> "<a href="mailto:openstack@lists.openstack.org">openstack@lists.openstack.org</a>" <<a href="mailto:openstack@lists.openstack.org">openstack@lists.openstack.org</a>><br><span style="font-weight:bold">Subject: </span> [Openstack] Failing to create external stevedore plugin in Barbican<br></div><div><br></div><div><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div><div dir="ltr"><div>Hi all,</div><div><br></div><div>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]. </div><div><br></div><div>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.</div><div><br></div><div>I'd appreciate any help or documentation support on how to create an external plugin for barbican. </div><div><br></div><div>Thanks & regards,</div><div>Divya</div><div><br></div><div>============== error =================</div><div><br></div>
Fri Nov 21 11:25:31 2014 - [emperor] vassal barbican-admin.ini has been spawned<br>
spawned uWSGI worker 1 (pid: 19721, cores: 1)<br>
Loading paste environment: config:/etc/barbican/barbican-api-paste.ini<br>
Loading paste environment: config:/etc/barbican/barbican-admin-paste.ini<br>
WSGI app 0 (mountpoint='') ready in 9 seconds on interpreter 0x9b500e0 pid: 19721<br>
Fri Nov 21 11:25:40 2014 - [emperor] vassal barbican-admin.ini is ready to accept requests<br>
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/extension.py:156<br>
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/extension.py:156<br>
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/extension.py:156<br>
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/extension.py:156<br>
Traceback (most recent call last):<br>
  File "/home/dc/.pyenv/versions/2.7.5/lib/python2.7/runpy.py", line 162, in _run_module_as_main<br>
    "__main__", fname, loader, pkg_name)<br>
  File "/home/dc/.pyenv/versions/2.7.5/lib/python2.7/runpy.py", line 72, in _run_code<br>
    exec code in run_globals<br>
  File "/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/subunit/run.py", line 145, in <module><br>
    main()<br>
  File "/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/subunit/run.py", line 141, in main<br>
    stdout=stdout, exit=False)<br>
  File "/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/testtools/run.py", line 232, in __init__<br>
    self.runTests()<br>
  File "/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/testtools/run.py", line 384, in runTests<br>
    self.result = testRunner.run(self.test)<br>
  File "/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/subunit/run.py", line 61, in run<br>
    result, _ = self._list(test)<br>
  File "/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/subunit/run.py", line 94, in _list<br>
    result.status(test_id=test_id, test_status='exists')<br>
  File "/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/subunit/v2.py", line 118, in status<br>
    route_code=route_code, timestamp=timestamp)<br>
  File "/home/dc/.pyenv/versions/barbican27/lib/python2.7/site-packages/subunit/v2.py", line 214, in _write_packet<br>
    FMT_32, zlib.crc32(content) & 0xffffffff))<br>
IOError: [Errno 32] Broken pipe<br>
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/extension.py:156<br>
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/extension.py:156<br>
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<br>
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<br>
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<br>
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<br>
WSGI app 0 (mountpoint='') ready in 9 seconds on interpreter 0x9a500e0 pid: 19720<br>
Fri Nov 21 11:25:40 2014 - [emperor] vassal barbican-api.ini is ready to accept requests<br></div></div></div></span></body></html>