deckhand/deckhand/control
Felipe Monteiro d27ab2d8ea Use concurrency to retrieve unencrypted secret data
This patch set uses concurrent.futures.ThreadPoolExecutor
[0] to retrieve multiple Barbican secrets concurrently.
This is because currently it is only possible to retrieve
1 secret payload from Barbican at a time -- for revisions
with several dozen secrets it is therefore too costly
to serially perform these API requests.

A new configuration option is added to the [barbican]
group called `max_workers` which specifies the number
of threads to use. The default value is 10. Note that:
"If max_workers is None or not given, it will default
to the number of processors on the machine, multiplied by 5"
[0] so the default is 10 for 2 * 5 which is overly
conservative if anything.

If any error occurs during any of the requests a 500
is raised with appropriate details.

[0] https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.ThreadPoolExecutor

Change-Id: I76a5bb6c345054e160c14bdf9fb7087e3a746a5e
2018-07-23 17:00:28 +01:00
..
views [feature] Endpoint for listing revision validations with details 2018-04-29 01:37:38 +00:00
__init__.py DECKHAND-2: Design core Deckhand API framework 2017-06-27 19:26:51 +01:00
api.py Add no oauth middleware to bypass keystone authentication 2018-05-08 03:46:52 +01:00
base.py refactor: Use yaml.add_representer to reduce complexity 2018-07-10 19:23:52 +01:00
buckets.py refactor: Use yaml.add_representer to reduce complexity 2018-07-10 19:23:52 +01:00
common.py [test] Add integration test scenario for encrypting generic type 2018-06-16 15:11:20 -04:00
health.py Allow anonymous access for health and versions 2017-11-21 16:37:34 -06:00
middleware.py optimization: Remove needless json.loads from middleware 2018-07-03 23:28:56 +00:00
no_oauth_middleware.py Add no oauth middleware to bypass keystone authentication 2018-05-08 03:46:52 +01:00
revision_diffing.py Make Deckhand validation exceptions adhere to UCP standard 2018-04-26 18:51:08 +00:00
revision_documents.py Use concurrency to retrieve unencrypted secret data 2018-07-23 17:00:28 +01:00
revision_tags.py Make Deckhand validation exceptions adhere to UCP standard 2018-04-26 18:51:08 +00:00
revisions.py Make Deckhand validation exceptions adhere to UCP standard 2018-04-26 18:51:08 +00:00
rollback.py Make Deckhand validation exceptions adhere to UCP standard 2018-04-26 18:51:08 +00:00
validations.py [feature] Endpoint for listing revision validations with details 2018-04-29 01:37:38 +00:00
versions.py Allow anonymous access for health and versions 2017-11-21 16:37:34 -06:00