44 Commits

Author SHA1 Message Date
Thomas Bechtold
06b76aa6e8 Use oslo-config-generator to generate barbican.conf.sample
Currently etc/barbican/barbican.conf is maintained by hand and can not
be regenerated based on the config settings defined in the code.
A common pattern for OpenStack projects is to use oslo-config-generator
for that task.

Co-Authored-By: Randall Burt <randall.burt@rackspace.com>
Depends-On: I90870dcb49cd96f6bf0fe353fa6e779ffd87a5af
Closes-Bug: #1584789
Change-Id: I5f3dcd2fc982f1178ef7dd662c24d3166f91b266
2017-04-05 08:02:35 +02:00
Cao Xuan Hoang
e82957d1d5 Remove support for py34
The gating on python 3.4 is restricted to <= Mitaka. This is due to
the change from Ubuntu Trusty to Xenial, where only python3.5 is
available. There is no need to continue to keep these settings.

Change-Id: I4373f5ee1a7addfe981818ef059c73a57594d624
2017-02-08 16:48:10 +07:00
Jenkins
6134ec02f5 Merge "Add summary to metadata in setup.cfg file" 2016-11-03 20:20:33 +00:00
OpenStack Proposal Bot
63c5680663 Updated from global requirements
Change-Id: I4afbb0368bad527e4e6df90ba4c9897104fc10c4
2016-10-27 12:12:14 +00:00
Thomas Bechtold
3b95ff8f27 Add dogtag-pki and python-nss as extra requirement
dogtag imports pki so mention it as requirement. python-nss
is needed by dogtag-pki.
Also add a bindep.txt file which is used by bindep to install system
packages.
To install python-nss via pip, header files from nss-devel and
mozilla-nss-devel are needed.

Change-Id: Ia3276ad4be56d40fddbf458f215ab93e44ed6907
Depends-On: Ibedae54e631e9c3d3726453adcd204ce96b19d77
Closes-Bug: #1604417
2016-10-18 15:16:02 +02:00
Dave McCowan
8388a5c997 Add summary to metadata in setup.cfg file
Set "summary" equal to "OpenStack Secure Key Management".
This value is consumed by various bots and services.

Change-Id: I6d90c66b2eed408d182e2244f9415de4302d5c62
2016-10-06 17:14:47 -04:00
Jenkins
1fe54a5433 Merge "modify the home-page info with the developer documentation" 2016-08-16 21:46:57 +00:00
Eric Brown
bf19558e02 Add Python 3.5 classifier and venv
Now that there is a passing gate job, we can claim support for
Python 3.5 in the classifier. This patch also adds the convenience
py35 venv.

Review that added the gate jobs:
https://review.openstack.org/#/c/336272/

Change-Id: I97ef7eef2d6adaec6bd1cd978b7e357c8560eba0
2016-08-05 05:56:31 +00:00
gengchc2
d1e39e0d88 modify the home-page info with the developer documentation
update home-page info

