Hello community,
here is the log from the commit of package python-barbicanclient for openSUSE:Factory checked in at 2018-09-07 15:36:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-barbicanclient (Old)
and /work/SRC/openSUSE:Factory/.python-barbicanclient.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-barbicanclient"
Fri Sep 7 15:36:51 2018 rev:8 rq:633060 version:4.7.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-barbicanclient/python-barbicanclient.changes 2018-03-19 23:34:11.414418052 +0100
+++ /work/SRC/openSUSE:Factory/.python-barbicanclient.new/python-barbicanclient.changes 2018-09-07 15:36:53.534698771 +0200
@@ -1,0 +2,21 @@
+Mon Sep 3 17:26:31 UTC 2018 - cloud-devel@suse.de
+
+- update to version 4.7.0
+ - Add --file flag for secrets
+ - fix tox python3 overrides
+ - Remove PyPI downloads
+ - use open() instead of file()
+ - pypy is not checked at gate
+ - Trivial: Update pypi url to new url
+ - Update doc to use the correct order method
+ - Supress client debug messages
+ - Update the bugs link address
+ - Updating time for functional tests
+ - Follow the new PTI for document build
+ - Update the old http links in docs
+ - Add 'rm -f .testrepository/times.dbm' command in testenv
+ - Updated from global requirements
+ - add lower-constraints job
+ - Switch to stestr
+
+-------------------------------------------------------------------
Old:
----
python-barbicanclient-4.6.0.tar.gz
New:
----
python-barbicanclient-4.7.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-barbicanclient.spec ++++++
--- /var/tmp/diff_new_pack.Z1W9Ro/_old 2018-09-07 15:36:53.926698332 +0200
+++ /var/tmp/diff_new_pack.Z1W9Ro/_new 2018-09-07 15:36:53.926698332 +0200
@@ -17,42 +17,42 @@
Name: python-barbicanclient
-Version: 4.6.0
+Version: 4.7.0
Release: 0
Summary: Client for the Barbican Key Management API
License: Apache-2.0
Group: Development/Languages/Python
-Url: https://launchpad.net/python-barbicanclient
-Source0: https://files.pythonhosted.org/packages/source/p/python-barbicanclient/pytho...
+URL: https://launchpad.net/python-barbicanclient
+Source0: https://files.pythonhosted.org/packages/source/p/python-barbicanclient/pytho...
BuildRequires: openstack-macros
BuildRequires: python-devel
BuildRequires: python2-cliff >= 2.8.0
-BuildRequires: python2-keystoneauth1 >= 3.3.0
-BuildRequires: python2-mock >= 2.0.0
+BuildRequires: python2-keystoneauth1 >= 3.4.0
+BuildRequires: python2-mock
BuildRequires: python2-oslo.i18n >= 3.15.3
BuildRequires: python2-oslo.serialization >= 2.18.0
BuildRequires: python2-oslo.utils >= 3.33.0
BuildRequires: python2-pbr >= 2.0.0
BuildRequires: python2-requests >= 2.14.2
-BuildRequires: python2-requests-mock >= 1.1.0
-BuildRequires: python2-testrepository >= 0.0.18
-BuildRequires: python2-testscenarios >= 0.4
-BuildRequires: python2-testtools >= 2.2.0
+BuildRequires: python2-requests-mock
+BuildRequires: python2-stestr
+BuildRequires: python2-testscenarios
+BuildRequires: python2-testtools
BuildRequires: python3-cliff >= 2.8.0
BuildRequires: python3-devel
-BuildRequires: python3-keystoneauth1 >= 3.3.0
-BuildRequires: python3-mock >= 2.0.0
+BuildRequires: python3-keystoneauth1 >= 3.4.0
+BuildRequires: python3-mock
BuildRequires: python3-oslo.i18n >= 3.15.3
BuildRequires: python3-oslo.serialization >= 2.18.0
BuildRequires: python3-oslo.utils >= 3.33.0
BuildRequires: python3-pbr >= 2.0.0
BuildRequires: python3-requests >= 2.14.2
-BuildRequires: python3-requests-mock >= 1.1.0
-BuildRequires: python3-testrepository >= 0.0.18
-BuildRequires: python3-testscenarios >= 0.4
-BuildRequires: python3-testtools >= 2.2.0
+BuildRequires: python3-requests-mock
+BuildRequires: python3-stestr
+BuildRequires: python3-testscenarios
+BuildRequires: python3-testtools
Requires: python-cliff >= 2.8.0
-Requires: python-keystoneauth1 >= 3.3.0
+Requires: python-keystoneauth1 >= 3.4.0
Requires: python-oslo.i18n >= 3.15.3
Requires: python-oslo.serialization >= 2.18.0
Requires: python-oslo.utils >= 3.33.0
@@ -82,7 +82,7 @@
Summary: Documentation for OpenStack Key Management API Client
Group: Documentation/HTML
BuildRequires: python-Sphinx
-BuildRequires: python-openstackdocstheme >= 1.18.1
+BuildRequires: python-openstackdocstheme
%description -n python-barbicanclient-doc
Documentation for the client library for interacting with
@@ -105,9 +105,7 @@
%python_clone -a %{buildroot}%{_bindir}/barbican
%check
-%{python_expand rm -rf .testrepository
-$python setup.py testr
-}
+%python_exec -m stestr.cli run
%files %{python_files}
%license LICENSE
++++++ _service ++++++
--- /var/tmp/diff_new_pack.Z1W9Ro/_old 2018-09-07 15:36:53.950698304 +0200
+++ /var/tmp/diff_new_pack.Z1W9Ro/_new 2018-09-07 15:36:53.954698300 +0200
@@ -1,8 +1,8 @@
<services>
<service mode="disabled" name="renderspec">
- <param name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/queens/open...</param>
+ <param name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/rocky/opens...</param>
<param name="output-name">python-barbicanclient.spec</param>
- <param name="requirements">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/queens/requ...</param>
+ <param name="requirements">https://raw.githubusercontent.com/openstack/python-barbicanclient/stable/roc...</param>
<param name="changelog-email">cloud-devel@suse.de</param>
<param name="changelog-provider">gh,openstack,python-barbicanclient</param>
</service>
++++++ python-barbicanclient-4.6.0.tar.gz -> python-barbicanclient-4.7.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/.stestr.conf new/python-barbicanclient-4.7.0/.stestr.conf
--- old/python-barbicanclient-4.6.0/.stestr.conf 1970-01-01 01:00:00.000000000 +0100
+++ new/python-barbicanclient-4.7.0/.stestr.conf 2018-07-26 16:40:31.000000000 +0200
@@ -0,0 +1,4 @@
+[DEFAULT]
+test_path=./barbicanclient/tests
+top_dir=./
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/.testr.conf new/python-barbicanclient-4.7.0/.testr.conf
--- old/python-barbicanclient-4.6.0/.testr.conf 2018-01-26 23:23:05.000000000 +0100
+++ new/python-barbicanclient-4.7.0/.testr.conf 1970-01-01 01:00:00.000000000 +0100
@@ -1,5 +0,0 @@
-[DEFAULT]
-test_command=${PYTHON:-python} -m subunit.run discover -s ./barbicanclient -t . $LISTOPT $IDOPTION
-
-test_id_option=--load-list $IDFILE
-test_list_option=--list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/.zuul.yaml new/python-barbicanclient-4.7.0/.zuul.yaml
--- old/python-barbicanclient-4.6.0/.zuul.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/python-barbicanclient-4.7.0/.zuul.yaml 2018-07-26 16:40:31.000000000 +0200
@@ -0,0 +1,7 @@
+- project:
+ check:
+ jobs:
+ - openstack-tox-lower-constraints
+ gate:
+ jobs:
+ - openstack-tox-lower-constraints
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/AUTHORS new/python-barbicanclient-4.7.0/AUTHORS
--- old/python-barbicanclient-4.6.0/AUTHORS 2018-01-26 23:32:22.000000000 +0100
+++ new/python-barbicanclient-4.7.0/AUTHORS 2018-07-26 16:43:44.000000000 +0200
@@ -4,10 +4,12 @@
Anderson Mesquita
Andreas Jaeger
Anh Tran
+Anusree
Arash Ghoreyshi
Arun Kant
Arun Kant
Chellygel
+Chen
Chris Solis
Christian Berendt
Christopher Solis
@@ -17,6 +19,7 @@
Cyril Roelandt
Dave McCowan
Deepak
+Dirk Mueller
Donald Stufft
Doug Hellmann
Douglas Mendizábal
@@ -49,6 +52,7 @@
Michael Perng
Monty Taylor
Nathan Reller
+Nguyen Hai
Oleksii Chuprykov
Ondřej Nový
Paul Kehrer
@@ -56,6 +60,7 @@
Richard Lee
Robert Collins
Rui Chen
+ShangXiao
Shuquan Huang
Steve Heyman
Steven Gonzales
@@ -68,6 +73,7 @@
Tony Breeds
Tony Xu
Van Hung Pham
+Vu Cong Tuan
Wyllys Ingersoll
Yushiro FURUKAWA
ZhiQiang Fan
@@ -75,9 +81,12 @@
chadlung
chenxing
hongzhezheng
+huangshan
ji-xuepeng
lingyongxu
liujiong
+melissaml
+rajat29
reedip
rico.lin
ricolin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/CONTRIBUTING.rst new/python-barbicanclient-4.7.0/CONTRIBUTING.rst
--- old/python-barbicanclient-4.6.0/CONTRIBUTING.rst 2018-01-26 23:23:05.000000000 +0100
+++ new/python-barbicanclient-4.7.0/CONTRIBUTING.rst 2018-07-26 16:40:31.000000000 +0200
@@ -1,16 +1,16 @@
If you would like to contribute to the development of OpenStack,
you must follow the steps in this page:
- http://docs.openstack.org/infra/manual/developers.html
+ https://docs.openstack.org/infra/manual/developers.html
Once those steps have been completed, changes to OpenStack
should be submitted for review via the Gerrit tool, following
the workflow documented at:
- http://docs.openstack.org/infra/manual/developers.html#development-workflow
+ https://docs.openstack.org/infra/manual/developers.html#development-workflow
Pull requests submitted through GitHub will be ignored.
-Bugs should be filed on Launchpad, not GitHub:
+Bugs should be filed on OpenStack StoryBoard, not GitHub:
- https://bugs.launchpad.net/python-barbicanclient
\ No newline at end of file
+ https://storyboard.openstack.org/#!/project/984
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/ChangeLog new/python-barbicanclient-4.7.0/ChangeLog
--- old/python-barbicanclient-4.6.0/ChangeLog 2018-01-26 23:32:22.000000000 +0100
+++ new/python-barbicanclient-4.7.0/ChangeLog 2018-07-26 16:43:44.000000000 +0200
@@ -1,6 +1,25 @@
CHANGES
=======
+4.7.0
+-----
+
+* Switch to stestr
+* fix tox python3 overrides
+* use open() instead of file()
+* Remove PyPI downloads
+* Add --file flag for secrets
+* Update the bugs link address
+* Trivial: Update pypi url to new url
+* add lower-constraints job
+* Updated from global requirements
+* pypy is not checked at gate
+* Follow the new PTI for document build
+* Supress client debug messages
+* Update the old http links in docs
+* Updating time for functional tests
+* Update doc to use the correct order method
+
4.6.0
-----
@@ -12,6 +31,7 @@
* Avoid tox\_install.sh for constraints support
* Switch to use new barbican endpoint
* Updated from global requirements
+* Add 'rm -f .testrepository/times.dbm' command in testenv
* Updated from global requirements
* Updated from global requirements
* Correct docs usage of keystoneauth1 session
@@ -421,6 +441,10 @@
* Add filtering CLI options to 'secrets list' sub command
* secrets.get should verify that the request is for a single secret
* Add .gitreview file for StackForge
+
+v1.0.0
+------
+
* Version bump for Icehouse M1
* Add mailmap file
* Remove extra header (H2) in the readme
@@ -439,6 +463,10 @@
* Fixed typo in keep Client initialization
* Version bump
* Fix a couple of bugs caused by typos
+
+v0.4.0
+------
+
* Version bump
* Remove unused exception
* Update unit tests for Client
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/PKG-INFO new/python-barbicanclient-4.7.0/PKG-INFO
--- old/python-barbicanclient-4.6.0/PKG-INFO 2018-01-26 23:32:24.000000000 +0100
+++ new/python-barbicanclient-4.7.0/PKG-INFO 2018-07-26 16:43:45.000000000 +0200
@@ -1,23 +1,18 @@
Metadata-Version: 1.1
Name: python-barbicanclient
-Version: 4.6.0
+Version: 4.7.0
Summary: Client Library for OpenStack Barbican Key Management API
Home-page: https://docs.openstack.org/python-barbicanclient/latest/
Author: OpenStack
Author-email: openstack-dev@lists.openstack.org
License: UNKNOWN
-Description-Content-Type: UNKNOWN
Description: python-barbicanclient
=====================
.. image:: https://img.shields.io/pypi/v/python-barbicanclient.svg
- :target: https://pypi.python.org/pypi/python-barbicanclient/
+ :target: https://pypi.org/project/python-barbicanclient/
:alt: Latest Version
- .. image:: https://img.shields.io/pypi/dm/python-barbicanclient.svg
- :target: https://pypi.python.org/pypi/python-barbicanclient/
- :alt: Downloads
-
This is a client for the `Barbican https://github.com/openstack/barbican`__
Key Management API. There is a Python library for accessing the API
(`barbicanclient` module), and a command-line script (`barbican`).
@@ -26,7 +21,7 @@
------------
The client is
- `pip installable https://pypi.python.org/pypi/python-barbicanclient`__ as
+ `pip installable https://pypi.org/project/python-barbicanclient`__ as
follows:
.. code:: console
@@ -212,14 +207,14 @@
* `Specs`_
* `Getting involved`_
- .. _PyPi: https://pypi.python.org/pypi/python-barbicanclient/
+ .. _PyPi: https://pypi.org/project/python-barbicanclient/
.. _Online Documentation: https://docs.openstack.org/python-barbicanclient/latest/
.. _Launchpad project: https://launchpad.net/python-barbicanclient/
.. _Blueprints: https://blueprints.launchpad.net/python-barbicanclient/
- .. _Bugs: https://bugs.launchpad.net/python-barbicanclient/
+ .. _Bugs: https://storyboard.openstack.org/#!/project/984
.. _Source: https://git.openstack.org/cgit/openstack/python-barbicanclient/
.. _Getting involved: https://docs.openstack.org/barbican/latest/contributor/getting_involved.html
- .. _Specs: http://specs.openstack.org/openstack/barbican-specs/
+ .. _Specs: https://specs.openstack.org/openstack/barbican-specs/
.. [1] Documentation in this link is currently incomplete. Please use the `devstack setup https://docs.openstack.org/barbican/latest/contributor/devstack.html`__.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/README.rst new/python-barbicanclient-4.7.0/README.rst
--- old/python-barbicanclient-4.6.0/README.rst 2018-01-26 23:23:05.000000000 +0100
+++ new/python-barbicanclient-4.7.0/README.rst 2018-07-26 16:40:31.000000000 +0200
@@ -2,13 +2,9 @@
=====================
.. image:: https://img.shields.io/pypi/v/python-barbicanclient.svg
- :target: https://pypi.python.org/pypi/python-barbicanclient/
+ :target: https://pypi.org/project/python-barbicanclient/
:alt: Latest Version
-.. image:: https://img.shields.io/pypi/dm/python-barbicanclient.svg
- :target: https://pypi.python.org/pypi/python-barbicanclient/
- :alt: Downloads
-
This is a client for the `Barbican https://github.com/openstack/barbican`__
Key Management API. There is a Python library for accessing the API
(`barbicanclient` module), and a command-line script (`barbican`).
@@ -17,7 +13,7 @@
------------
The client is
-`pip installable https://pypi.python.org/pypi/python-barbicanclient`__ as
+`pip installable https://pypi.org/project/python-barbicanclient`__ as
follows:
.. code:: console
@@ -203,14 +199,14 @@
* `Specs`_
* `Getting involved`_
-.. _PyPi: https://pypi.python.org/pypi/python-barbicanclient/
+.. _PyPi: https://pypi.org/project/python-barbicanclient/
.. _Online Documentation: https://docs.openstack.org/python-barbicanclient/latest/
.. _Launchpad project: https://launchpad.net/python-barbicanclient/
.. _Blueprints: https://blueprints.launchpad.net/python-barbicanclient/
-.. _Bugs: https://bugs.launchpad.net/python-barbicanclient/
+.. _Bugs: https://storyboard.openstack.org/#!/project/984
.. _Source: https://git.openstack.org/cgit/openstack/python-barbicanclient/
.. _Getting involved: https://docs.openstack.org/barbican/latest/contributor/getting_involved.html
-.. _Specs: http://specs.openstack.org/openstack/barbican-specs/
+.. _Specs: https://specs.openstack.org/openstack/barbican-specs/
.. [1] Documentation in this link is currently incomplete. Please use the `devstack setup https://docs.openstack.org/barbican/latest/contributor/devstack.html`__.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/barbicanclient/barbican.py new/python-barbicanclient-4.7.0/barbicanclient/barbican.py
--- old/python-barbicanclient-4.6.0/barbicanclient/barbican.py 2018-01-26 23:23:05.000000000 +0100
+++ new/python-barbicanclient-4.7.0/barbicanclient/barbican.py 2018-07-26 16:40:31.000000000 +0200
@@ -46,6 +46,13 @@
class Barbican(app.App):
"""Barbican command line interface."""
+ # verbose logging levels
+ WARNING_LEVEL = 0
+ INFO_LEVEL = 1
+ DEBUG_LEVEL = 2
+ CONSOLE_MESSAGE_FORMAT = '%(message)s'
+ DEBUG_MESSAGE_FORMAT = '%(levelname)s: %(name)s %(message)s'
+
def __init__(self, **kwargs):
self.client = None
@@ -328,6 +335,9 @@
"""
self.client_manager = namedtuple('ClientManager', 'key_manager')
if cmd.auth_required:
+ # NOTE(liujiong): cliff sets log level to DEBUG in run function,
+ # need to overwrite this configuration to depress DEBUG messages.
+ self.configure_logging()
self.client_manager.key_manager = self.create_client(self.options)
def run(self, argv):
@@ -337,6 +347,26 @@
return 1
return super(Barbican, self).run(argv)
+ def configure_logging(self):
+ """Create logging handlers for any log output."""
+ root_logger = logging.getLogger('')
+ # Set log level to INFO
+ root_logger.setLevel(logging.INFO)
+
+ # Send higher-level messages to the console via stderr
+ console = logging.StreamHandler(self.stderr)
+ console_level = {self.WARNING_LEVEL: logging.WARNING,
+ self.INFO_LEVEL: logging.INFO,
+ self.DEBUG_LEVEL: logging.DEBUG,
+ }.get(self.options.verbose_level, logging.INFO)
+ if logging.DEBUG == console_level:
+ formatter = logging.Formatter(self.DEBUG_MESSAGE_FORMAT)
+ else:
+ formatter = logging.Formatter(self.CONSOLE_MESSAGE_FORMAT)
+ console.setFormatter(formatter)
+ root_logger.addHandler(console)
+ return
+
def main(argv=sys.argv[1:]):
logging.basicConfig()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/barbicanclient/barbican_cli/v1/orders.py new/python-barbicanclient-4.7.0/barbicanclient/barbican_cli/v1/orders.py
--- old/python-barbicanclient-4.6.0/barbicanclient/barbican_cli/v1/orders.py 2018-01-26 23:23:05.000000000 +0100
+++ new/python-barbicanclient-4.7.0/barbicanclient/barbican_cli/v1/orders.py 2018-07-26 16:40:31.000000000 +0200
@@ -67,7 +67,7 @@
request_data = None
if args.request_file:
try:
- request_data = file(args.request_file).read()
+ request_data = open(args.request_file, 'r').read()
except IOError:
raise ValueError(
'Couldn\'t read request file %s.' % args.request_file)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/barbicanclient/barbican_cli/v1/secrets.py new/python-barbicanclient-4.7.0/barbicanclient/barbican_cli/v1/secrets.py
--- old/python-barbicanclient-4.6.0/barbicanclient/barbican_cli/v1/secrets.py 2018-01-26 23:23:05.000000000 +0100
+++ new/python-barbicanclient-4.7.0/barbicanclient/barbican_cli/v1/secrets.py 2018-07-26 16:40:31.000000000 +0200
@@ -13,11 +13,13 @@
"""
Command-line interface sub-commands related to secrets.
"""
+import os
+
from cliff import command
from cliff import lister
from cliff import show
-from barbicanclient.v1 import secrets
+from barbicanclient import secrets
class DeleteSecret(command.Command):
@@ -38,22 +40,18 @@
def get_parser(self, prog_name):
parser = super(GetSecret, self).get_parser(prog_name)
parser.add_argument('URI', help='The URI reference for the secret.')
- parser.add_argument('--decrypt', '-d',
- help='if specified, retrieve the '
- 'unencrypted secret data; '
- 'the data type can be specified with '
- '--payload_content_type.',
- action='store_true')
- parser.add_argument('--payload', '-p',
- help='if specified, retrieve the '
- 'unencrypted secret data; '
- 'the data type can be specified with '
- '--payload_content_type. If the user'
- ' wishes to only retrieve the value of'
- ' the payload they must add '
- '"-f value" to format returning only'
- ' the value of the payload',
- action='store_true')
+ payload_params = parser.add_mutually_exclusive_group(required=False)
+ payload_params.add_argument('--decrypt', '-d',
+ help='if specified, retrieve the '
+ 'unencrypted secret data.',
+ action='store_true')
+ payload_params.add_argument('--payload', '-p',
+ help='if specified, retrieve the '
+ 'unencrypted secret data.',
+ action='store_true')
+ payload_params.add_argument('--file', '-F', metavar='<filename>',
+ help='if specified, save the payload to a '
+ 'new file with the given filename.')
parser.add_argument('--payload_content_type', '-t',
default='text/plain',
help='the content type of the decrypted'
@@ -61,7 +59,7 @@
return parser
def take_action(self, args):
- if args.decrypt or args.payload:
+ if args.decrypt or args.payload or args.file:
entity = self.app.client_manager.key_manager.secrets.get(
args.URI, args.payload_content_type)
return (('Payload',),
@@ -71,6 +69,18 @@
secret_ref=args.URI)
return entity._get_formatted_entity()
+ def produce_output(self, parsed_args, column_names, data):
+ if parsed_args.file:
+ if os.path.exists(parsed_args.file):
+ raise ValueError("ERROR: file already exists.")
+ with open(parsed_args.file, 'wb') as f:
+ f.write(data[0])
+
+ else:
+ super(GetSecret, self).produce_output(
+ parsed_args, column_names, data
+ )
+
class UpdateSecret(command.Command):
"""Update a secret with no payload in Barbican."""
@@ -134,10 +144,6 @@
parser = super(StoreSecret, self).get_parser(prog_name)
parser.add_argument('--name', '-n',
help='a human-friendly name.')
- parser.add_argument('--payload', '-p',
- help='the unencrypted secret; if provided, '
- 'you must also provide a '
- 'payload_content_type')
parser.add_argument('--secret-type', '-s', default='opaque',
help='the secret type; must be one of symmetric, '
'public, private, certificate, passphrase, '
@@ -163,11 +169,21 @@
parser.add_argument('--expiration', '-x',
help='the expiration time for the secret in '
'ISO 8601 format.')
+ payload_params = parser.add_mutually_exclusive_group(required=False)
+ payload_params.add_argument('--payload', '-p',
+ help='the unencrypted secret data.')
+ payload_params.add_argument('--file', '-F', metavar='<filename>',
+ help='file containing the secret payload')
return parser
def take_action(self, args):
+ data = None
+ if args.file:
+ with open(args.file, 'rb') as f:
+ data = f.read()
+
entity = self.app.client_manager.key_manager.secrets.create(
- name=args.name, payload=args.payload,
+ name=args.name, payload=args.payload or data,
payload_content_type=args.payload_content_type,
payload_content_encoding=args.payload_content_encoding,
algorithm=args.algorithm, bit_length=args.bit_length,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/barbicanclient/tests/test_barbican.py new/python-barbicanclient-4.7.0/barbicanclient/tests/test_barbican.py
--- old/python-barbicanclient-4.6.0/barbicanclient/tests/test_barbican.py 2018-01-26 23:23:05.000000000 +0100
+++ new/python-barbicanclient-4.7.0/barbicanclient/tests/test_barbican.py 2018-07-26 16:40:31.000000000 +0200
@@ -205,6 +205,20 @@
self.barbican.create_client,
argv)
+ def test_should_prevent_mutual_exclusive_file_opt(self):
+ args = (
+ '--no-auth --endpoint {0} --os-tenant-id {1}'
+ '--file foo --payload'
+ 'secret get'.format(self.endpoint, self.project_id)
+ )
+ list_secrets_url = '{0}/v1/secrets'.format(self.endpoint)
+ self.responses.get(list_secrets_url, json={"secrets": [], "total": 0})
+ client = self.create_and_assert_client(args)
+ secret_list = client.secrets.list()
+ self.assertTrue(self.responses._adapter.called)
+ self.assertEqual(1, self.responses._adapter.call_count)
+ self.assertEqual([], secret_list)
+
class TestBarbicanWithKeystonePasswordAuth(
keystone_client_fixtures.KeystoneClientFixture):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/doc/requirements.txt new/python-barbicanclient-4.7.0/doc/requirements.txt
--- old/python-barbicanclient-4.6.0/doc/requirements.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/python-barbicanclient-4.7.0/doc/requirements.txt 2018-07-26 16:40:31.000000000 +0200
@@ -0,0 +1,5 @@
+# The order of packages is significant, because pip processes them in the order
+# of appearance. Changing the order has an impact on the overall integration
+# process, which may cause wedges in the gate later.
+sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
+openstackdocstheme>=1.18.1 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/doc/source/cli/cli_usage.rst new/python-barbicanclient-4.7.0/doc/source/cli/cli_usage.rst
--- old/python-barbicanclient-4.6.0/doc/source/cli/cli_usage.rst 2018-01-26 23:23:05.000000000 +0100
+++ new/python-barbicanclient-4.7.0/doc/source/cli/cli_usage.rst 2018-07-26 16:40:31.000000000 +0200
@@ -55,9 +55,10 @@
.. code-block:: bash
$ barbican help secret get
- usage: barbican secret get [-h] [-f {shell,table,value}] [-c COLUMN]
- [--max-width <integer>] [--prefix PREFIX]
- [--decrypt] [--payload]
+ usage: barbican secret get [-h] [-f {json,shell,table,value,yaml}] [-c COLUMN]
+ [--max-width <integer>] [--fit-width]
+ [--print-empty] [--noindent] [--prefix PREFIX]
+ [--decrypt | --payload | --file <filename>]
[--payload_content_type PAYLOAD_CONTENT_TYPE]
URI
@@ -68,15 +69,11 @@
optional arguments:
-h, --help show this help message and exit
- --decrypt, -d if specified, retrieve the unencrypted secret data;
- the data type can be specified with
- --payload_content_type.
- --payload, -p if specified, retrieve the unencrypted secret data;
- the data type can be specified with
- --payload_content_type. If the user wishes to only
- retrieve the value of the payload they must add
- "-f value" to format returning only the value of
- the payload
+ --decrypt, -d if specified, retrieve the unencrypted secret data.
+ --payload, -p if specified, retrieve the unencrypted secret data.
+ --file <filename>, -F <filename>
+ if specified, save the payload to a new file with the
+ given filename.
--payload_content_type PAYLOAD_CONTENT_TYPE, -t PAYLOAD_CONTENT_TYPE
the content type of the decrypted secret (default:
text/plain).
@@ -120,6 +117,11 @@
| Expiration | None |
+---------------+-----------------------------------------------------------------------+
+Instead of using the :code:`-p` or :code:`--payload` option with the
+value of the secret in the command line, the value of
+the secret may be stored in a file. For this method the
+:code:`-F <filename>` or :code:`--file <filename>` option can be used.
+
Secret Get
~~~~~~~~~~
@@ -151,6 +153,11 @@
$ barbican secret get http://localhost:9311/v1/secrets/a70a45d8-4076-42a2-b111-8893d3b92a3e --payload -f value
my secret value
+Instead of using the :code:`-p` or :code:`--payload` option with the
+value of the secret returned to stdout, the value of
+the secret may be written to a file. For this method the
+:code:`-F <filename>` or :code:`--file <filename>` option can be used.
+
Secret Delete
~~~~~~~~~~~~~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/doc/source/cli/usage.rst new/python-barbicanclient-4.7.0/doc/source/cli/usage.rst
--- old/python-barbicanclient-4.6.0/doc/source/cli/usage.rst 2018-01-26 23:23:05.000000000 +0100
+++ new/python-barbicanclient-4.7.0/doc/source/cli/usage.rst 2018-07-26 16:40:31.000000000 +0200
@@ -115,7 +115,7 @@
barbican = client.Client(...)
- my_order = barbican.orders.key_order()
+ my_order = barbican.orders.create_key()
my_order.algorithm = 'AES'
my_order.mode = 'CBC'
my_order.bit_length = 256
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/functionaltests/cli/v1/behaviors/secret_behaviors.py new/python-barbicanclient-4.7.0/functionaltests/cli/v1/behaviors/secret_behaviors.py
--- old/python-barbicanclient-4.6.0/functionaltests/cli/v1/behaviors/secret_behaviors.py 2018-01-26 23:23:05.000000000 +0100
+++ new/python-barbicanclient-4.7.0/functionaltests/cli/v1/behaviors/secret_behaviors.py 2018-07-26 16:40:31.000000000 +0200
@@ -79,6 +79,31 @@
self.secret_hrefs_to_delete.append(secret_href)
return secret_href
+ def store_secret_file(self, filename="/tmp/storesecret", store_argv=[]):
+ """Store (aka create) a secret from file
+
+ The store_argv parameter allows additional command line parameters for
+ the store operation to be specified. This can be used to specify -a for
+ algorithm as an example.
+
+ :param payload The payload to use when storing the secret
+ :param store_argv The store command line parameters
+
+ :return: the href to the newly created secret
+ """
+ argv = ['secret', 'store']
+ self.add_auth_and_endpoint(argv)
+ argv.extend(['--file', filename])
+ argv.extend(store_argv)
+
+ stdout, stderr = self.issue_barbican_command(argv)
+
+ secret_data = self._prettytable_to_dict(stdout)
+
+ secret_href = secret_data['Secret href']
+ self.secret_hrefs_to_delete.append(secret_href)
+ return secret_href
+
def get_secret(self, secret_href):
"""Get a secret
@@ -126,6 +151,25 @@
return secret
+ def get_secret_file(self, secret_href, filename='/tmp/getsecret'):
+ """Get a secret and store in a file
+
+ :param: the href to a secret
+ :param filename: name of file to store secret in
+ :return string representing the file name.
+ """
+ argv = ['secret', 'get']
+ self.add_auth_and_endpoint(argv)
+ argv.extend([secret_href])
+ argv.extend(['--file', filename])
+
+ stdout, stderr = self.issue_barbican_command(argv)
+
+ if '4xx Client error: Not Found' in stderr:
+ return {}
+
+ return filename
+
def list_secrets(self):
"""List secrets
@@ -146,3 +190,26 @@
secrets_to_delete = list(self.secret_hrefs_to_delete)
for href in secrets_to_delete:
self.delete_secret(href)
+
+ def read_secret_test_file(self, filename='/tmp/getsecret'):
+ """Read payload from file used in testing
+
+ :param filename: name of file to write
+ :return contents of the file
+ """
+ with open(filename, "r") as myfile:
+ data = myfile.read()
+ return data
+
+ def write_secret_test_file(self, filename='/tmp/storesecret',
+ payload="Payload for testing"):
+ """Write payload to file for use in testing
+
+ :param filename: name of file to write
+ :param payload: data to store
+ :return
+ """
+ myfile = open(filename, "wb")
+ myfile.write(payload)
+ myfile.close()
+ return
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/functionaltests/cli/v1/smoke/test_secret.py new/python-barbicanclient-4.7.0/functionaltests/cli/v1/smoke/test_secret.py
--- old/python-barbicanclient-4.6.0/functionaltests/cli/v1/smoke/test_secret.py 2018-01-26 23:23:05.000000000 +0100
+++ new/python-barbicanclient-4.7.0/functionaltests/cli/v1/smoke/test_secret.py 2018-07-26 16:40:31.000000000 +0200
@@ -132,3 +132,19 @@
payload = self.secret_behaviors.get_secret_payload(secret_href,
raw=True)
self.assertEqual(payload, self.expected_payload)
+
+ @testcase.attr('positive')
+ def test_secret_file_parameter_read(self):
+ secret_href = self.secret_behaviors.store_secret(
+ payload=self.expected_payload)
+ self.secret_behaviors.get_secret_file(secret_href=secret_href)
+ payload = self.secret_behaviors.read_secret_test_file()
+ self.assertEqual(payload, self.expected_payload)
+
+ @testcase.attr('positive')
+ def test_secret_file_parameter_write(self):
+ self.secret_behaviors.write_secret_test_file(
+ payload=self.expected_payload)
+ secret_href = self.secret_behaviors.store_secret_file()
+ payload = self.secret_behaviors.get_secret_payload(secret_href)
+ self.assertEqual(payload, self.expected_payload)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/functionaltests/client/v1/functional/test_acl.py new/python-barbicanclient-4.7.0/functionaltests/client/v1/functional/test_acl.py
--- old/python-barbicanclient-4.6.0/functionaltests/client/v1/functional/test_acl.py 2018-01-26 23:23:05.000000000 +0100
+++ new/python-barbicanclient-4.7.0/functionaltests/client/v1/functional/test_acl.py 2018-07-26 16:40:31.000000000 +0200
@@ -24,7 +24,7 @@
create_secret_defaults_data = {
"name": "AES key",
- "expiration": "2018-02-28T19:14:44.180394",
+ "expiration": "2020-02-28T19:14:44.180394",
"algorithm": "aes",
"bit_length": 256,
"mode": "cbc",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/functionaltests/client/v1/functional/test_containers.py new/python-barbicanclient-4.7.0/functionaltests/client/v1/functional/test_containers.py
--- old/python-barbicanclient-4.6.0/functionaltests/client/v1/functional/test_containers.py 2018-01-26 23:23:05.000000000 +0100
+++ new/python-barbicanclient-4.7.0/functionaltests/client/v1/functional/test_containers.py 2018-07-26 16:40:31.000000000 +0200
@@ -22,7 +22,7 @@
create_secret_defaults_data = {
"name": "AES key",
- "expiration": "2018-02-28T19:14:44.180394",
+ "expiration": "2020-02-28T19:14:44.180394",
"algorithm": "aes",
"bit_length": 256,
"mode": "cbc",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/functionaltests/client/v1/functional/test_secrets.py new/python-barbicanclient-4.7.0/functionaltests/client/v1/functional/test_secrets.py
--- old/python-barbicanclient-4.6.0/functionaltests/client/v1/functional/test_secrets.py 2018-01-26 23:23:05.000000000 +0100
+++ new/python-barbicanclient-4.7.0/functionaltests/client/v1/functional/test_secrets.py 2018-07-26 16:40:31.000000000 +0200
@@ -28,7 +28,7 @@
secret_create_defaults_data = {
"name": "AES key",
- "expiration": "2018-02-28T19:14:44.180394",
+ "expiration": "2020-02-28T19:14:44.180394",
"algorithm": "aes",
"bit_length": 256,
"mode": "cbc",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/functionaltests/client/v1/smoke/test_containers.py new/python-barbicanclient-4.7.0/functionaltests/client/v1/smoke/test_containers.py
--- old/python-barbicanclient-4.6.0/functionaltests/client/v1/smoke/test_containers.py 2018-01-26 23:23:05.000000000 +0100
+++ new/python-barbicanclient-4.7.0/functionaltests/client/v1/smoke/test_containers.py 2018-07-26 16:40:31.000000000 +0200
@@ -20,7 +20,7 @@
create_secret_defaults_data = {
"name": "AES key",
- "expiration": "2018-02-28T19:14:44.180394",
+ "expiration": "2020-02-28T19:14:44.180394",
"algorithm": "aes",
"bit_length": 256,
"mode": "cbc",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/functionaltests/client/v1/smoke/test_secrets.py new/python-barbicanclient-4.7.0/functionaltests/client/v1/smoke/test_secrets.py
--- old/python-barbicanclient-4.6.0/functionaltests/client/v1/smoke/test_secrets.py 2018-01-26 23:23:05.000000000 +0100
+++ new/python-barbicanclient-4.7.0/functionaltests/client/v1/smoke/test_secrets.py 2018-07-26 16:40:31.000000000 +0200
@@ -21,7 +21,7 @@
secret_create_defaults_data = {
"name": "AES key",
- "expiration": "2018-02-28T19:14:44.180394",
+ "expiration": "2020-02-28T19:14:44.180394",
"algorithm": "aes",
"bit_length": 256,
"mode": "cbc",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/lower-constraints.txt new/python-barbicanclient-4.7.0/lower-constraints.txt
--- old/python-barbicanclient-4.6.0/lower-constraints.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/python-barbicanclient-4.7.0/lower-constraints.txt 2018-07-26 16:40:31.000000000 +0200
@@ -0,0 +1,73 @@
+appdirs==1.3.0
+asn1crypto==0.23.0
+Babel==2.3.4
+cffi==1.7.0
+cliff==2.8.0
+cmd2==0.8.0
+coverage==4.0
+cryptography==2.1
+debtcollector==1.2.0
+decorator==3.4.0
+deprecation==1.0
+dogpile.cache==0.6.2
+extras==1.0.0
+fixtures==3.0.0
+flake8==2.5.5
+hacking==0.12.0
+idna==2.6
+iso8601==0.1.11
+jmespath==0.9.0
+jsonpatch==1.16
+jsonpointer==1.13
+jsonschema==2.6.0
+keystoneauth1==3.4.0
+linecache2==1.0.0
+mccabe==0.2.1
+mock==2.0.0
+monotonic==0.6
+mox3==0.20.0
+msgpack-python==0.4.0
+munch==2.1.0
+netaddr==0.7.18
+netifaces==0.10.4
+nose==1.3.7
+openstacksdk==0.11.2
+os-client-config==1.28.0
+os-service-types==1.2.0
+osc-lib==1.8.0
+oslo.config==5.2.0
+oslo.i18n==3.15.3
+oslo.serialization==2.18.0
+oslo.utils==3.33.0
+oslotest==3.2.0
+pbr==2.0.0
+pep8==1.5.7
+positional==1.2.1
+prettytable==0.7.2
+pycparser==2.18
+pyflakes==0.8.1
+pyOpenSSL==17.1.0
+pyparsing==2.1.0
+pyperclip==1.5.27
+python-cinderclient==3.3.0
+python-glanceclient==2.8.0
+python-keystoneclient==3.8.0
+python-mimeparse==1.6.0
+python-novaclient==9.1.0
+python-openstackclient==3.12.0
+python-subunit==1.0.0
+pytz==2013.6
+PyYAML==3.12
+requests==2.14.2
+requests-mock==1.2.0
+requestsexceptions==1.2.0
+rfc3986==0.3.1
+simplejson==3.5.1
+six==1.10.0
+stevedore==1.20.0
+stestr==2.0.0
+testtools==2.2.0
+traceback2==1.4.0
+unittest2==1.1.0
+warlock==1.2.0
+wrapt==1.7.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/python_barbicanclient.egg-info/PKG-INFO new/python-barbicanclient-4.7.0/python_barbicanclient.egg-info/PKG-INFO
--- old/python-barbicanclient-4.6.0/python_barbicanclient.egg-info/PKG-INFO 2018-01-26 23:32:22.000000000 +0100
+++ new/python-barbicanclient-4.7.0/python_barbicanclient.egg-info/PKG-INFO 2018-07-26 16:43:44.000000000 +0200
@@ -1,23 +1,18 @@
Metadata-Version: 1.1
Name: python-barbicanclient
-Version: 4.6.0
+Version: 4.7.0
Summary: Client Library for OpenStack Barbican Key Management API
Home-page: https://docs.openstack.org/python-barbicanclient/latest/
Author: OpenStack
Author-email: openstack-dev@lists.openstack.org
License: UNKNOWN
-Description-Content-Type: UNKNOWN
Description: python-barbicanclient
=====================
.. image:: https://img.shields.io/pypi/v/python-barbicanclient.svg
- :target: https://pypi.python.org/pypi/python-barbicanclient/
+ :target: https://pypi.org/project/python-barbicanclient/
:alt: Latest Version
- .. image:: https://img.shields.io/pypi/dm/python-barbicanclient.svg
- :target: https://pypi.python.org/pypi/python-barbicanclient/
- :alt: Downloads
-
This is a client for the `Barbican https://github.com/openstack/barbican`__
Key Management API. There is a Python library for accessing the API
(`barbicanclient` module), and a command-line script (`barbican`).
@@ -26,7 +21,7 @@
------------
The client is
- `pip installable https://pypi.python.org/pypi/python-barbicanclient`__ as
+ `pip installable https://pypi.org/project/python-barbicanclient`__ as
follows:
.. code:: console
@@ -212,14 +207,14 @@
* `Specs`_
* `Getting involved`_
- .. _PyPi: https://pypi.python.org/pypi/python-barbicanclient/
+ .. _PyPi: https://pypi.org/project/python-barbicanclient/
.. _Online Documentation: https://docs.openstack.org/python-barbicanclient/latest/
.. _Launchpad project: https://launchpad.net/python-barbicanclient/
.. _Blueprints: https://blueprints.launchpad.net/python-barbicanclient/
- .. _Bugs: https://bugs.launchpad.net/python-barbicanclient/
+ .. _Bugs: https://storyboard.openstack.org/#!/project/984
.. _Source: https://git.openstack.org/cgit/openstack/python-barbicanclient/
.. _Getting involved: https://docs.openstack.org/barbican/latest/contributor/getting_involved.html
- .. _Specs: http://specs.openstack.org/openstack/barbican-specs/
+ .. _Specs: https://specs.openstack.org/openstack/barbican-specs/
.. [1] Documentation in this link is currently incomplete. Please use the `devstack setup https://docs.openstack.org/barbican/latest/contributor/devstack.html`__.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/python_barbicanclient.egg-info/SOURCES.txt new/python-barbicanclient-4.7.0/python_barbicanclient.egg-info/SOURCES.txt
--- old/python-barbicanclient-4.6.0/python_barbicanclient.egg-info/SOURCES.txt 2018-01-26 23:32:24.000000000 +0100
+++ new/python-barbicanclient-4.7.0/python_barbicanclient.egg-info/SOURCES.txt 2018-07-26 16:43:45.000000000 +0200
@@ -1,12 +1,14 @@
.coveragerc
.mailmap
-.testr.conf
+.stestr.conf
+.zuul.yaml
AUTHORS
CONTRIBUTING.rst
ChangeLog
LICENSE
README.rst
clientrc
+lower-constraints.txt
requirements.txt
setup.cfg
setup.py
@@ -47,6 +49,7 @@
barbicanclient/v1/containers.py
barbicanclient/v1/orders.py
barbicanclient/v1/secrets.py
+doc/requirements.txt
doc/source/conf.py
doc/source/index.rst
doc/source/cli/authentication.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/python_barbicanclient.egg-info/pbr.json new/python-barbicanclient-4.7.0/python_barbicanclient.egg-info/pbr.json
--- old/python-barbicanclient-4.6.0/python_barbicanclient.egg-info/pbr.json 2018-01-26 23:32:22.000000000 +0100
+++ new/python-barbicanclient-4.7.0/python_barbicanclient.egg-info/pbr.json 2018-07-26 16:43:44.000000000 +0200
@@ -1 +1 @@
-{"git_version": "262025b", "is_release": true}
\ No newline at end of file
+{"git_version": "985c46e", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/python_barbicanclient.egg-info/requires.txt new/python-barbicanclient-4.7.0/python_barbicanclient.egg-info/requires.txt
--- old/python-barbicanclient-4.6.0/python_barbicanclient.egg-info/requires.txt 2018-01-26 23:32:22.000000000 +0100
+++ new/python-barbicanclient-4.7.0/python_barbicanclient.egg-info/requires.txt 2018-07-26 16:43:44.000000000 +0200
@@ -2,7 +2,7 @@
requests>=2.14.2
six>=1.10.0
cliff!=2.9.0,>=2.8.0
-keystoneauth1>=3.3.0
+keystoneauth1>=3.4.0
oslo.i18n>=3.15.3
oslo.serialization!=2.19.1,>=2.18.0
oslo.utils>=3.33.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/requirements.txt new/python-barbicanclient-4.7.0/requirements.txt
--- old/python-barbicanclient-4.6.0/requirements.txt 2018-01-26 23:23:05.000000000 +0100
+++ new/python-barbicanclient-4.7.0/requirements.txt 2018-07-26 16:40:31.000000000 +0200
@@ -5,7 +5,7 @@
requests>=2.14.2 # Apache-2.0
six>=1.10.0 # MIT
cliff!=2.9.0,>=2.8.0 # Apache-2.0
-keystoneauth1>=3.3.0 # Apache-2.0
+keystoneauth1>=3.4.0 # Apache-2.0
oslo.i18n>=3.15.3 # Apache-2.0
oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
oslo.utils>=3.33.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/setup.cfg new/python-barbicanclient-4.7.0/setup.cfg
--- old/python-barbicanclient-4.6.0/setup.cfg 2018-01-26 23:32:24.000000000 +0100
+++ new/python-barbicanclient-4.7.0/setup.cfg 2018-07-26 16:43:45.000000000 +0200
@@ -28,21 +28,26 @@
openstack.cli.extension =
key_manager = barbicanclient.osc_plugin
openstack.key_manager.v1 =
+
secret_order_create = barbicanclient.barbican_cli.v1.orders:CreateOrder
secret_order_delete = barbicanclient.barbican_cli.v1.orders:DeleteOrder
secret_order_get = barbicanclient.barbican_cli.v1.orders:GetOrder
secret_order_list = barbicanclient.barbican_cli.v1.orders:ListOrder
+
secret_delete = barbicanclient.barbican_cli.v1.secrets:DeleteSecret
secret_get = barbicanclient.barbican_cli.v1.secrets:GetSecret
secret_list = barbicanclient.barbican_cli.v1.secrets:ListSecret
secret_store = barbicanclient.barbican_cli.v1.secrets:StoreSecret
secret_update = barbicanclient.barbican_cli.v1.secrets:UpdateSecret
+
secret_container_delete = barbicanclient.barbican_cli.v1.containers:DeleteContainer
secret_container_get = barbicanclient.barbican_cli.v1.containers:GetContainer
secret_container_list = barbicanclient.barbican_cli.v1.containers:ListContainer
secret_container_create = barbicanclient.barbican_cli.v1.containers:CreateContainer
+
ca_get = barbicanclient.barbican_cli.v1.cas:GetCA
ca_list = barbicanclient.barbican_cli.v1.cas:ListCA
+
acl_delete = barbicanclient.barbican_cli.v1.acls:DeleteACLs
acl_get = barbicanclient.barbican_cli.v1.acls:GetACLs
acl_submit = barbicanclient.barbican_cli.v1.acls:SubmitACL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/test-requirements.txt new/python-barbicanclient-4.7.0/test-requirements.txt
--- old/python-barbicanclient-4.6.0/test-requirements.txt 2018-01-26 23:23:05.000000000 +0100
+++ new/python-barbicanclient-4.7.0/test-requirements.txt 2018-07-26 16:40:31.000000000 +0200
@@ -4,15 +4,11 @@
coverage!=4.4,>=4.0 # Apache-2.0
hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
fixtures>=3.0.0 # Apache-2.0/BSD
-requests-mock>=1.1.0 # Apache-2.0
+requests-mock>=1.2.0 # Apache-2.0
mock>=2.0.0 # BSD
-testrepository>=0.0.18 # Apache-2.0/BSD
+stestr>=2.0.0 # Apache-2.0
testtools>=2.2.0 # MIT
oslotest>=3.2.0 # Apache-2.0
nose>=1.3.7 # LGPL
-oslo.config>=5.1.0 # Apache-2.0
+oslo.config>=5.2.0 # Apache-2.0
python-openstackclient>=3.12.0 # Apache-2.0
-
-# Documentation build requirements
-sphinx!=1.6.6,>=1.6.2 # BSD
-openstackdocstheme>=1.18.1 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.6.0/tox.ini new/python-barbicanclient-4.7.0/tox.ini
--- old/python-barbicanclient-4.6.0/tox.ini 2018-01-26 23:23:05.000000000 +0100
+++ new/python-barbicanclient-4.7.0/tox.ini 2018-07-26 16:40:31.000000000 +0200
@@ -1,33 +1,47 @@
[tox]
minversion = 1.6
-envlist = py35,py27,pypy,pep8
+envlist = py35,py27,pep8
skipsdist = True
[testenv]
usedevelop = True
install_command = pip install {opts} {packages}
setenv =
+ PYTHON=coverage run --source barbicanclient --parallel-mode
VIRTUAL_ENV={envdir}
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
+
commands =
+ rm -f .testrepository/times.dbm
coverage erase
- python setup.py testr --coverage --testr-args='{posargs}'
+ stestr run '{posargs}'
+ coverage combine
+ coverage html -d cover
+ coverage xml -o cover/coverage.xml
coverage report -m
[testenv:debug]
+basepython = python3
commands = oslo_debug_helper -t barbicanclient/tests {posargs}
[testenv:pep8]
+basepython = python3
commands = flake8 {posargs}
[testenv:venv]
+basepython = python3
commands = {posargs}
[testenv:docs]
-commands = python setup.py build_sphinx
+basepython = python3
+deps =
+ -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
+ -r{toxinidir}/requirements.txt
+ -r{toxinidir}/doc/requirements.txt
+commands = sphinx-build -b html doc/source doc/build/html
[testenv:functional]
# This tox env is purely to make local test development easier
@@ -39,3 +53,10 @@
ignore = H202
show-source = True
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
+
+[testenv:lower-constraints]
+basepython = python3
+deps =
+ -c{toxinidir}/lower-constraints.txt
+ -r{toxinidir}/test-requirements.txt
+ -r{toxinidir}/requirements.txt