Plugin manager stevedore integration is not threadsafe

Bug #1358386 reported by John Wood
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Barbican
Fix Released
Critical
Paul Kehrer

Bug Description

Paul Kehrer (reaperhulk) verified that the current usage pattern for plugin managers in Barbican breaks functionality for the HSM interactions. In particular, an attempt to utilize the crypto_store.py plugin to interface to the HSM resulted in an IOError from the PKCS11 library, which then appeared to break the sockets interface from Barbican to external systems (such as the queue) thereafter. Paul has submitted a CR (https://review.openstack.org/#/c/114341/) to fix this problem utilizing a singleton approach for the HSM plugin manager.

Hence existing plugin manager implementations should implement this similar pattern. This bug is to address those places (I think currently only the secret_store.py plugin manager here: https://github.com/openstack/barbican/blob/master/barbican/plugin/interface/secret_store.py#L421).

Thanks,
John

Changed in barbican:
milestone: none → juno-3
status: New → Confirmed
importance: Undecided → Critical
assignee: nobody → Paul Kehrer (paul-l-kehrer)
Changed in barbican:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to barbican (master)

Reviewed: https://review.openstack.org/114341
Committed: https://git.openstack.org/cgit/openstack/barbican/commit/?id=a9b841c2a5ac2f7518597b22086d62a59ad5ba39
Submitter: Jenkins
Branch: master

commit a9b841c2a5ac2f7518597b22086d62a59ad5ba39
Author: Paul Kehrer <email address hidden>
Date: Thu Aug 14 10:34:23 2014 -1000

    change CryptoPluginManager to be instantiated in the module scope

    Fixes an issue where SecretStore was repeatedly creating new instances
    of the stevedore extension manager, which caused issues with the loaded
    plugins.

    Closes-Bug: 1358386
    Change-Id: Icfafce0ec6fbacc2c39e23ea31f200a56197b7cb

Changed in barbican:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in barbican:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in barbican:
milestone: juno-3 → 2014.2
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.