Hello community,

here is the log from the commit of package python-sphinx-feature-classification 
for openSUSE:Factory checked in at 2019-04-28 20:14:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-sphinx-feature-classification (Old)
 and      
/work/SRC/openSUSE:Factory/.python-sphinx-feature-classification.new.5536 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-sphinx-feature-classification"

Sun Apr 28 20:14:22 2019 rev:3 rq:698575 version:0.3.2

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-sphinx-feature-classification/python-sphinx-feature-classification.changes
        2018-12-24 11:46:15.325193704 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-sphinx-feature-classification.new.5536/python-sphinx-feature-classification.changes
      2019-04-28 20:14:22.910383860 +0200
@@ -1,0 +2,19 @@
+Fri Apr 26 13:34:05 UTC 2019 - Marketa Calabkova <[email protected]>
+
+- update to version 0.3.2
+  0.3.2
+  * Change openstack-dev to openstack-discuss
+  * Optimizing the safety of the http link site in HACKING.rst
+  0.3.1
+  * Handle ConfigParser.readfp deprecation
+  * add python 3.6 unit test job
+  0.3.0
+  * Parse 'driver-notes-XXX' values
+  * doc: Rework everything
+  0.2.0
+  * Update for Python 3 compatibility
+  * Driver usage example is not correct
+  * set default python to python3
+  * Add badges, description and fix links in README
+
+-------------------------------------------------------------------

Old:
----
  sphinx-feature-classification-0.1.0.tar.gz

New:
----
  sphinx-feature-classification-0.3.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-sphinx-feature-classification.spec ++++++
--- /var/tmp/diff_new_pack.m0KwMJ/_old  2019-04-28 20:14:23.350383587 +0200
+++ /var/tmp/diff_new_pack.m0KwMJ/_new  2019-04-28 20:14:23.350383587 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-sphinx-feature-classification
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,14 +18,18 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-sphinx-feature-classification
-Version:        0.1.0
+Version:        0.3.2
 Release:        0
 Summary:        Sphinx extension to generate a matrix of pluggable drivers
 License:        Apache-2.0
 Group:          Development/Languages/Python
 URL:            http://www.openstack.org/
 Source:         
https://files.pythonhosted.org/packages/source/s/sphinx-feature-classification/sphinx-feature-classification-%{version}.tar.gz
+BuildRequires:  %{python_module ddt >= 1.0.1}
+BuildRequires:  %{python_module docutils}
+BuildRequires:  %{python_module oslotest}
 BuildRequires:  %{python_module pbr >= 2.0}
+BuildRequires:  %{python_module pytest}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
 Requires:       python-docutils >= 0.11
@@ -47,6 +51,9 @@
 %python_install
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 
+%check
+%pytest sphinx_feature_classification/tests
+
 %files %{python_files}
 %license LICENSE
 %doc AUTHORS ChangeLog README.rst

++++++ sphinx-feature-classification-0.1.0.tar.gz -> 
sphinx-feature-classification-0.3.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx-feature-classification-0.1.0/.zuul.yaml 
new/sphinx-feature-classification-0.3.2/.zuul.yaml
--- old/sphinx-feature-classification-0.1.0/.zuul.yaml  1970-01-01 
01:00:00.000000000 +0100
+++ new/sphinx-feature-classification-0.3.2/.zuul.yaml  2019-02-26 
01:05:12.000000000 +0100
@@ -0,0 +1,7 @@
+- project:
+    templates:
+      - check-requirements
+      - publish-openstack-docs-pti
+      - openstack-python-jobs
+      - openstack-python36-jobs
+      - openstack-python37-jobs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx-feature-classification-0.1.0/AUTHORS 
new/sphinx-feature-classification-0.3.2/AUTHORS
--- old/sphinx-feature-classification-0.1.0/AUTHORS     2018-03-19 
17:57:37.000000000 +0100
+++ new/sphinx-feature-classification-0.3.2/AUTHORS     2019-02-26 
01:07:16.000000000 +0100
@@ -1 +1,12 @@
+98k <[email protected]>
+Ben Nemec <[email protected]>
+Corey Bryant <[email protected]>
+Doug Hellmann <[email protected]>
+Jay S. Bryant <[email protected]>
 Mike Perez <[email protected]>
+Sean McGinnis <[email protected]>
+Stephen Finucane <[email protected]>
+Thierry Carrez <[email protected]>
+huang.zhiping <[email protected]>
+qingszhao <[email protected]>
+zhouxinyong <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx-feature-classification-0.1.0/ChangeLog 
new/sphinx-feature-classification-0.3.2/ChangeLog
--- old/sphinx-feature-classification-0.1.0/ChangeLog   2018-03-19 
17:57:37.000000000 +0100
+++ new/sphinx-feature-classification-0.3.2/ChangeLog   2019-02-26 
01:07:16.000000000 +0100
@@ -1,6 +1,41 @@
 CHANGES
 =======
 
