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 - [email protected]
+
+- 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/python-barbicanclient-4.6.0.tar.gz
+URL:            https://launchpad.net/python-barbicanclient
+Source0:        
https://files.pythonhosted.org/packages/source/p/python-barbicanclient/python-barbicanclient-4.7.0.tar.gz
 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/openstack/python-barbicanclient/python-barbicanclient.spec.j2</param>
+    <param 
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/rocky/openstack/python-barbicanclient/python-barbicanclient.spec.j2</param>
     <param name="output-name">python-barbicanclient.spec</param>
-    <param 
name="requirements">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/queens/requirements.txt</param>
+    <param 
name="requirements">https://raw.githubusercontent.com/openstack/python-barbicanclient/stable/rocky/requirements.txt</param>
     <param name="changelog-email">[email protected]</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 <[email protected]>
 Andreas Jaeger <[email protected]>
 Anh Tran <[email protected]>
+Anusree <[email protected]>
 Arash Ghoreyshi <[email protected]>
 Arun Kant <[email protected]>
 Arun Kant <[email protected]>
 Chellygel <[email protected]>
+Chen <[email protected]>
 Chris Solis <[email protected]>
 Christian Berendt <[email protected]>
 Christopher Solis <[email protected]>
@@ -17,6 +19,7 @@
 Cyril Roelandt <[email protected]>
 Dave McCowan <[email protected]>
 Deepak <[email protected]>
+Dirk Mueller <[email protected]>
 Donald Stufft <[email protected]>
 Doug Hellmann <[email protected]>
 Douglas Mendizábal <[email protected]>
@@ -49,6 +52,7 @@
 Michael Perng <[email protected]>
 Monty Taylor <[email protected]>
 Nathan Reller <[email protected]>
+Nguyen Hai <[email protected]>
 Oleksii Chuprykov <[email protected]>
 Ondřej Nový <[email protected]>
 Paul Kehrer <[email protected]>
@@ -56,6 +60,7 @@
 Richard Lee <[email protected]>
 Robert Collins <[email protected]>
 Rui Chen <[email protected]>
+ShangXiao <[email protected]>
 Shuquan Huang <[email protected]>
 Steve Heyman <[email protected]>
 Steven Gonzales <[email protected]>
@@ -68,6 +73,7 @@
 Tony Breeds <[email protected]>
 Tony Xu <[email protected]>
 Van Hung Pham <[email protected]>
+Vu Cong Tuan <[email protected]>
 Wyllys Ingersoll <[email protected]>
 Yushiro FURUKAWA <[email protected]>
 ZhiQiang Fan <[email protected]>
@@ -75,9 +81,12 @@
 chadlung <[email protected]>
 chenxing <[email protected]>
 hongzhezheng <[email protected]>
+huangshan <[email protected]>
 ji-xuepeng <[email protected]>
 lingyongxu <[email protected]>
 liujiong <[email protected]>
+melissaml <[email protected]>
+rajat29 <[email protected]>
 reedip <[email protected]>
 rico.lin <[email protected]>
 ricolin <[email protected]>
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: [email protected]
 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: [email protected]
 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


Reply via email to