Change-Id: I6e97a41a5dd5c34b466d59f80a0326195a368c12
2016-07-29 17:13:22 +08:00
Priti Desai
953e45e88e Publishing API Guide to OpenStack site
Moving files from doc/source/api/userguide/*.rst
to api-guide/source/*.rst,
also add api-guide/source/conf.py for building api-guide,
add a new tox target named api-guide
Taking a reference from this patch which was used for the
similar migration of Nova api guide:
https://review.openstack.org/#/c/230186

Change-Id: I725e7939f9a88185de6ef32b311159b0924b7183
Partial-Bug: #1540665
Needed-By: I7b7c623e6299c803930e41d72510f1a67d909fa3
2016-03-16 12:44:50 -07:00
Eric Brown
9dd486be05 Update Python classifier for 3.4
Barbican is tested with py34, but the classifier states only 2.7
is supported. This adds 3.4 to the list.

Change-Id: Ic7b14714d9a17a3370a8eb138bf4940ffa4ba999
2016-03-08 10:26:23 -08:00
Jeff Feng
77a164b062 Introducing barbican-manage utility command
A new 'barbican-manage' utility command is introduced as Barbican
admin tool. This command interacts with Barbican service for
management operations which usually cannot be accomplished with
REST APIs. This can improve usability and extensibility in the
future.

The related blueprint is https://review.openstack.org/#/c/253719/

This CR includes
1) implementation of barbican_manage.py
2) unit test code
3) document of barbican-manage command

Co-Authored-By: Michael Perng <mperng@us.ibm.com>
Change-Id: I784b46df86742d00d1737e3f8964280514a7fa1b
2016-03-02 11:29:08 -06:00
Kaitlin Farr
dfe9241e05 Remove version from setup.cfg
The release process has changed for Mitaka. Please see the mailing
list for details:

http://lists.openstack.org/pipermail/openstack-dev/2015-November/080692.html

Change-Id: I13fa7d296947168ffd985390d4d03edf941691bd
Depends-On: I5100cc67ef180acb16bbbd47e65b15eaf26065d3
2015-12-03 14:12:10 -05:00
Thomas Dinkjian
ffcd649638 Move Key gen script to cmd folder
Moves the keygeneration script from bin to cmd folder.
This is preferred because other scripts for HSM interaction
such as the PKEK re-wrap are located here.

Change-Id: I731ec087e96114d00bd983edd60d2e1806399e16
2015-11-06 15:12:39 -06:00
Thierry Carrez
99390c7073 Open Mitaka development
Bump preversion to mark the start of the Mitaka development branch.
The liberty release branch will be cut from the previous commit.

Change-Id: I0008ef88d5dc7aae070a91695a573e97c8bb76b0
2015-09-24 18:17:58 +02:00
jfwood
02dc4cdb71 Add retry server and functional tests to DevStack
Add a retry scheduler server process to the DevStack start/stop
processes. This includes adding a PBR entry point and barbican.cmd
script for the retry scheduler process, as other projects such as
Glance and Nova are doing now. Eventually we'll want to move over all
our boot scripts to the entry point approach. Verify functional test
for generating a simple certificate order, which is the first of the
extended-workflow order types that utilize the retry processing logic.
Also add try/catch around the retry process because if we don't pass
back a retry interval to the Oslo periodic task framework, it stops
rescheduling tasks! Also added delays to the functional test order
status check as for SQLite I was noticing disk I/O concurrency errors
otherwise. Yes, I'd still like to support SQLite for local functional
testing.

Change-Id: Ib7b50ab7f7354fefebfdf654689427ae7bf59e58
2015-07-12 10:41:03 -05:00
John Vrbanac
9d5b06ba7e Adding script for rewrapping p11 KEKs
This script pulls all project available KEKs and rewraps them
with a MKEK specified in the barbican config file.

Change-Id: I5f130b8f6d744195e3ed6c708e96b23b200eea2b
2015-07-08 13:28:13 -05:00
Dave Walker (Daviey)
63102c02dc Drop file extensions for /usr/bin/*
Previously there were 4 python scripts being installed
into /usr/{local/}bin/ which contained the extension *.py.
There was also a developers script called barbican.sh
to create a developer's environment.

This change switches away from installing them as scripts,
preferring to use pbr's console_scripts entry point.  This
means that the scripts were moved to be part of a 'cmd'
module within the barbican module.

The barbican.sh script is also no longer installed as it
seems inappropriate to install this on consumers machines.

A few cosmetic changes were added to achieve pep8.

Change-Id: I452b56535ec18228060370be899af2a63d138472
Closes-Bug: 1454587
Signed-off-by: Dave Walker (Daviey) <email@daviey.com>
2015-07-03 00:46:35 +01:00
Doug Hellmann
d800211b9d Update version for Liberty
Update the version for Liberty, switching from date-based versioning
to pre-versioning using SemVer. See
http://lists.openstack.org/pipermail/openstack-dev/2015-May/065211.html
and
http://lists.openstack.org/pipermail/openstack-dev/2015-June/067082.html
for details.

Change-Id: I6a35fa0dda798fad93b804d00a46af80f08d475c
2015-06-17 18:37:39 +00:00
Thomas Herve
541027b1c8 Fix snakeoil_ca plugin
This fixes creation of certificates using the snakeoil_ca plugin, like
passing the configuration properly and encoding resulting data, and adds
support for stored-key requests.

Closes-Bug: #1451456
Change-Id: Ida24a192595429829e870838a487a9c100691b4c
2015-05-08 18:34:38 +02:00
Thierry Carrez
702987966b Open Liberty development
Bump pre-version in setup.cfg to formally open Liberty development.
Kilo release branch will be cut from the previous commit.

Change-Id: I430691b373a06d8cc3cddb8597e90efe05e99abd
2015-04-09 17:01:26 +02:00
Gregory Haynes
284da60344 Create snakeoil certificate plugin
This plugin is very useful for dev/testing setups (and Octavia).

Implements: blueprint barbican-snakeoil-ca

Co-authored-by: Adam Harwell <flux.adam@gmail.com>
Change-Id: I15f2ef8559ee5b95c8eef4eeb42edda68859e003
2015-03-31 13:03:42 -05:00
Julien Danjou
e2355a90f7 Drop Python 2.6 support
Python 2.6 is not supported nor tested anymore, so remove all traces of
it.

Change-Id: I39ee9162999ccbfd966e8ade16d8d1fc50dbdb82
2015-01-23 12:35:05 +01:00
Tim Kelsey
ac161fc456 Adding client certificates to connection credentials
- this changes requires PyKMIP 0.2.0

Change-Id: I32c958ec70d963d79c287d4720b67120b9f3d8d6
Also-By: Robert Clark <robert.clark@hp.com>
2015-01-13 15:50:47 +00:00
Arun Kant
758904848f Adding keystone notification listener support
Notification listener processes only keystone project delete events.
It uses keystone project id to identify if related barbican resources are there
and deletes that project related barbican resources.

10/07/2014: Keep resolving rebase conflicts as this change is pending for a while.
Modified listener transaction logic as per related recent change in barbican.
Fixed missing patcher stop in few places which was causing failure in new tests.

Implements: blueprint consume-keystone-events

Change-Id: Iba7d50eb222edd43352ef82f629df2b3187c76ec
2014-10-07 16:09:09 -07:00
Thierry Carrez
8467aef4ce Open Kilo development
Bump pre-version to 2015.1 to formally open master branch to Kilo
development.

Change-Id: I45b7a3d6ae3685d9ebaf3ebae0398a1a1c545aad
2014-10-02 17:36:08 +02:00
jfwood
519c504554 Add initial files for certificate event handling
The SSL certificate generation and workflow blueprint called for adding
support for a certificate events plugin. This CR defines an interface for this
plugin, a simple default logging-based implementation, and an example
integration with the task resource logic.

Change-Id: Ia46793a1ce767ff03d77da06bf5a2803e7dce121
Implements: blueprint add-ssl-ca-support
2014-09-03 14:34:37 -05:00
Ade Lee
bd6fe53de6 Add certificate_manager functionality to dogtag plugin
Also included in this patch are changes to change the name of the
DRM to KRA, and changes to reflect the latest Dogtag API.

Implements: blueprint orders-add-cert-workflow-plugin
Change-Id: I34cb0b70f2c5c06d91ef69e486aa5d03f0b945e6
2014-08-22 20:26:11 +00:00
Douglas Mendizabal
3f772bb6ec Revert remove version from setup.cfg
It seems removing this borked the DevStack gate.

Change-Id: I849af68e0aafdc37da07a0843db3172fbbf0e532
2014-08-14 10:07:13 -05:00
jfwood
f7d240801c Replace hard-coded setup version setting
The pbr library is used to generate version numbers for Barbican, and
should typically do so by forming the version using the latest tag
(such as '2014.2.b2') as a base version, and then appending git commit
info if after the tag. However, if setup.cfg has a 'version' property
set, this overrides the base version essentially 'hard coding' it. This
CR removes that override and instead lets the versionbuild.py script,
used during deployment processing, generate this version override based
on the current PBR generated version with a timestamp injected into it.

Closes-Bug: #1349238
Change-Id: I32cf9b32265569c1e2ae182efa32a0d1449de15c
2014-08-11 13:36:17 -05:00
jfwood
82561c3653 Move crypto package contents to the new plugin structure
Move the HSM-style crypto source modules into the new plugin structure, and
integrate this into the rest of the Barbican API and worker source flows, via
the secret-store to HSM-style plugin adapter store_crypto.py. Removed
crypto source and unit test files from the old locations.

Implements: blueprint restructure-for-plugins
Change-Id: Ie31531ac71a32b14598b903632e8a3127a263e56
2014-07-08 11:21:24 -05:00
Ade Lee
bd305c4425 Add dogtag plugin to new plugin structure
This patch adds the dogtag plugin (and tests) to the new plugin
structure under plugins/ and converts the plugin to an implementation
of the SecretStore interface.

The old dogtag_crypto_plugin will be retained until the top level
plugin manager and resources have been switched over, allowing us to
fully test the new dogtag plugin.

Change-Id: I20e2daca6dad2339d228e850a03868ac587089c0
2014-06-25 21:03:34 +08:00
Meera Belur
5e22331c9f fix to include data migration script
Change-Id: Iac504241221fd1c58b1325b1c89243af139ce8e6
Closes-Bug: #1326862
2014-06-06 14:00:52 -07:00
Andreas Jaeger
e5d347b779 Prepare barbican for localization
Setup configuration for localization and add
initial translation template like it's done for all other OpenStack
projects. Once this is in, we can add the usual translation bot job
to sync translations with transifex.

Remove unneeded files from locale directory.

Change-Id: I0f1f7fff517028d4e64a3f5c544bc69df8b42ebd
2014-06-04 22:37:19 +02:00
Ade Lee
0465b85087 Add Dogtag crypto plugin.
This patch adds an initial version of the Dogtag plugin
that implements the decrypt(), encrypt() and generate()
functions.  In this version, we will create and initialize
an NSS database on the server to do crypto operations
within the Dogtag DRM python client.  This allows us to
decrypt() and encrypt() secrets without passing in wrapping
keys.

When the barbican-client and the Barbican server API have
been changed to pass through the wrapping keys, this plugin
will need to enhanced to make the relevant DRM client calls.

This plugin has been tested by running the barbican server
within a virtual environment.  There are several steps
needed to get things configured, which are detailed in the
blueprint.

Added unit tests.  These unit tests will be skipped if the
dogtag dependencies are not present to import.

Change-Id: Ib53bf3df5a65af7ac602ec7f7895e9c723c36c06
Implements: blueprint dogtag-plugin
2014-04-24 16:27:40 -04:00
Sascha Peilicke
41e03effe8 Support building wheels (PEP-427)
Universal is used to identify pure-Python module(by bdist_wheel). For
these, it is sufficient to build a wheel with _any_ Python ABI version
and publish that to PyPI (by whatever means).

Change-Id: I9dcb15633c32f670f39283e0d0cb3bcd9133ddac
2014-02-07 12:07:46 +01:00
Paul Kehrer
70878d48f1 Switch to testr
Change-Id: I6ca365e0b0d2ec86e0b61ce4c58b967260d480a7
2014-01-27 18:22:54 -06:00
Steve Heyman
1526e63c9d Enabled branch coverage for barbican. Took out inclusive coverage.
Change-Id: Ie81ba92103e35962f5e85b1442237d6617f44736
2014-01-06 13:37:30 -06:00
Monty Taylor
8f1c652862 Migrate to pbr
OpenStack uses pbr for setuptools/build and version releases. As
barbican looks towards incubation, migrate to being pbr based.

Change-Id: I3c7a389596ca579a5613ea98b21cdc6967e49cc7
2013-12-18 11:47:13 -06:00
John Wood
b404d85b63 Address issue with oslo config rejecting cli options for logging 2013-04-16 18:19:53 -05:00
John Wood
8f783f473b Merge of previous project work into this project 2013-04-01 18:26:03 -05:00
jfwood
03ee3fa4c5 Removed conflicting argument for nosetests 2013-03-01 20:05:59 -08:00
jfwood
6035328631 added missing nosetests parameters in setup.cfg 2013-03-01 19:57:32 -08:00
John Wood
a604b63d84 Add test and config files to test Jenkins 2013-03-01 12:49:10 -08:00