+0.3.2
+-----
+
+* Change python3.5 job to python3.7 job on Stein+
+* Sort drivers listed under feature details
+* Update home-page
+* Change openstack-dev to openstack-discuss
+* Optimizing the safety of the http link site in HACKING.rst
+
+0.3.1
+-----
+
+* Handle ConfigParser.readfp deprecation
+* add python 3.6 unit test job
+* switch documentation job to new PTI
+* import zuul job settings from project-config
+
+0.3.0
+-----
+
+* Parse 'driver-notes-XXX' values
+* doc: Rework everything
+
+0.2.0
+-----
+
+* Update for Python 3 compatibility
+* change default python 3 env in tox to 3.5
+* fix tox python3 overrides
+* Trivial: update pypi url to new url
+* Driver usage example is not correct
+* set default python to python3
+* Fix constraints error in pep8 job
+* Add badges, description and fix links in README
+
 0.1.0
 -----
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx-feature-classification-0.1.0/HACKING.rst 
new/sphinx-feature-classification-0.3.2/HACKING.rst
--- old/sphinx-feature-classification-0.1.0/HACKING.rst 2018-03-19 
17:54:56.000000000 +0100
+++ new/sphinx-feature-classification-0.3.2/HACKING.rst 2019-02-26 
01:05:12.000000000 +0100
@@ -1,4 +1,4 @@
 sphinx-feature-classification Style Commandments
 ================================================
 
-Read the OpenStack Style Commandments 
http://docs.openstack.org/developer/hacking/
+Read the OpenStack Style Commandments 
https://docs.openstack.org/hacking/latest/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx-feature-classification-0.1.0/PKG-INFO 
new/sphinx-feature-classification-0.3.2/PKG-INFO
--- old/sphinx-feature-classification-0.1.0/PKG-INFO    2018-03-19 
17:57:38.000000000 +0100
+++ new/sphinx-feature-classification-0.3.2/PKG-INFO    2019-02-26 
01:07:16.000000000 +0100
@@ -1,26 +1,34 @@
 Metadata-Version: 1.1
 Name: sphinx-feature-classification
-Version: 0.1.0
+Version: 0.3.2
 Summary: Generate a matrix of pluggable drivers and their support to an API in 
Sphinx.
-Home-page: http://www.openstack.org/
+Home-page: https://docs.openstack.org/sphinx-feature-classification/latest/
 Author: OpenStack
-Author-email: [email protected]
+Author-email: [email protected]
 License: UNKNOWN
-Description: ===============================
+Description: ========================
+        Team and repository tags
+        ========================
+        
+        .. image:: 
https://governance.openstack.org/tc/badges/sphinx-feature-classification.svg
+            :target: 
https://governance.openstack.org/tc/reference/tags/index.html
+        
+        .. Change things from this point on
+        
+        =============================
         sphinx-feature-classification
-        ===============================
+        =============================
         
-        Generate in sphinx a matrix of pluggable drivers and their support to 
an API.
+        This is a Sphinx directive that allows creating matrices of drivers a 
project
+        contains and which features they support. The directive takes an INI 
file with
+        specific syntax explained in the usage documentation to generate the 
matrices,
+        in which projects have the authority to say what is supported within 
their own
+        repository.
         
         * Free software: Apache license
-        * Documentation: 
http://docs.openstack.org/developer/sphinx-feature-classification
+        * Documentation: 
https://docs.openstack.org/sphinx-feature-classification/latest/
         * Source: 
http://git.openstack.org/cgit/openstack/sphinx-feature-classification
-        * Bugs: http://bugs.launchpad.net/sphinx-feature-classification
-        
-        Features
-        --------
-        
-        * TODO
+        * Bugs: https://storyboard.openstack.org/#!/project/921
         
         
 Platform: UNKNOWN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx-feature-classification-0.1.0/README.rst 
new/sphinx-feature-classification-0.3.2/README.rst
--- old/sphinx-feature-classification-0.1.0/README.rst  2018-03-19 
17:54:56.000000000 +0100
+++ new/sphinx-feature-classification-0.3.2/README.rst  2019-02-26 
01:05:12.000000000 +0100
@@ -1,15 +1,23 @@
-===============================
+========================
+Team and repository tags
+========================
+
+.. image:: 
https://governance.openstack.org/tc/badges/sphinx-feature-classification.svg
+    :target: https://governance.openstack.org/tc/reference/tags/index.html
+
+.. Change things from this point on
+
+=============================
 sphinx-feature-classification
-===============================
+=============================
 
-Generate in sphinx a matrix of pluggable drivers and their support to an API.
+This is a Sphinx directive that allows creating matrices of drivers a project
+contains and which features they support. The directive takes an INI file with
+specific syntax explained in the usage documentation to generate the matrices,
+in which projects have the authority to say what is supported within their own
+repository.
 
 * Free software: Apache license
-* Documentation: 
http://docs.openstack.org/developer/sphinx-feature-classification
+* Documentation: 
https://docs.openstack.org/sphinx-feature-classification/latest/
 * Source: http://git.openstack.org/cgit/openstack/sphinx-feature-classification
-* Bugs: http://bugs.launchpad.net/sphinx-feature-classification
-
-Features
---------
-
-* TODO
+* Bugs: https://storyboard.openstack.org/#!/project/921
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sphinx-feature-classification-0.1.0/doc/source/contributing.rst 
new/sphinx-feature-classification-0.3.2/doc/source/contributing.rst
--- old/sphinx-feature-classification-0.1.0/doc/source/contributing.rst 
2018-03-19 17:54:56.000000000 +0100
+++ new/sphinx-feature-classification-0.3.2/doc/source/contributing.rst 
1970-01-01 01:00:00.000000000 +0100
@@ -1,4 +0,0 @@
-============
-Contributing
-============
-.. include:: ../../CONTRIBUTING.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sphinx-feature-classification-0.1.0/doc/source/contributor/index.rst 
new/sphinx-feature-classification-0.3.2/doc/source/contributor/index.rst
--- old/sphinx-feature-classification-0.1.0/doc/source/contributor/index.rst    
1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx-feature-classification-0.3.2/doc/source/contributor/index.rst    
2019-02-26 01:05:12.000000000 +0100
@@ -0,0 +1,5 @@
+============
+Contributing
+============
+
+.. include:: ../../../CONTRIBUTING.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sphinx-feature-classification-0.1.0/doc/source/index.rst 
new/sphinx-feature-classification-0.3.2/doc/source/index.rst
--- old/sphinx-feature-classification-0.1.0/doc/source/index.rst        
2018-03-19 17:54:56.000000000 +0100
+++ new/sphinx-feature-classification-0.3.2/doc/source/index.rst        
2019-02-26 01:05:12.000000000 +0100
@@ -1,25 +1,13 @@
-.. sphinx-feature-classification documentation master file, created by
-   sphinx-quickstart on Tue Jul  9 22:26:36 2013.
-   You can adapt this file completely to your liking, but it should at least
-   contain the root `toctree` directive.
-
-Welcome to sphinx-feature-classification's documentation!
-=========================================================
-
-Contents:
+=============================
+sphinx-feature-classification
+=============================
+
+.. include:: ../../README.rst
+   :start-line: 9
+   :end-line: -4
 
 .. toctree::
