Hello community,
here is the log from the commit of package python-ironic-inspector-client for
openSUSE:Factory checked in at 2019-12-04 13:48:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ironic-inspector-client (Old)
and /work/SRC/openSUSE:Factory/.python-ironic-inspector-client.new.4691
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ironic-inspector-client"
Wed Dec 4 13:48:32 2019 rev:11 rq:736655 version:3.7.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-ironic-inspector-client/python-ironic-inspector-client.changes
2019-05-03 22:40:47.299034523 +0200
+++
/work/SRC/openSUSE:Factory/.python-ironic-inspector-client.new.4691/python-ironic-inspector-client.changes
2019-12-04 14:18:51.910362340 +0100
@@ -1,0 +2,22 @@
+Wed Oct 9 13:00:47 UTC 2019 - [email protected]
+
+- update to version 3.7.0
+ - Fetch requirements from opendev
+ - Bump the openstackdocstheme extension to 1.20
+ - Update master for stable/stein
+ - OpenDev Migration Patch
+ - Update sphinx requirements
+ - OSC: try fetching ironic-inspector URL from osc-lib
+ - Find misteriously missing pep8 import check
+ - Repair the deprecated uuid/uuids arguments
+ - Blacklist sphinx 2.1.0 (autodoc bug)
+ - Replace openstack.org git:// URLs with https://
+ - CI: clean up required projects
+ - Build pdf doc
+ - Update Python 3 test runtimes for Train
+ - Allow running a specific functional test via CLI
+ - Dropping the py35 testing
+ - Deprecates "uuid" parameters to Python calls when node is expected
+ - Switch base job to ironic-base
+
+-------------------------------------------------------------------
Old:
----
python-ironic-inspector-client-3.5.0.tar.gz
New:
----
python-ironic-inspector-client-3.7.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-ironic-inspector-client.spec ++++++
--- /var/tmp/diff_new_pack.P4PXAe/_old 2019-12-04 14:18:52.322362392 +0100
+++ /var/tmp/diff_new_pack.P4PXAe/_new 2019-12-04 14:18:52.326362393 +0100
@@ -17,32 +17,42 @@
Name: python-ironic-inspector-client
-Version: 3.5.0
+Version: 3.7.0
Release: 0
Summary: Python client and CLI tool for Ironic Inspector
License: Apache-2.0
Group: Development/Languages/Python
URL: https://launchpad.net/python-ironic-inspector-client
-Source0:
https://files.pythonhosted.org/packages/source/p/python-ironic-inspector-client/python-ironic-inspector-client-3.5.0.tar.gz
+Source0:
https://files.pythonhosted.org/packages/source/p/python-ironic-inspector-client/python-ironic-inspector-client-3.7.0.tar.gz
BuildRequires: openstack-macros
-BuildRequires: python-Sphinx
-BuildRequires: python-devel
-BuildRequires: python-fixtures
-BuildRequires: python-mock
-BuildRequires: python-openstackclient
-BuildRequires: python-openstackdocstheme
-BuildRequires: python-osc-lib >= 1.8.0
-BuildRequires: python-oslo.concurrency
-BuildRequires: python-reno
-BuildRequires: python-requests-mock
-BuildRequires: python-testrepository
+BuildRequires: python2-fixtures
+BuildRequires: python2-mock
+BuildRequires: python2-openstackclient
+BuildRequires: python2-openstackdocstheme
+BuildRequires: python2-osc-lib >= 1.8.0
+BuildRequires: python2-oslo.concurrency
+BuildRequires: python2-reno
+BuildRequires: python2-requests-mock
+BuildRequires: python2-testrepository
+BuildRequires: python3-fixtures
+BuildRequires: python3-mock
+BuildRequires: python3-openstackclient
+BuildRequires: python3-openstackdocstheme
+BuildRequires: python3-osc-lib >= 1.8.0
+BuildRequires: python3-oslo.concurrency
+BuildRequires: python3-reno
+BuildRequires: python3-requests-mock
+BuildRequires: python3-testrepository
+Requires: python-PyYAML >= 3.12
Requires: python-keystoneauth1 >= 3.4.0
+Requires: python-openstackclient
Requires: python-osc-lib >= 1.8.0
Requires: python-oslo.i18n >= 3.15.3
Requires: python-oslo.utils >= 3.33.0
Requires: python-requests >= 2.14.2
Requires: python-six >= 1.10.0
BuildArch: noarch
+%python_subpackages
%description
Ironic Inspector is an auxiliary service for discovering hardware properties
@@ -54,25 +64,27 @@
This package contains Python client and command line tool for Ironic Inspector.
%prep
-%autosetup -p1 -n python-ironic-inspector-client-3.5.0
+%autosetup -p1 -n python-ironic-inspector-client-3.7.0
sed -i -e 's,hacking.*,,' test-requirements.txt
sed -i -e 's,coverage.*,,' test-requirements.txt
sed -i -e 's,doc8.*,,' test-requirements.txt
%py_req_cleanup
%build
-%{py2_build}
+%python_build
%install
-%{py2_install}
+%python_install
%check
-%{__python2} setup.py test
+%{python_expand rm -rf .testrepository
+$python -m unittest discover ironic_inspector_client
+}
-%files
+%files %{python_files}
%doc README.rst
%license LICENSE
-%{python2_sitelib}/ironic_inspector_client
-%{python2_sitelib}/*.egg-info
+%{python_sitelib}/ironic_inspector_client
+%{python_sitelib}/*.egg-info
%changelog
++++++ _service ++++++
--- /var/tmp/diff_new_pack.P4PXAe/_old 2019-12-04 14:18:52.350362396 +0100
+++ /var/tmp/diff_new_pack.P4PXAe/_new 2019-12-04 14:18:52.350362396 +0100
@@ -1,8 +1,8 @@
<services>
<service mode="disabled" name="renderspec">
- <param
name="input-template">https://git.openstack.org/cgit/openstack/rpm-packaging/plain/openstack/python-ironic-inspector-client/python-ironic-inspector-client.spec.j2?h=stable/stein</param>
+ <param
name="input-template">https://git.openstack.org/cgit/openstack/rpm-packaging/plain/openstack/python-ironic-inspector-client/python-ironic-inspector-client.spec.j2?h=stable/train</param>
<param name="output-name">python-ironic-inspector-client.spec</param>
- <param
name="requirements">https://raw.githubusercontent.com/openstack/python-ironic-inspector-client/stable/stein/requirements.txt</param>
+ <param
name="requirements">https://raw.githubusercontent.com/openstack/python-ironic-inspector-client/stable/train/requirements.txt</param>
<param name="changelog-email">[email protected]</param>
<param
name="changelog-provider">gh,openstack,python-ironic-inspector-client</param>
</service>
++++++ python-ironic-inspector-client-3.5.0.tar.gz ->
python-ironic-inspector-client-3.7.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ironic-inspector-client-3.5.0/AUTHORS
new/python-ironic-inspector-client-3.7.0/AUTHORS
--- old/python-ironic-inspector-client-3.5.0/AUTHORS 2019-03-08
13:28:32.000000000 +0100
+++ new/python-ironic-inspector-client-3.7.0/AUTHORS 2019-09-07
20:31:35.000000000 +0200
@@ -6,9 +6,12 @@
Clenimar Filemon <[email protected]>
Corey Bryant <[email protected]>
Dmitry Tantsur <[email protected]>
+Dmitry Tantsur <[email protected]>
Dmitry Tantsur <[email protected]>
Doug Hellmann <[email protected]>
Flavio Percoco <[email protected]>
+Ghanshyam Mann <[email protected]>
+Ian Wienand <[email protected]>
Iury Gregory Melo Ferreira <[email protected]>
Iury Gregory Melo Ferreira <[email protected]>
James E. Blair <[email protected]>
@@ -22,7 +25,9 @@
Monty Taylor <[email protected]>
Nguyen Hai Truong <[email protected]>
Nguyen Hung Phuong <[email protected]>
+Nisha Brahmankar <[email protected]>
OpenStack Release Bot <[email protected]>
+Riccardo Pittau <[email protected]>
Ruby Loo <[email protected]>
Sean McGinnis <[email protected]>
Tang Chen <[email protected]>
@@ -36,5 +41,6 @@
jacky06 <[email protected]>
jinxingfang <[email protected]>
melissaml <[email protected]>
+pengyuesheng <[email protected]>
sonu.kumar <[email protected]>
wu.chunyang <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ironic-inspector-client-3.5.0/ChangeLog
new/python-ironic-inspector-client-3.7.0/ChangeLog
--- old/python-ironic-inspector-client-3.5.0/ChangeLog 2019-03-08
13:28:32.000000000 +0100
+++ new/python-ironic-inspector-client-3.7.0/ChangeLog 2019-09-07
20:31:35.000000000 +0200
@@ -1,6 +1,35 @@
CHANGES
=======
+3.7.0
+-----
+
+* Build pdf doc
+* Blacklist sphinx 2.1.0 (autodoc bug)
+* Bump the openstackdocstheme extension to 1.20
+* CI: clean up required projects
+* Allow running a specific functional test via CLI
+
+3.6.1
+-----
+
+* Repair the deprecated uuid/uuids arguments
+* Switch base job to ironic-base
+
+3.6.0
+-----
+
+* Update Python 3 test runtimes for Train
+* OSC: try fetching ironic-inspector URL from osc-lib
+* Update sphinx requirements
+* Fetch requirements from opendev
+* OpenDev Migration Patch
+* Dropping the py35 testing
+* Replace openstack.org git:// URLs with https://
+* Deprecates "uuid" parameters to Python calls when node is expected
+* Update master for stable/stein
+* Find misteriously missing pep8 import check
+
3.5.0
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ironic-inspector-client-3.5.0/PKG-INFO
new/python-ironic-inspector-client-3.7.0/PKG-INFO
--- old/python-ironic-inspector-client-3.5.0/PKG-INFO 2019-03-08
13:28:32.000000000 +0100
+++ new/python-ironic-inspector-client-3.7.0/PKG-INFO 2019-09-07
20:31:35.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: python-ironic-inspector-client
-Version: 3.5.0
+Version: 3.7.0
Summary: Python client for Ironic Inspector
Home-page: https://docs.openstack.org/python-ironic-inspector-client/latest/
Author: OpenStack
@@ -15,7 +15,7 @@
This is a client library and tool for `Ironic Inspector`_.
* Free software: Apache license
- * Source:
https://git.openstack.org/cgit/openstack/python-ironic-inspector-client
+ * Source: https://opendev.org/openstack/python-ironic-inspector-client/
* Documentation:
https://docs.openstack.org/python-ironic-inspector-client/latest/
* Bugs: https://storyboard.openstack.org/#!/project/958
* Downloads: https://pypi.org/project/python-ironic-inspector-client
@@ -45,6 +45,7 @@
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
Provides-Extra: test
Provides-Extra: cli
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ironic-inspector-client-3.5.0/README.rst
new/python-ironic-inspector-client-3.7.0/README.rst
--- old/python-ironic-inspector-client-3.5.0/README.rst 2019-03-08
13:26:51.000000000 +0100
+++ new/python-ironic-inspector-client-3.7.0/README.rst 2019-09-07
20:30:54.000000000 +0200
@@ -7,7 +7,7 @@
This is a client library and tool for `Ironic Inspector`_.
* Free software: Apache license
-* Source:
https://git.openstack.org/cgit/openstack/python-ironic-inspector-client
+* Source: https://opendev.org/openstack/python-ironic-inspector-client/
* Documentation:
https://docs.openstack.org/python-ironic-inspector-client/latest/
* Bugs: https://storyboard.openstack.org/#!/project/958
* Downloads: https://pypi.org/project/python-ironic-inspector-client
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/doc/requirements.txt
new/python-ironic-inspector-client-3.7.0/doc/requirements.txt
--- old/python-ironic-inspector-client-3.5.0/doc/requirements.txt
2019-03-08 13:26:51.000000000 +0100
+++ new/python-ironic-inspector-client-3.7.0/doc/requirements.txt
2019-09-07 20:30:57.000000000 +0200
@@ -1,4 +1,6 @@
-sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
-openstackdocstheme>=1.18.1 # Apache-2.0
+sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD
+sphinx!=1.6.6,!=1.6.7,!=2.1.0,>=1.6.2;python_version>='3.4' # BSD
+openstackdocstheme>=1.20.0 # Apache-2.0
reno>=2.5.0 # Apache-2.0
sphinxcontrib-apidoc>=0.2.0 # BSD
+sphinxcontrib-svg2pdfconverter>=0.1.0 # BSD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/doc/source/conf.py
new/python-ironic-inspector-client-3.7.0/doc/source/conf.py
--- old/python-ironic-inspector-client-3.5.0/doc/source/conf.py 2019-03-08
13:26:51.000000000 +0100
+++ new/python-ironic-inspector-client-3.7.0/doc/source/conf.py 2019-09-07
20:30:57.000000000 +0200
@@ -7,18 +7,12 @@
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = ['sphinxcontrib.apidoc',
'sphinx.ext.viewcode',
+ 'sphinxcontrib.rsvgconverter',
+ 'openstackdocstheme',
]
-try:
- import openstackdocstheme
- extensions.append('openstackdocstheme')
-except ImportError:
- openstackdocstheme = None
-
repository_name = 'openstack/python-ironic-inspector-client'
-bug_project = 'python-ironic-inspector-client'
-bug_tag = ''
-html_last_updated_fmt = '%Y-%m-%d %H:%M'
+use_storyboard = True
wsme_protocols = ['restjson']
@@ -42,20 +36,8 @@
master_doc = 'index'
# General information about the project.
-project = u'Ironic Inspector Client'
copyright = u'OpenStack Foundation'
-# The version info for the project you're documenting, acts as replacement for
-# |version| and |release|, also used in various other places throughout the
-# built documents.
-#
-# The short X.Y version.
-from ironic_inspector_client import version as il_version
-# The full version, including alpha/beta/rc tags.
-release = il_version.version_info.release_string()
-# The short X.Y version.
-version = il_version.version_info.version_string()
-
# A list of ignored prefixes for module index sorting.
modindex_common_prefix = ['ironic_inspector_client']
@@ -73,17 +55,15 @@
# The theme to use for HTML and HTML Help pages. Major themes that come with
# Sphinx are currently 'default' and 'sphinxdoc'.
-if openstackdocstheme is not None:
- html_theme = 'openstackdocs'
-else:
- html_theme = 'default'
+html_theme = 'openstackdocs'
#html_theme_path = ["."]
#html_theme = '_theme'
#html_static_path = ['_static']
# Output file base name for HTML help builder.
-htmlhelp_basename = '%sdoc' % project
+htmlhelp_basename = 'python-ironic-inspector-clientdoc'
+latex_use_xindy = False
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass
@@ -91,8 +71,8 @@
latex_documents = [
(
'index',
- '%s.tex' % project,
- u'%s Documentation' % project,
+ 'doc-python-ironic-inspector-client.tex',
+ u'Python Ironic Inspector Client Documentation',
u'OpenStack Foundation',
'manual'
),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/functest-requirements.txt
new/python-ironic-inspector-client-3.7.0/functest-requirements.txt
--- old/python-ironic-inspector-client-3.5.0/functest-requirements.txt
2019-03-08 13:26:51.000000000 +0100
+++ new/python-ironic-inspector-client-3.7.0/functest-requirements.txt
2019-09-07 20:30:54.000000000 +0200
@@ -1,3 +1,3 @@
# NOTE(jroll) these are pinned to the same SHA, update when needed.
-git+git://git.openstack.org/openstack/ironic-inspector@be3f7eec18ad13dd6d5a94fe2963b45456fad19e#egg=ironic-inspector
--r
https://git.openstack.org/cgit/openstack/ironic-inspector/plain/test-requirements.txt?h=be3f7eec18ad13dd6d5a94fe2963b45456fad19e
+git+https://opendev.org/openstack/ironic-inspector@be3f7eec18ad13dd6d5a94fe2963b45456fad19e#egg=ironic-inspector
+-r
https://opendev.org/openstack/ironic-inspector/raw/commit/be3f7eec18ad13dd6d5a94fe2963b45456fad19e/test-requirements.txt
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/ironic_inspector_client/shell.py
new/python-ironic-inspector-client-3.7.0/ironic_inspector_client/shell.py
--- old/python-ironic-inspector-client-3.5.0/ironic_inspector_client/shell.py
2019-03-08 13:26:51.000000000 +0100
+++ new/python-ironic-inspector-client-3.7.0/ironic_inspector_client/shell.py
2019-09-07 20:30:54.000000000 +0200
@@ -27,6 +27,7 @@
import ironic_inspector_client
from ironic_inspector_client import resource as res
+
API_NAME = 'baremetal_introspection'
API_VERSION_OPTION = 'inspector_api_version'
DEFAULT_API_VERSION = '1'
@@ -39,8 +40,14 @@
def make_client(instance):
+ url = instance.get_configuration().get('inspector_url')
+ if not url:
+ url = instance.get_endpoint_for_service_type(
+ 'baremetal-introspection', interface=instance.interface,
+ region_name=instance._region_name
+ )
return ironic_inspector_client.ClientV1(
- inspector_url=instance.get_configuration().get('inspector_url'),
+ inspector_url=url,
session=instance.session,
api_version=instance._api_version[API_NAME],
interface=instance._interface,
@@ -48,6 +55,7 @@
def build_option_parser(parser):
+ # TODO(dtantsur): deprecate these options in favor of more generic OS_*
parser.add_argument('--inspector-api-version',
default=utils.env('INSPECTOR_VERSION',
default=DEFAULT_API_VERSION),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/ironic_inspector_client/test/functional.py
new/python-ironic-inspector-client-3.7.0/ironic_inspector_client/test/functional.py
---
old/python-ironic-inspector-client-3.5.0/ironic_inspector_client/test/functional.py
2019-03-08 13:26:51.000000000 +0100
+++
new/python-ironic-inspector-client-3.7.0/ironic_inspector_client/test/functional.py
2019-09-07 20:30:54.000000000 +0200
@@ -11,25 +11,23 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-import eventlet
-eventlet.monkey_patch()
-
import copy
import json
-import mock
import os
import sys
import tempfile
import unittest
-import six
-
+import eventlet
+eventlet.monkey_patch() # noqa
from ironic_inspector.common import swift
from ironic_inspector import introspection_state as istate
from ironic_inspector.test import functional
from keystoneauth1 import session as ks_session
from keystoneauth1 import token_endpoint
+import mock
from oslo_concurrency import processutils
+import six
import ironic_inspector_client as client
from ironic_inspector_client import shell
@@ -464,6 +462,12 @@
self.assertDictContainsSubset(expected, res)
+
if __name__ == '__main__':
+ if len(sys.argv) > 1:
+ test_name = sys.argv[1]
+ else:
+ test_name = None
+
with functional.mocked_server():
- unittest.main(verbosity=2)
+ unittest.main(verbosity=2, defaultTest=test_name)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/ironic_inspector_client/test/test_shell.py
new/python-ironic-inspector-client-3.7.0/ironic_inspector_client/test/test_shell.py
---
old/python-ironic-inspector-client-3.5.0/ironic_inspector_client/test/test_shell.py
2019-03-08 13:26:51.000000000 +0100
+++
new/python-ironic-inspector-client-3.7.0/ironic_inspector_client/test/test_shell.py
2019-09-07 20:30:54.000000000 +0200
@@ -11,14 +11,14 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+import collections
import sys
+import tempfile
-import collections
import mock
from osc_lib import exceptions
from osc_lib.tests import utils
import six
-import tempfile
from ironic_inspector_client import shell
from ironic_inspector_client import v1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/ironic_inspector_client/test/test_v1.py
new/python-ironic-inspector-client-3.7.0/ironic_inspector_client/test/test_v1.py
---
old/python-ironic-inspector-client-3.5.0/ironic_inspector_client/test/test_v1.py
2019-03-08 13:26:51.000000000 +0100
+++
new/python-ironic-inspector-client-3.7.0/ironic_inspector_client/test/test_v1.py
2019-09-07 20:30:54.000000000 +0200
@@ -12,13 +12,13 @@
# limitations under the License.
import collections
-import six
import unittest
from keystoneauth1 import session
import mock
from oslo_utils import netutils
from oslo_utils import uuidutils
+import six
import ironic_inspector_client
from ironic_inspector_client.common import http
@@ -87,6 +87,12 @@
'post', '/introspection/%s' % self.uuid,
params={})
+ def test_deprecated_uuid(self, mock_req):
+ self.get_client().introspect(uuid=self.uuid)
+ mock_req.assert_called_once_with(
+ 'post', '/introspection/%s' % self.uuid,
+ params={})
+
def test_invalid_input(self, mock_req):
self.assertRaises(TypeError, self.get_client().introspect, 42)
@@ -106,6 +112,13 @@
'/introspection/%s/data/unprocessed' % self.uuid
)
+ def test_deprecated_uuid(self, mock_req):
+ self.get_client().reprocess(uuid=self.uuid)
+ mock_req.assert_called_once_with(
+ 'post',
+ '/introspection/%s/data/unprocessed' % self.uuid
+ )
+
def test_invalid_input(self, mock_req):
self.assertRaises(TypeError, self.get_client().reprocess, 42)
self.assertFalse(mock_req.called)
@@ -121,6 +134,14 @@
mock_req.assert_called_once_with(
'get', '/introspection/%s' % self.uuid)
+ def test_deprecated_uuid(self, mock_req):
+ mock_req.return_value.json.return_value = 'json'
+
+ self.get_client().get_status(uuid=self.uuid)
+
+ mock_req.assert_called_once_with(
+ 'get', '/introspection/%s' % self.uuid)
+
def test_invalid_input(self, _):
self.assertRaises(TypeError, self.get_client().get_status, 42)
@@ -180,6 +201,19 @@
self.sleep.assert_called_with(v1.DEFAULT_RETRY_INTERVAL)
self.assertEqual(5, self.sleep.call_count)
+ def test_deprecated_uuids(self, mock_get_st):
+ mock_get_st.side_effect = (
+ [{'finished': False, 'error': None}] * 5
+ + [{'finished': True, 'error': None}]
+ )
+
+ res = self.get_client().wait_for_finish(uuids=['uuid1'],
+ sleep_function=self.sleep)
+ self.assertEqual({'uuid1': {'finished': True, 'error': None}},
+ res)
+ self.sleep.assert_called_with(v1.DEFAULT_RETRY_INTERVAL)
+ self.assertEqual(5, self.sleep.call_count)
+
def test_timeout(self, mock_get_st):
mock_get_st.return_value = {'finished': False, 'error': None}
@@ -212,6 +246,10 @@
self.sleep.assert_called_with(v1.DEFAULT_RETRY_INTERVAL)
self.assertEqual(2, self.sleep.call_count)
+ def test_no_arguments(self, mock_get_st):
+ self.assertRaises(TypeError,
+ self.get_client().wait_for_finish)
+
@mock.patch.object(http.BaseClient, 'request')
class TestGetData(BaseTest):
@@ -222,6 +260,14 @@
mock_req.assert_called_once_with(
'get', '/introspection/%s/data' % self.uuid)
+
+ def test_deprecated_uuid(self, mock_req):
+ mock_req.return_value.json.return_value = 'json'
+
+ self.assertEqual('json', self.get_client().get_data(uuid=self.uuid))
+
+ mock_req.assert_called_once_with(
+ 'get', '/introspection/%s/data' % self.uuid)
def test_raw(self, mock_req):
mock_req.return_value.content = b'json'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/ironic_inspector_client/v1.py
new/python-ironic-inspector-client-3.7.0/ironic_inspector_client/v1.py
--- old/python-ironic-inspector-client-3.5.0/ironic_inspector_client/v1.py
2019-03-08 13:26:51.000000000 +0100
+++ new/python-ironic-inspector-client-3.7.0/ironic_inspector_client/v1.py
2019-09-07 20:30:54.000000000 +0200
@@ -16,6 +16,7 @@
import collections
import logging
import time
+import warnings
import six
@@ -88,10 +89,28 @@
super(ClientV1, self).__init__(**kwargs)
self.rules = RulesAPI(self.request)
- def introspect(self, uuid, manage_boot=None):
+ def _check_parameters(self, node_id, uuid):
+ """Deprecate uuid parameters.
+
+ Check the parameters and return a deprecation warning
+ if the uuid parameter is present.
+ """
+
+ node_id = node_id or uuid
+ if not isinstance(node_id, six.string_types):
+ raise TypeError(
+ _("Expected string for node_id argument, got %r") % node_id)
+ if uuid:
+ warnings.warn("Parameter uuid is deprecated and will be "
+ "removed in future releases, please use "
+ "node_id instead.", DeprecationWarning)
+ return node_id
+
+ def introspect(self, node_id=None, manage_boot=None, uuid=None):
"""Start introspection for a node.
- :param uuid: node UUID or name
+ :param uuid: node UUID or name, deprecated
+ :param node_id: node node_id or name
:param manage_boot: whether to manage boot during introspection of
this node. If it is None (the default), then this argument is not
passed to API and the server default is used instead.
@@ -101,23 +120,22 @@
requested api_version is not supported
:raises: *requests* library exception on connection problems.
"""
- if not isinstance(uuid, six.string_types):
- raise TypeError(
- _("Expected string for uuid argument, got %r") % uuid)
+ node_id = self._check_parameters(node_id, uuid)
params = {}
if manage_boot is not None:
params['manage_boot'] = str(int(manage_boot))
- self.request('post', '/introspection/%s' % uuid, params=params)
+ self.request('post', '/introspection/%s' % node_id, params=params)
- def reprocess(self, uuid):
+ def reprocess(self, node_id=None, uuid=None):
"""Reprocess stored introspection data.
If swift support is disabled, introspection data won't be stored,
this request will return error response with 404 code.
- :param uuid: node UUID or name.
+ :param uuid: node UUID or name, deprecated
+ :param node_id: node node_id or name
:raises: :py:class:`ironic_inspector_client.ClientError` on error
reported from a server
:raises: :py:class:`ironic_inspector_client.VersionNotSupported` if
@@ -125,13 +143,11 @@
:raises: *requests* library exception on connection problems.
:raises: TypeError if uuid is not a string.
"""
- if not isinstance(uuid, six.string_types):
- raise TypeError(_("Expected string for uuid argument, got"
- " %r instead") % uuid)
+ node_id = self._check_parameters(node_id, uuid)
return self.request('post',
'/introspection/%s/data/unprocessed' %
- uuid)
+ node_id)
def list_statuses(self, marker=None, limit=None):
"""List introspection statuses.
@@ -170,10 +186,11 @@
response = self.request('get', '/introspection', params=params)
return response.json()['introspection']
- def get_status(self, uuid):
+ def get_status(self, node_id=None, uuid=None):
"""Get introspection status for a node.
- :param uuid: node UUID or name.
+ :param uuid: node UUID or name, deprecated
+ :param node_id: node node_id or name
:raises: :py:class:`ironic_inspector_client.ClientError` on error
reported from a server
:raises: :py:class:`ironic_inspector_client.VersionNotSupported`
@@ -188,18 +205,18 @@
* `started_at` an ISO8601 timestamp,
* `uuid` the node UUID
"""
- if not isinstance(uuid, six.string_types):
- raise TypeError(
- _("Expected string for uuid argument, got %r") % uuid)
+ node_id = self._check_parameters(node_id, uuid)
- return self.request('get', '/introspection/%s' % uuid).json()
+ return self.request('get', '/introspection/%s' % node_id).json()
- def wait_for_finish(self, uuids, retry_interval=DEFAULT_RETRY_INTERVAL,
+ def wait_for_finish(self, node_ids=None,
+ retry_interval=DEFAULT_RETRY_INTERVAL,
max_retries=DEFAULT_MAX_RETRIES,
- sleep_function=time.sleep):
+ sleep_function=time.sleep, uuids=None):
"""Wait for introspection finishing for given nodes.
- :param uuids: collection of node UUIDs or names.
+ :param uuids: collection of node UUIDs or names, deprecated
+ :param node_ids: collection of node node_ids or names
:param retry_interval: sleep interval between retries.
:param max_retries: maximum number of retries.
:param sleep_function: function used for sleeping between retries.
@@ -213,24 +230,31 @@
:return: dictionary UUID -> status (the same as in get_status).
"""
result = {}
+ node_ids = node_ids or uuids
+ if uuids:
+ warnings.warn("Parameter uuid is deprecated and will be "
+ "removed in future releases, please use "
+ "node_id instead.", DeprecationWarning)
+ elif not node_ids:
+ raise TypeError("The node_ids argument is required")
# Number of attempts = number of retries + first attempt
for attempt in range(max_retries + 1):
- new_active_uuids = []
- for uuid in uuids:
- status = self.get_status(uuid)
+ new_active_node_ids = []
+ for node_id in node_ids:
+ status = self.get_status(node_id)
if status.get('finished'):
- result[uuid] = status
+ result[node_id] = status
else:
- new_active_uuids.append(uuid)
+ new_active_node_ids.append(node_id)
- if new_active_uuids:
+ if new_active_node_ids:
if attempt != max_retries:
- uuids = new_active_uuids
+ node_ids = new_active_node_ids
LOG.debug('Still waiting for introspection results for '
'%(count)d nodes, attempt %(attempt)d of '
'%(total)d',
- {'count': len(new_active_uuids),
+ {'count': len(new_active_node_ids),
'attempt': attempt + 1,
'total': max_retries + 1})
sleep_function(retry_interval)
@@ -238,15 +262,16 @@
return result
raise WaitTimeoutError(_("Timeout while waiting for introspection "
- "of nodes %s") % new_active_uuids)
+ "of nodes %s") % new_active_node_ids)
- def get_data(self, uuid, raw=False):
+ def get_data(self, node_id=None, raw=False, uuid=None):
"""Get introspection data from the last introspection of a node.
If swift support is disabled, introspection data won't be stored,
this request will return error response with 404 code.
- :param uuid: node UUID or name.
+ :param uuid: node UUID or name, deprecated
+ :param node_id: node node_id or name
:param raw: whether to return raw binary data or parsed JSON data
:returns: bytes or a dict depending on the 'raw' argument
:raises: :py:class:`ironic_inspector_client.ClientError` on error
@@ -256,20 +281,19 @@
:raises: *requests* library exception on connection problems.
:raises: TypeError if uuid is not a string
"""
- if not isinstance(uuid, six.string_types):
- raise TypeError(
- _("Expected string for uuid argument, got %r") % uuid)
+ node_id = self._check_parameters(node_id, uuid)
- resp = self.request('get', '/introspection/%s/data' % uuid)
+ resp = self.request('get', '/introspection/%s/data' % node_id)
if raw:
return resp.content
else:
return resp.json()
- def abort(self, uuid):
+ def abort(self, node_id=None, uuid=None):
"""Abort running introspection for a node.
- :param uuid: node UUID or name.
+ :param uuid: node UUID or name, deprecated
+ :param node_id: node node_id or name
:raises: :py:class:`ironic_inspector_client.ClientError` on error
reported from a server
:raises: :py:class:`ironic_inspector_client.VersionNotSupported` if
@@ -277,11 +301,9 @@
:raises: *requests* library exception on connection problems.
:raises: TypeError if uuid is not a string.
"""
- if not isinstance(uuid, six.string_types):
- raise TypeError(_("Expected string for uuid argument, got"
- " %r") % uuid)
+ node_id = self._check_parameters(node_id, uuid)
- return self.request('post', '/introspection/%s/abort' % uuid)
+ return self.request('post', '/introspection/%s/abort' % node_id)
def get_interface_data(self, node_ident, interface, field_sel):
"""Get interface data for the input node and interface
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/lower-constraints.txt
new/python-ironic-inspector-client-3.7.0/lower-constraints.txt
--- old/python-ironic-inspector-client-3.5.0/lower-constraints.txt
2019-03-08 13:26:51.000000000 +0100
+++ new/python-ironic-inspector-client-3.7.0/lower-constraints.txt
2019-09-07 20:30:57.000000000 +0200
@@ -38,7 +38,7 @@
munch==2.1.0
netaddr==0.7.18
netifaces==0.10.4
-openstackdocstheme==1.18.1
+openstackdocstheme==1.20.0
openstacksdk==0.11.2
os-client-config==1.28.0
os-service-types==1.2.0
@@ -76,6 +76,7 @@
six==1.10.0
snowballstemmer==1.2.1
Sphinx==1.6.2
+sphinxcontrib-svg2pdfconverter==0.1.0
sphinxcontrib-websupport==1.0.1
stevedore==1.20.0
testtools==2.2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/python_ironic_inspector_client.egg-info/PKG-INFO
new/python-ironic-inspector-client-3.7.0/python_ironic_inspector_client.egg-info/PKG-INFO
---
old/python-ironic-inspector-client-3.5.0/python_ironic_inspector_client.egg-info/PKG-INFO
2019-03-08 13:28:32.000000000 +0100
+++
new/python-ironic-inspector-client-3.7.0/python_ironic_inspector_client.egg-info/PKG-INFO
2019-09-07 20:31:35.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: python-ironic-inspector-client
-Version: 3.5.0
+Version: 3.7.0
Summary: Python client for Ironic Inspector
Home-page: https://docs.openstack.org/python-ironic-inspector-client/latest/
Author: OpenStack
@@ -15,7 +15,7 @@
This is a client library and tool for `Ironic Inspector`_.
* Free software: Apache license
- * Source:
https://git.openstack.org/cgit/openstack/python-ironic-inspector-client
+ * Source: https://opendev.org/openstack/python-ironic-inspector-client/
* Documentation:
https://docs.openstack.org/python-ironic-inspector-client/latest/
* Bugs: https://storyboard.openstack.org/#!/project/958
* Downloads: https://pypi.org/project/python-ironic-inspector-client
@@ -45,6 +45,7 @@
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
Provides-Extra: test
Provides-Extra: cli
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/python_ironic_inspector_client.egg-info/SOURCES.txt
new/python-ironic-inspector-client-3.7.0/python_ironic_inspector_client.egg-info/SOURCES.txt
---
old/python-ironic-inspector-client-3.5.0/python_ironic_inspector_client.egg-info/SOURCES.txt
2019-03-08 13:28:32.000000000 +0100
+++
new/python-ironic-inspector-client-3.7.0/python_ironic_inspector_client.egg-info/SOURCES.txt
2019-09-07 20:31:35.000000000 +0200
@@ -46,6 +46,7 @@
releasenotes/notes/client-get-data-7002c1e22f14cefd.yaml
releasenotes/notes/data-save-9d9d4b3ac7c9851f.yaml
releasenotes/notes/deprecate-setting-ipmi-creds-1581ddc63b273811.yaml
+releasenotes/notes/deprecated-uuid-d0c8e8980106e7f9.yaml
releasenotes/notes/drop-osc-client-requirements-efb31b432ddbb370.yaml
releasenotes/notes/drop-setting-ipmi-creds-feature-4965aaba75a40326.yaml
releasenotes/notes/interface-list-show-39cedaca3cd9db9b.yaml
@@ -65,6 +66,7 @@
releasenotes/notes/reprocess-stored-introspection-data-c4910325254426c5.yaml
releasenotes/notes/rules-import-yaml-815ebc6ca6fe28b9.yaml
releasenotes/notes/service-catalog-45466d1cfd330231.yaml
+releasenotes/notes/version-uuid-b7f9e57589314fe9.yaml
releasenotes/source/conf.py
releasenotes/source/index.rst
releasenotes/source/liberty.rst
@@ -74,6 +76,7 @@
releasenotes/source/pike.rst
releasenotes/source/queens.rst
releasenotes/source/rocky.rst
+releasenotes/source/stein.rst
releasenotes/source/unreleased.rst
releasenotes/source/_static/.placeholder
releasenotes/source/_templates/.placeholder
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/python_ironic_inspector_client.egg-info/pbr.json
new/python-ironic-inspector-client-3.7.0/python_ironic_inspector_client.egg-info/pbr.json
---
old/python-ironic-inspector-client-3.5.0/python_ironic_inspector_client.egg-info/pbr.json
2019-03-08 13:28:32.000000000 +0100
+++
new/python-ironic-inspector-client-3.7.0/python_ironic_inspector_client.egg-info/pbr.json
2019-09-07 20:31:35.000000000 +0200
@@ -1 +1 @@
-{"git_version": "9bb1150", "is_release": true}
\ No newline at end of file
+{"git_version": "d95a4cd", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/python_ironic_inspector_client.egg-info/requires.txt
new/python-ironic-inspector-client-3.7.0/python_ironic_inspector_client.egg-info/requires.txt
---
old/python-ironic-inspector-client-3.5.0/python_ironic_inspector_client.egg-info/requires.txt
2019-03-08 13:28:32.000000000 +0100
+++
new/python-ironic-inspector-client-3.7.0/python_ironic_inspector_client.egg-info/requires.txt
2019-09-07 20:31:35.000000000 +0200
@@ -14,6 +14,7 @@
coverage!=4.4,>=4.0
doc8>=0.6.0
fixtures>=3.0.0
+flake8-import-order>=0.13
hacking<1.1.0,>=1.0.0
mock>=2.0.0
requests-mock>=1.2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/releasenotes/notes/deprecated-uuid-d0c8e8980106e7f9.yaml
new/python-ironic-inspector-client-3.7.0/releasenotes/notes/deprecated-uuid-d0c8e8980106e7f9.yaml
---
old/python-ironic-inspector-client-3.5.0/releasenotes/notes/deprecated-uuid-d0c8e8980106e7f9.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/python-ironic-inspector-client-3.7.0/releasenotes/notes/deprecated-uuid-d0c8e8980106e7f9.yaml
2019-09-07 20:30:54.000000000 +0200
@@ -0,0 +1,5 @@
+---
+fixes:
+ - |
+ Fixes regression in 3.6.0 that caused the deprecated ``uuid`` argument
+ to various calls to stop working.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/releasenotes/notes/version-uuid-b7f9e57589314fe9.yaml
new/python-ironic-inspector-client-3.7.0/releasenotes/notes/version-uuid-b7f9e57589314fe9.yaml
---
old/python-ironic-inspector-client-3.5.0/releasenotes/notes/version-uuid-b7f9e57589314fe9.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/python-ironic-inspector-client-3.7.0/releasenotes/notes/version-uuid-b7f9e57589314fe9.yaml
2019-09-07 20:30:54.000000000 +0200
@@ -0,0 +1,4 @@
+---
+deprecations:
+ - Parameter uuid is deprecated in ClientV1 and will be removed in future
+ releases, please use node_id instead.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/releasenotes/source/conf.py
new/python-ironic-inspector-client-3.7.0/releasenotes/source/conf.py
--- old/python-ironic-inspector-client-3.5.0/releasenotes/source/conf.py
2019-03-08 13:26:51.000000000 +0100
+++ new/python-ironic-inspector-client-3.7.0/releasenotes/source/conf.py
2019-09-07 20:30:54.000000000 +0200
@@ -61,7 +61,6 @@
master_doc = 'index'
# General information about the project.
-project = u'Ironic Inspector Client Release Notes'
copyright = u'2015, Ironic Inspector Developers'
# Release notes are version independent.
@@ -199,17 +198,6 @@
# -- Options for LaTeX output ---------------------------------------------
-latex_elements = {
- # The paper size ('letterpaper' or 'a4paper').
- # 'papersize': 'letterpaper',
-
- # The font size ('10pt', '11pt' or '12pt').
- # 'pointsize': '10pt',
-
- # Additional stuff for the LaTeX preamble.
- # 'preamble': '',
-}
-
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/releasenotes/source/index.rst
new/python-ironic-inspector-client-3.7.0/releasenotes/source/index.rst
--- old/python-ironic-inspector-client-3.5.0/releasenotes/source/index.rst
2019-03-08 13:26:51.000000000 +0100
+++ new/python-ironic-inspector-client-3.7.0/releasenotes/source/index.rst
2019-09-07 20:30:54.000000000 +0200
@@ -6,6 +6,7 @@
:maxdepth: 1
unreleased
+ stein
rocky
queens
pike
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/releasenotes/source/stein.rst
new/python-ironic-inspector-client-3.7.0/releasenotes/source/stein.rst
--- old/python-ironic-inspector-client-3.5.0/releasenotes/source/stein.rst
1970-01-01 01:00:00.000000000 +0100
+++ new/python-ironic-inspector-client-3.7.0/releasenotes/source/stein.rst
2019-09-07 20:30:54.000000000 +0200
@@ -0,0 +1,6 @@
+===================================
+ Stein Series Release Notes
+===================================
+
+.. release-notes::
+ :branch: stable/stein
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ironic-inspector-client-3.5.0/setup.cfg
new/python-ironic-inspector-client-3.7.0/setup.cfg
--- old/python-ironic-inspector-client-3.5.0/setup.cfg 2019-03-08
13:28:32.000000000 +0100
+++ new/python-ironic-inspector-client-3.7.0/setup.cfg 2019-09-07
20:31:35.000000000 +0200
@@ -17,7 +17,8 @@
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
- Programming Language :: Python :: 3.5
+ Programming Language :: Python :: 3.6
+ Programming Language :: Python :: 3.7
[files]
packages =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/test-requirements.txt
new/python-ironic-inspector-client-3.7.0/test-requirements.txt
--- old/python-ironic-inspector-client-3.5.0/test-requirements.txt
2019-03-08 13:26:51.000000000 +0100
+++ new/python-ironic-inspector-client-3.7.0/test-requirements.txt
2019-09-07 20:30:54.000000000 +0200
@@ -4,6 +4,7 @@
coverage!=4.4,>=4.0 # Apache-2.0
doc8>=0.6.0 # Apache-2.0
fixtures>=3.0.0 # Apache-2.0/BSD
+flake8-import-order>=0.13 # LGPLv3
hacking>=1.0.0,<1.1.0 # Apache-2.0
mock>=2.0.0 # BSD
requests-mock>=1.2.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ironic-inspector-client-3.5.0/tox.ini
new/python-ironic-inspector-client-3.7.0/tox.ini
--- old/python-ironic-inspector-client-3.5.0/tox.ini 2019-03-08
13:26:51.000000000 +0100
+++ new/python-ironic-inspector-client-3.7.0/tox.ini 2019-09-07
20:30:57.000000000 +0200
@@ -6,13 +6,14 @@
install_command = pip install {opts} {packages}
usedevelop = True
deps =
-
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
+
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands =
coverage run --branch --include "ironic_inspector_client*" -m unittest
discover ironic_inspector_client.test
coverage report -m --fail-under 90
setenv = PYTHONDONTWRITEBYTECODE=1
+passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
[testenv:pep8]
basepython = python3
@@ -25,14 +26,19 @@
deps = {[testenv]deps}
-r{toxinidir}/functest-requirements.txt
commands =
- python -m ironic_inspector_client.test.functional
+ python -m ironic_inspector_client.test.functional {posargs}
-[testenv:functional-py35]
+[testenv:functional-py3]
basepython = python3
deps = {[testenv]deps}
-r{toxinidir}/functest-requirements.txt
commands =
- python -m ironic_inspector_client.test.functional
+ python -m ironic_inspector_client.test.functional {posargs}
+
+[testenv:functional-py36]
+basepython = python3.6
+deps = {[testenv:functional-py3]deps}
+commands = {[testenv:functional-py3]commands}
[testenv:func]
# Replaced in CI with "functional" environment but kept here as a
@@ -44,7 +50,7 @@
[testenv:venv]
basepython = python3
deps =
-
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
+
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/doc/requirements.txt
commands = {posargs}
@@ -52,7 +58,7 @@
[testenv:releasenotes]
basepython = python3
deps =
-
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
+
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/doc/requirements.txt
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html
releasenotes/source releasenotes/build/html
@@ -60,13 +66,29 @@
[testenv:docs]
basepython = python3
deps =
-
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
+
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/doc/requirements.txt
commands = sphinx-build -W -b html doc/source doc/build/html
+[testenv:pdf-docs]
+basepython = python3
+whitelist_externals = make
+deps = {[testenv:docs]deps}
+commands =
+ sphinx-build -W -b latex doc/source doc/build/pdf
+ make -C doc/build/pdf
+
[flake8]
+import-order-style = pep8
+application-import-names = ironic_inspector_client
max-complexity=15
+# [H106] Don't put vim configuration in source files.
+# [H203] Use assertIs(Not)None to check for None.
+# [H204] Use assert(Not)Equal to check for equality.
+# [H205] Use assert(Greater|Less)(Equal) for comparison.
+# [H904] Delay string interpolations at logging calls.
+enable-extensions=H106,H203,H204,H205,H904
[hacking]
import_exceptions = ironic_inspector_client.common.i18n
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/zuul.d/project.yaml
new/python-ironic-inspector-client-3.7.0/zuul.d/project.yaml
--- old/python-ironic-inspector-client-3.5.0/zuul.d/project.yaml
2019-03-08 13:26:51.000000000 +0100
+++ new/python-ironic-inspector-client-3.7.0/zuul.d/project.yaml
2019-09-07 20:30:54.000000000 +0200
@@ -1,9 +1,7 @@
- project:
templates:
- openstack-python-jobs
- - openstack-python35-jobs
- - openstack-python36-jobs
- - openstack-python37-jobs
+ - openstack-python3-train-jobs
- publish-openstack-docs-pti
- check-requirements
- release-notes-jobs-python3
@@ -11,14 +9,14 @@
check:
jobs:
- openstack-tox-functional
- - openstack-tox-functional-py35
+ - openstack-tox-functional-py36
- python-ironic-inspector-client-tempest-python2
- python-ironic-inspector-client-tempest-python3
- openstack-tox-lower-constraints
gate:
jobs:
- openstack-tox-functional
- - openstack-tox-functional-py35
+ - openstack-tox-functional-py36
- python-ironic-inspector-client-tempest-python2
- python-ironic-inspector-client-tempest-python3
- openstack-tox-lower-constraints
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.5.0/zuul.d/python-ironic-inspector-client-jobs.yaml
new/python-ironic-inspector-client-3.7.0/zuul.d/python-ironic-inspector-client-jobs.yaml
---
old/python-ironic-inspector-client-3.5.0/zuul.d/python-ironic-inspector-client-jobs.yaml
2019-03-08 13:26:51.000000000 +0100
+++
new/python-ironic-inspector-client-3.7.0/zuul.d/python-ironic-inspector-client-jobs.yaml
2019-09-07 20:30:54.000000000 +0200
@@ -1,16 +1,15 @@
- job:
name: python-ironic-inspector-client-base
description: Base job for devstack/tempest based
python-ironic-inspector-client jobs.
- parent: devstack-tempest
+ parent: ironic-base
timeout: 10800
required-projects:
- openstack/ironic
- openstack/ironic-inspector
- - openstack/ironic-lib
- - openstack/ironic-python-agent
- openstack/ironic-tempest-plugin
- - openstack/pyghmi
- openstack/python-ironic-inspector-client
+ # NOTE(dtantsur): this should not be needed, but python 3 job doesn't
+ # work without it.
- openstack/python-ironicclient
- openstack/virtualbmc
irrelevant-files:
@@ -26,12 +25,7 @@
tempest_test_regex:
ironic_tempest_plugin.tests.scenario.test_introspection_basic
tempest_concurrency: 1
devstack_localrc:
- DEFAULT_INSTANCE_TYPE: baremetal
FORCE_CONFIG_DRIVE: True
- INSTALL_TEMPEST: False # Don't install a tempest package globaly
- OVERRIDE_PUBLIC_BRIDGE_MTU: 1400
- TEMPEST_PLUGINS: "'{{ ansible_user_dir
}}/src/git.openstack.org/openstack/ironic-tempest-plugin'"
- VIRT_DRIVER: ironic
BUILD_TIMEOUT: 600
IRONIC_BAREMETAL_BASIC_OPS: True
IRONIC_BUILD_DEPLOY_RAMDISK: False
@@ -55,8 +49,8 @@
SWIFT_TEMPURL_KEY: secretkey
devstack_plugins:
- ironic: git://git.openstack.org/openstack/ironic
- ironic-inspector: git://git.openstack.org/openstack/ironic-inspector
+ ironic: https://opendev.org/openstack/ironic
+ ironic-inspector: https://opendev.org/openstack/ironic-inspector
zuul_copy_output:
'{{ devstack_base_dir }}/ironic-bm-logs': 'logs'
devstack_services: