Mailinglist Archive: opensuse-commit (1903 mails)

< Previous Next >
commit python-sphinx-feature-classification for openSUSE:Factory
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 <mcalabkova@xxxxxxxx>
+
+- 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 <18552437190@xxxxxxx>
+Ben Nemec <bnemec@xxxxxxxxxx>
+Corey Bryant <corey.bryant@xxxxxxxxxxxxx>
+Doug Hellmann <doug@xxxxxxxxxxxxxxxx>
+Jay S. Bryant <jungleboyj@xxxxxxxxxxxxxxxxxxxx>
Mike Perez <thingee@xxxxxxxxx>
+Sean McGinnis <sean.mcginnis@xxxxxxxxx>
+Stephen Finucane <stephenfin@xxxxxxxxxx>
+Thierry Carrez <thierry@xxxxxxxxxxxxx>
+huang.zhiping <huang.zhiping@xxxxxxxxxxx>
+qingszhao <zhao.daqing@xxxxxxxxxxx>
+zhouxinyong <zhouxinyong@xxxxxxxxxx>
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: openstack-dev@xxxxxxxxxxxxxxxxxxx
+Author-email: openstack-discuss@xxxxxxxxxxxxxxxxxxx
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 = openstack-dev@xxxxxxxxxxxxxxxxxxx
-home-page = http://www.openstack.org/
+author-email = openstack-discuss@xxxxxxxxxxxxxxxxxxx
+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: openstack-dev@xxxxxxxxxxxxxxxxxxx
+Author-email: openstack-discuss@xxxxxxxxxxxxxxxxxxx
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]


< Previous Next >
This Thread
  • No further messages