-   :maxdepth: 2
-
-   readme
-   installation
-   usage
-   contributing
-
-Indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`
 
+   contributor/index
+   install/index
+   user/index
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sphinx-feature-classification-0.1.0/doc/source/install/index.rst 
new/sphinx-feature-classification-0.3.2/doc/source/install/index.rst
--- old/sphinx-feature-classification-0.1.0/doc/source/install/index.rst        
1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx-feature-classification-0.3.2/doc/source/install/index.rst        
2019-02-26 01:05:12.000000000 +0100
@@ -0,0 +1,7 @@
+============
+Installation
+============
+
+At the command line::
+
+    $ pip install sphinx-feature-classification
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sphinx-feature-classification-0.1.0/doc/source/installation.rst 
new/sphinx-feature-classification-0.3.2/doc/source/installation.rst
--- old/sphinx-feature-classification-0.1.0/doc/source/installation.rst 
2018-03-19 17:54:56.000000000 +0100
+++ new/sphinx-feature-classification-0.3.2/doc/source/installation.rst 
1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-============
-Installation
-============
-
-At the command line::
-
-    $ pip install sphinx-feature-classification
-
-Or, if you have virtualenvwrapper installed::
-
-    $ mkvirtualenv sphinx-feature-classification
-    $ pip install sphinx-feature-classification
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sphinx-feature-classification-0.1.0/doc/source/readme.rst 
new/sphinx-feature-classification-0.3.2/doc/source/readme.rst
--- old/sphinx-feature-classification-0.1.0/doc/source/readme.rst       
2018-03-19 17:54:56.000000000 +0100
+++ new/sphinx-feature-classification-0.3.2/doc/source/readme.rst       
1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-.. include:: ../../README.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sphinx-feature-classification-0.1.0/doc/source/usage.rst 
new/sphinx-feature-classification-0.3.2/doc/source/usage.rst
--- old/sphinx-feature-classification-0.1.0/doc/source/usage.rst        
2018-03-19 17:54:56.000000000 +0100
+++ new/sphinx-feature-classification-0.3.2/doc/source/usage.rst        
1970-01-01 01:00:00.000000000 +0100
@@ -1,92 +0,0 @@
-========
-Usage
-========
-
-Sphinx Configuration
-====================
-
-To use the extension, add ``'sphinx_feature_classification.support_matrix'`` to
-the ``extensions`` list in the ``conf.py`` file in your Sphinx project.
-
-Documenting Your Drivers
-========================
-
-1. This extension uses an ini file to render your driver matrix in Sphinx. You
-   can begin by creating the file support-matrix.ini file in your sphinx's
-   source directory.
-
-2. In the INI file, create driver sections that are prefixed with driver-. The
-   section has various options that can be specified.
-
-+------------+-----------+---------------------------------------+
-| Field Name | Mandatory | Description                           |
-+============+===========+=======================================+
-| title      | **Yes**   | Friendly name of the driver.          |
-+------------+-----------+---------------------------------------+
-| link       | No        | A link to documentation of the driver.|
-+------------+-----------+---------------------------------------+
-
-.. code-block:: INI
-
-  [driver.slow-driver]
-  title=Slow Driver
-  link=https://docs.openstack.org/foo/latest/some-slow-driver-doc
-
-  [driver.fast-driver]
-  title=Fast Driver
-  link=https://docs.openstack.org/foo/latest/some-fast-driver-doc
-
-
-3. Next we'll create a couple of feature sections to show which drivers support
-   them. Notice that a driver is only required to implement detach-volume if
-   they completed implementing attach-volume.
-
-.. code-block:: INI
-
-  [operation.attach-volume]
-  title=Attach block volume to instance
-  status=optional
-  notes=The attach volume operation provides a means to hotplug
-  additional block storage to a running instance.
-  cli=my-project attach-volume <instance> <volume>
-  driver-slow-driver=complete
-  driver-fast-driver=complete
-
-  [operation.detach-volume]
-  title=Detach block volume from instance
-  status=condition(operation.attach-volume==complete)
-  notes=The detach volume operation provides a means to remove additional block
-  storage from a running instance.
-  cli=my-project detach-volume <instance> <volume>
-  driver-slow-driver=complete
-  driver-fast-driver=complete
-
-The 'status' field takes possible values
-
-+---------------+------------------------------------------------------+
-| Status        | Description                                          |
-+===============+======================================================+
-| mandatory     | Unconditionally required to be implemented.          |
-+---------------+------------------------------------------------------+
-| optional      | Optional to support, nice to have.                   |
-+---------------+------------------------------------------------------+
-| choice(group) | At least one of the options within the named group   |
-|               | must be implemented.                                 |
-+---------------+------------------------------------------------------+
-| condition     | Required, if the referenced condition is met.        |
-+---------------+------------------------------------------------------+
-
-The value against each 'driver-XXXX' entry refers to the level
-of the implementation of the feature in that driver
-
-+---------------+------------------------------------------------------+
-| Status        | Description                                          |
-+===============+======================================================+
-| complete      | Fully implemented, expected to work at all times.    |
-+---------------+------------------------------------------------------+
-| partial       | Implemented, but with caveats about when it will     |
-|               | work eg some configurations or hardware or guest OS  |
-|               | may not support it.                                  |
-+---------------+------------------------------------------------------+
-| missing       | Not implemented at all.                              |
-+---------------+------------------------------------------------------+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sphinx-feature-classification-0.1.0/doc/source/user/index.rst 
new/sphinx-feature-classification-0.3.2/doc/source/user/index.rst
--- old/sphinx-feature-classification-0.1.0/doc/source/user/index.rst   
1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx-feature-classification-0.3.2/doc/source/user/index.rst   
2019-02-26 01:05:12.000000000 +0100
@@ -0,0 +1,221 @@
+=====
+Usage
+=====
+
+Sphinx Configuration
+--------------------
+
+To use the extension, add ``'sphinx_feature_classification.support_matrix'`` to
+the ``extensions`` list in the ``conf.py`` file in your Sphinx project.
+
+.. code-block:: python
+   :caption: conf.py
+
+   extensions = [
+     'sphinx_feature_classification.support_matrix',
+     # ... other extensions
+   ]
+
+Once added, include the ``support_matrix`` directive in your chosen document.
+The directive takes a single argument: a relative path to the INI file in which
+the driver matrix is defined.
+
+.. code-block:: rst
+   :caption: support-matrix.rst
+
+   .. support_matrix:: support-matrix.ini
+
+See below for more details on the format of this file.
+
+
+Drivers vs. Features vs. Implementations
+----------------------------------------
+
+Drivers
+  Drivers are *backends* that are used to implement a set of features. What a
+  driver actually is depends entirely on the project being documented. For a
+  project like OpenStack Compute (nova), this could be a virtualization driver
+  (*libvirt*, *Hyper-V*, *PowerVM*, etc.). For a project like OpenStack
+  Storage, this could be a block storage driver (*LVM*, *NFS*, *RBD*, etc.). It
+  is entirely project-specific.
+
+Features
+  Features are more clear cut. Features are something that your project should
+  support (or *must* support). For a project like OpenStack Compute (nova),
+  this could be the ability to restart an instance. For a project like
+  OpenStack Storage (cinder), this could be the ability to create a snapshot of
+  a volume.
+
+Implementation
+  Implementations refer to the state of a feature within a given driver. As not
+  all features are required, not all drivers may implement them.
+
+
+Documenting Your Drivers
+------------------------
+
+This extension uses an INI file to render your driver matrix in Sphinx. For
+example, you may wish to call this file ``support-matrix.ini``. This file
+should be placed somewhere within your Sphinx source directory. Within the INI
+file, there are multiple sections.
+
+Driver Sections
+~~~~~~~~~~~~~~~
+
+Driver sections are prefixed with ``driver.``. You can specify as many of them
+as you need for your project. The section has various options that can be
+specified.
+
+``title``
+  :Mandatory: **Yes**
+
+  Friendly name of the driver.
+
+``link``
+  :Mandatory: No
+
+  A link to documentation of the driver.
+
+For example:
+
+.. code-block:: INI
+   :caption: support-matrix.ini
+
+   [driver.slow-driver]
+   title=Slow Driver
+   link=https://docs.openstack.org/foo/latest/some-slow-driver-doc
+
+   [driver.fast-driver]
+   title=Fast Driver
+   link=https://docs.openstack.org/foo/latest/some-fast-driver-doc
+
+Feature Sections
+~~~~~~~~~~~~~~~~
+
+Feature sections are prefixed with ``operation.``. As with driver sections, you
+can specify as many of them as you need for your project. These sections are
+also used to describe the feature and indicate the implementation status of the
+feature among the various drivers, as seen below. These sections have the
+following options:
+
+``title``
+  :Mandatory: **Yes**
+
+  Friendly name of the feature.
+
+``status``
+  :Mandatory: **Yes**
+
+  The importance of the feature or whether it's required. One of:
+
+  ``mandatory``
+    Unconditionally required to be implemented.
+
+  ``optional``
+    Optional to support; nice to have.
+
+  ``choice(group)``
+    At least one of the options within the named group must be implemented.
+
+  ``condition``
+    Required, if the referenced condition is met.
+
+``notes``
+  :Mandatory: No
+
+  Additional information about the feature.
+
+``cli``
+  :Mandatory: No
+
+  A sample CLI command that can be used to utilize the feature.
+
+In addition, there are some driver specific options that should be repeated
+for every driver defined earlier in the file.
+
+``driver.XXX``
+  :Mandatory: **Yes** (for each driver)
+
+  The level of implementation of this feature in driver ``XXX``. One of:
+
+  ``complete``
+    Fully implemented, expected to work at all times.
+
+  ``partial``
+    Implemented, but with caveats about when it will work. For example, some
+    configurations, hardware or guest OS' may not support it.
+
+  ``missing``
+    Not implemented at all.
+
+``driver-notes.XXX``
+  :Mandatory: No
+
+  Additional information about the implementation of this feature in driver
+  ``XXX``. While this is optional, it is highly recommended for implementations
+  in the ``partial`` state.
+
+For example:
+
+.. code-block:: INI
+   :caption: support-matrix.ini
+
+   [operation.attach-volume]
+   title=Attach block volume to instance
+   status=optional
+   notes=The attach volume operation provides a means to hotplug additional
+       block storage to a running instance.
+   cli=my-project attach-volume <instance> <volume>
+   driver.slow-driver=complete
+   driver.fast-driver=complete
+
+   [operation.detach-volume]
+   title=Detach block volume from instance
+   status=condition(operation.attach-volume==complete)
+   notes=The detach volume operation provides a means to remove additional
+       block storage from a running instance.
+   cli=my-project detach-volume <instance> <volume>
+   driver.slow-driver=complete
+   driver-notes.slow-driver=Works without issue if instance is off. When
+       hotplugging, requires version foo of the driver.
+   driver.fast-driver=complete
+
+Notice that a driver is only required to implement detach-volume if they
+completed implementing ``attach-volume``.
+
+
+Example
+-------
+
+This is simply the combined example from above.
+
+.. code-block:: INI
+   :caption: support-matrix.ini
+
+   [driver.slow-driver]
+   title=Slow Driver
+   link=https://docs.openstack.org/foo/latest/some-slow-driver-doc
+
+   [driver.fast-driver]
+   title=Fast Driver
+   link=https://docs.openstack.org/foo/latest/some-fast-driver-doc
+
+   [operation.attach-volume]
+   title=Attach block volume to instance
+   status=optional
+   notes=The attach volume operation provides a means to hotplug additional
+       block storage to a running instance.
+   cli=my-project attach-volume <instance> <volume>
+   driver.slow-driver=complete
+   driver.fast-driver=complete
+
+   [operation.detach-volume]
+   title=Detach block volume from instance
+   status=condition(operation.attach-volume==complete)
+   notes=The detach volume operation provides a means to remove additional
+       block storage from a running instance.
+   cli=my-project detach-volume <instance> <volume>
+   driver.slow-driver=complete
+   driver-notes.slow-driver=Works without issue if instance is off. When
+       hotplugging, requires version foo of the driver.
+   driver.fast-driver=complete
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sphinx-feature-classification-0.1.0/releasenotes/notes/support-driver-notes-b73d5b185f05db7f.yaml
 
new/sphinx-feature-classification-0.3.2/releasenotes/notes/support-driver-notes-b73d5b185f05db7f.yaml
--- 
old/sphinx-feature-classification-0.1.0/releasenotes/notes/support-driver-notes-b73d5b185f05db7f.yaml
       1970-01-01 01:00:00.000000000 +0100
+++ 
new/sphinx-feature-classification-0.3.2/releasenotes/notes/support-driver-notes-b73d5b185f05db7f.yaml
       2019-02-26 01:05:12.000000000 +0100
@@ -0,0 +1,14 @@
+---
+features:
+  - |
+    You can now specify ``driver-notes.XXX`` values. These are useful to
+    provide additional context for features with a status of ``partial``. For
+    example::
+
+        [operation.Cool_Feature]
+        title=Cool Feature
+        status=optional
+        notes=A pretty darn cool feature.
+        driver.foo=complete
+        driver.bar=partial
+        driver-notes.bar=Requires hardware support.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx-feature-classification-0.1.0/setup.cfg 
new/sphinx-feature-classification-0.3.2/setup.cfg
--- old/sphinx-feature-classification-0.1.0/setup.cfg   2018-03-19 
17:57:38.000000000 +0100
+++ new/sphinx-feature-classification-0.3.2/setup.cfg   2019-02-26 
01:07:16.000000000 +0100
@@ -4,8 +4,8 @@
 description-file = 
        README.rst
 author = OpenStack
-author-email = [email protected]
-home-page = http://www.openstack.org/
+author-email = [email protected]
+home-page = https://docs.openstack.org/sphinx-feature-classification/latest/
 classifier = 
        Environment :: OpenStack
        Intended Audience :: Information Technology
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification/support_matrix.py
 
new/sphinx-feature-classification-0.3.2/sphinx_feature_classification/support_matrix.py
--- 
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification/support_matrix.py
     2018-03-19 17:54:56.000000000 +0100
+++ 
new/sphinx-feature-classification-0.3.2/sphinx_feature_classification/support_matrix.py
     2019-02-26 01:05:12.000000000 +0100
@@ -23,6 +23,7 @@
 
 from docutils import nodes
 from docutils.parsers import rst
+import six
 from six.moves import configparser
 
 KEY_PATTERN = re.compile("[^a-zA-Z0-9_]")
@@ -104,7 +105,13 @@
                     "one of (%s)" % (option, status, section, ", ".join(
                         Implementation.STATUS_ALL)))
 
-            impl = Implementation(status)
+            option_notes = ''.join([DRIVER_NOTES_PREFIX,
+                                    option[len(DRIVER_PREFIX):]])
+            notes = None
+            if cfg.has_option(section, option_notes):
+                notes = cfg.get(section, option_notes)
+
+            impl = Implementation(status=status, notes=notes)
             feature.implementations[option] = impl
 
             return feature
@@ -160,8 +167,9 @@
     STATUS_ALL = [STATUS_COMPLETE, STATUS_MISSING,
                   STATUS_PARTIAL, STATUS_UNKNOWN]
 
-    def __init__(self, status=STATUS_MISSING):
+    def __init__(self, status=STATUS_MISSING, notes=None):
         self.status = status
+        self.notes = notes
 
 
 STATUS_SYMBOLS = {
@@ -205,8 +213,14 @@
         env = self.state.document.settings.env
         fname = self.arguments[0]
         rel_fpath, fpath = env.relfn2path(fname)
+
+        # Handle deprecation of readfp in py3 for read_file that was not
+        # available in py2.
+        if six.PY2:
+            cfg.read_file = cfg.readfp
+
         with open(fpath) as fp:
-            cfg.readfp(fp)
+            cfg.read_file(fp)
 
         # This ensures that the docs are rebuilt whenever the
         # .ini file changes
@@ -264,8 +278,8 @@
         summary_head.append(header)
 
         # then one column for each backend driver
-        impls = matrix.drivers.keys()
-        impls.sort()
+        impls = sorted(matrix.drivers,
+                       key=lambda x: matrix.drivers[x].title)
         for key in impls:
             driver = matrix.drivers[key]
             implcol = nodes.entry()
@@ -296,8 +310,6 @@
                 classes=["sp_feature_" + feature.status]))
 
             # and then one column for each backend driver
-            impls = matrix.drivers.keys()
-            impls.sort()
             for key in impls:
                 impl = feature.implementations[key]
                 impl_col = nodes.entry()
@@ -362,7 +374,9 @@
             para_divers.append(nodes.strong(text="Driver Support:"))
             # A sub-list giving details of each backend driver
             impls = nodes.bullet_list()
-            for key in feature.implementations:
+            keys = sorted(feature.implementations,
+                          key=lambda x: matrix.drivers[x].title)
+            for key in keys:
                 driver = matrix.drivers[key]
                 impl = feature.implementations[key]
                 subitem = nodes.list_item()
@@ -377,6 +391,9 @@
                                   ids=[key_id]),
                 ]
 
+                if impl.notes is not None:
+                    subitem.append(self._create_notes_paragraph(impl.notes))
+
                 impls.append(subitem)
 
             para_divers.append(impls)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification/tests/fakes/support-matrix.ini
 
new/sphinx-feature-classification-0.3.2/sphinx_feature_classification/tests/fakes/support-matrix.ini
--- 
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification/tests/fakes/support-matrix.ini
        2018-03-19 17:54:56.000000000 +0100
+++ 
new/sphinx-feature-classification-0.3.2/sphinx_feature_classification/tests/fakes/support-matrix.ini
        2019-02-26 01:05:12.000000000 +0100
@@ -12,3 +12,4 @@
 notes=A pretty darn cool feature.
 driver.foo=complete
 driver.bar=partial
+driver-notes.bar=Requires hardware support.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification/tests/test_sphinx_feature_classification.py
 
new/sphinx-feature-classification-0.3.2/sphinx_feature_classification/tests/test_sphinx_feature_classification.py
--- 
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification/tests/test_sphinx_feature_classification.py
   2018-03-19 17:54:56.000000000 +0100
+++ 
new/sphinx-feature-classification-0.3.2/sphinx_feature_classification/tests/test_sphinx_feature_classification.py
   2019-02-26 01:05:12.000000000 +0100
@@ -20,12 +20,13 @@
 """
 import os
 
-from sphinx_feature_classification import support_matrix
-from sphinx_feature_classification.tests import base
-
 import ddt
+import six
 from six.moves import configparser
 
+from sphinx_feature_classification import support_matrix
+from sphinx_feature_classification.tests import base
+
 
 @ddt.ddt
 class MatrixTestCase(base.TestCase):
@@ -37,8 +38,11 @@
         directory = os.path.dirname(os.path.abspath(__file__))
         config_file = os.path.join(directory, 'fakes', 'support-matrix.ini')
 
+        if six.PY2:
+            cfg.read_file = cfg.readfp
+
         with open(config_file) as fp:
-            cfg.readfp(fp)
+            cfg.read_file(fp)
 
         self.matrix = support_matrix.Matrix(cfg)
 
@@ -58,3 +62,13 @@
         fake_driver = self.matrix.drivers[key]
         self.assertEqual(title, fake_driver.title)
         self.assertEqual(link, fake_driver.link)
+
+    @ddt.unpack
+    @ddt.data({'key': 'driver.foo', 'status': 'complete',
+               'notes': None},
+              {'key': 'driver.bar', 'status': 'partial',
+               'notes': 'Requires hardware support.'})
+    def test_implementations_set(self, key, status, notes):
+        fake_implementation = self.matrix.features[0].implementations[key]
+        self.assertEqual(status, fake_implementation.status)
+        self.assertEqual(notes, fake_implementation.notes)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification.egg-info/PKG-INFO
 
new/sphinx-feature-classification-0.3.2/sphinx_feature_classification.egg-info/PKG-INFO
--- 
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification.egg-info/PKG-INFO
     2018-03-19 17:57:37.000000000 +0100
+++ 
new/sphinx-feature-classification-0.3.2/sphinx_feature_classification.egg-info/PKG-INFO
     2019-02-26 01:07:16.000000000 +0100
@@ -1,26 +1,34 @@
 Metadata-Version: 1.1
 Name: sphinx-feature-classification
-Version: 0.1.0
+Version: 0.3.2
 Summary: Generate a matrix of pluggable drivers and their support to an API in 
Sphinx.
-Home-page: http://www.openstack.org/
+Home-page: https://docs.openstack.org/sphinx-feature-classification/latest/
 Author: OpenStack
-Author-email: [email protected]
+Author-email: [email protected]
 License: UNKNOWN
-Description: ===============================
+Description: ========================
+        Team and repository tags
+        ========================
+        
+        .. image:: 
https://governance.openstack.org/tc/badges/sphinx-feature-classification.svg
+            :target: 
https://governance.openstack.org/tc/reference/tags/index.html
+        
+        .. Change things from this point on
+        
+        =============================
         sphinx-feature-classification
-        ===============================
+        =============================
         
-        Generate in sphinx a matrix of pluggable drivers and their support to 
an API.
+        This is a Sphinx directive that allows creating matrices of drivers a 
project
+        contains and which features they support. The directive takes an INI 
file with
+        specific syntax explained in the usage documentation to generate the 
matrices,
+        in which projects have the authority to say what is supported within 
their own
+        repository.
         
         * Free software: Apache license
-        * Documentation: 
http://docs.openstack.org/developer/sphinx-feature-classification
+        * Documentation: 
https://docs.openstack.org/sphinx-feature-classification/latest/
         * Source: 
http://git.openstack.org/cgit/openstack/sphinx-feature-classification
-        * Bugs: http://bugs.launchpad.net/sphinx-feature-classification
-        
-        Features
-        --------
-        
-        * TODO
+        * Bugs: https://storyboard.openstack.org/#!/project/921
         
         
 Platform: UNKNOWN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification.egg-info/SOURCES.txt
 
new/sphinx-feature-classification-0.3.2/sphinx_feature_classification.egg-info/SOURCES.txt
--- 
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification.egg-info/SOURCES.txt
  2018-03-19 17:57:38.000000000 +0100
+++ 
new/sphinx-feature-classification-0.3.2/sphinx_feature_classification.egg-info/SOURCES.txt
  2019-02-26 01:07:16.000000000 +0100
@@ -1,6 +1,7 @@
 .coveragerc
 .mailmap
 .testr.conf
+.zuul.yaml
 AUTHORS
 CONTRIBUTING.rst
 ChangeLog
@@ -14,12 +15,12 @@
 test-requirements.txt
 tox.ini
 doc/source/conf.py
-doc/source/contributing.rst
 doc/source/index.rst
-doc/source/installation.rst
-doc/source/readme.rst
-doc/source/usage.rst
+doc/source/contributor/index.rst
+doc/source/install/index.rst
+doc/source/user/index.rst
 releasenotes/notes/.placeholder
+releasenotes/notes/support-driver-notes-b73d5b185f05db7f.yaml
 releasenotes/source/conf.py
 releasenotes/source/index.rst
 releasenotes/source/unreleased.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification.egg-info/pbr.json
 
new/sphinx-feature-classification-0.3.2/sphinx_feature_classification.egg-info/pbr.json
--- 
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification.egg-info/pbr.json
     2018-03-19 17:57:37.000000000 +0100
+++ 
new/sphinx-feature-classification-0.3.2/sphinx_feature_classification.egg-info/pbr.json
     2019-02-26 01:07:16.000000000 +0100
@@ -1 +1 @@
-{"git_version": "6176884", "is_release": true}
\ No newline at end of file
+{"git_version": "2dacdfb", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx-feature-classification-0.1.0/tox.ini 
new/sphinx-feature-classification-0.3.2/tox.ini
--- old/sphinx-feature-classification-0.1.0/tox.ini     2018-03-19 
17:54:56.000000000 +0100
+++ new/sphinx-feature-classification-0.3.2/tox.ini     2019-02-26 
01:05:12.000000000 +0100
@@ -1,34 +1,42 @@
 [tox]
 minversion = 2.0
-envlist = py34,py27,pypy,pep8
+envlist = py35,py36,py27,pypy,pep8
 skipsdist = True
 
 [testenv]
 usedevelop = True
-install_command = pip install 
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
 {opts} {packages}
+install_command = pip install {opts} {packages}
 setenv =
    VIRTUAL_ENV={envdir}
    PYTHONWARNINGS=default::DeprecationWarning
-deps = -r{toxinidir}/test-requirements.txt
+deps =
+  
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
+  -r{toxinidir}/test-requirements.txt
 commands = python setup.py test --slowest --testr-args='{posargs}'
 
 [testenv:pep8]
+basepython = python3
 commands = flake8 {posargs}
 
 [testenv:venv]
+basepython = python3
 commands = {posargs}
 
 [testenv:cover]
+basepython = python3
 commands = python setup.py test --coverage --testr-args='{posargs}'
 
 [testenv:docs]
+basepython = python3
 commands = python setup.py build_sphinx
 
 [testenv:releasenotes]
+basepython = python3
 commands =
   sphinx-build -a -E -W -d releasenotes/build/doctrees -b html 
releasenotes/source releasenotes/build/html
 
 [testenv:debug]
+basepython = python3
 commands = oslo_debug_helper {posargs}
 
 [flake8]


Reply via email to