Hello community,
here is the log from the commit of package python-ironic-inspector-client for
openSUSE:Factory checked in at 2020-06-05 20:10:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ironic-inspector-client (Old)
and /work/SRC/openSUSE:Factory/.python-ironic-inspector-client.new.3606
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ironic-inspector-client"
Fri Jun 5 20:10:20 2020 rev:13 rq:803564 version:4.1.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-ironic-inspector-client/python-ironic-inspector-client.changes
2020-03-27 21:57:34.722802569 +0100
+++
/work/SRC/openSUSE:Factory/.python-ironic-inspector-client.new.3606/python-ironic-inspector-client.changes
2020-06-05 20:13:24.646361502 +0200
@@ -1,0 +2,21 @@
+Tue May 12 10:06:17 UTC 2020 - [email protected]
+
+- update to version 4.1.0
+ - Update the constraints url
+ - Cleanup py27 support
+ - Enforce running tox with correct python version based on env
+ - Switch jobs to python3
+ - Fixing base job
+ - Bump hacking to 3.0.0
+ - Make oslo.i18n an optional dependency
+ - Stop using six library
+ - Get rid of the oslo.utils requirement
+ - Add bindep env and fix pdf doc generation
+ - Recover the functional test
+ - Add versions to release notes series
+ - Move osc-lib to test-requirements
+ - Drop python 2.7 support and testing
+ - Update master for stable/train
+ - Switch to Ussuri job
+
+-------------------------------------------------------------------
Old:
----
python-ironic-inspector-client-3.7.0.tar.gz
New:
----
python-ironic-inspector-client-4.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-ironic-inspector-client.spec ++++++
--- /var/tmp/diff_new_pack.swyebO/_old 2020-06-05 20:13:26.094366830 +0200
+++ /var/tmp/diff_new_pack.swyebO/_new 2020-06-05 20:13:26.094366830 +0200
@@ -17,19 +17,19 @@
Name: python-ironic-inspector-client
-Version: 3.7.0
+Version: 4.1.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.7.0.tar.gz
+Source0:
https://files.pythonhosted.org/packages/source/p/python-ironic-inspector-client/python-ironic-inspector-client-4.1.0.tar.gz
BuildRequires: openstack-macros
BuildRequires: python3-fixtures
BuildRequires: python3-mock
BuildRequires: python3-openstackclient
BuildRequires: python3-openstackdocstheme
-BuildRequires: python3-osc-lib >= 1.8.0
+BuildRequires: python3-osc-lib
BuildRequires: python3-oslo.concurrency
BuildRequires: python3-reno
BuildRequires: python3-requests-mock
@@ -51,11 +51,10 @@
Requires: python3-PyYAML >= 3.12
Requires: python3-keystoneauth1 >= 3.4.0
Requires: python3-openstackclient
-Requires: python3-osc-lib >= 1.8.0
-Requires: python3-oslo.i18n >= 3.15.3
-Requires: python3-oslo.utils >= 3.33.0
+Requires: python3-osc-lib
+Requires: python3-oslo.i18n
+Requires: python3-oslo.utils
Requires: python3-requests >= 2.14.2
-Requires: python3-six >= 1.10.0
%description -n python3-ironic-inspector-client
Ironic Inspector is an auxiliary service for discovering hardware properties
@@ -69,7 +68,7 @@
This package contains the Python 3.x module.
%prep
-%autosetup -p1 -n python-ironic-inspector-client-3.7.0
+%autosetup -p1 -n python-ironic-inspector-client-4.1.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
++++++ _service ++++++
--- /var/tmp/diff_new_pack.swyebO/_old 2020-06-05 20:13:26.126366947 +0200
+++ /var/tmp/diff_new_pack.swyebO/_new 2020-06-05 20:13:26.130366962 +0200
@@ -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/train</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/ussuri</param>
<param name="output-name">python-ironic-inspector-client.spec</param>
- <param
name="requirements">https://raw.githubusercontent.com/openstack/python-ironic-inspector-client/stable/train/requirements.txt</param>
+ <param
name="requirements">https://opendev.org/openstack/python-ironic-inspector-client/raw/branch/stable/ussuri/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.7.0.tar.gz ->
python-ironic-inspector-client-4.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ironic-inspector-client-3.7.0/AUTHORS
new/python-ironic-inspector-client-4.1.0/AUTHORS
--- old/python-ironic-inspector-client-3.7.0/AUTHORS 2019-09-07
20:31:35.000000000 +0200
+++ new/python-ironic-inspector-client-4.1.0/AUTHORS 2020-04-09
18:18:31.000000000 +0200
@@ -22,6 +22,8 @@
Julia Kreger <[email protected]>
Kaifeng Wang <[email protected]>
Luong Anh Tuan <[email protected]>
+Madhuri Kumari <[email protected]>
+Mark Goddard <[email protected]>
Monty Taylor <[email protected]>
Nguyen Hai Truong <[email protected]>
Nguyen Hung Phuong <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ironic-inspector-client-3.7.0/ChangeLog
new/python-ironic-inspector-client-4.1.0/ChangeLog
--- old/python-ironic-inspector-client-3.7.0/ChangeLog 2019-09-07
20:31:35.000000000 +0200
+++ new/python-ironic-inspector-client-4.1.0/ChangeLog 2020-04-09
18:18:31.000000000 +0200
@@ -1,6 +1,30 @@
CHANGES
=======
+4.1.0
+-----
+
+* Move osc-lib to test-requirements
+* Get rid of the oslo.utils requirement
+* Make oslo.i18n an optional dependency
+* Cleanup py27 support
+* Bump hacking to 3.0.0
+
+4.0.0
+-----
+
+* Add bindep env and fix pdf doc generation
+* Enforce running tox with correct python version based on env
+* Stop using six library
+* Drop python 2.7 support and testing
+* Fixing base job
+* Switch jobs to python3
+* Switch to Ussuri job
+* Recover the functional test
+* Add versions to release notes series
+* Update the constraints url
+* Update master for stable/train
+
3.7.0
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ironic-inspector-client-3.7.0/PKG-INFO
new/python-ironic-inspector-client-4.1.0/PKG-INFO
--- old/python-ironic-inspector-client-3.7.0/PKG-INFO 2019-09-07
20:31:35.000000000 +0200
+++ new/python-ironic-inspector-client-4.1.0/PKG-INFO 2020-04-09
18:18:31.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: python-ironic-inspector-client
-Version: 3.7.0
+Version: 4.1.0
Summary: Python client for Ironic Inspector
Home-page: https://docs.openstack.org/python-ironic-inspector-client/latest/
Author: OpenStack
@@ -42,10 +42,11 @@
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
-Provides-Extra: test
+Requires-Python: >=3.6
Provides-Extra: cli
+Provides-Extra: test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ironic-inspector-client-3.7.0/bindep.txt
new/python-ironic-inspector-client-4.1.0/bindep.txt
--- old/python-ironic-inspector-client-3.7.0/bindep.txt 1970-01-01
01:00:00.000000000 +0100
+++ new/python-ironic-inspector-client-4.1.0/bindep.txt 2020-04-09
18:16:35.000000000 +0200
@@ -0,0 +1,3 @@
+# libsrvg2 is needed for sphinxcontrib-svg2pdfconverter in docs builds.
+librsvg2-tools [doc platform:rpm]
+librsvg2-bin [doc platform:dpkg]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.7.0/doc/requirements.txt
new/python-ironic-inspector-client-4.1.0/doc/requirements.txt
--- old/python-ironic-inspector-client-3.7.0/doc/requirements.txt
2019-09-07 20:30:57.000000000 +0200
+++ new/python-ironic-inspector-client-4.1.0/doc/requirements.txt
2020-04-09 18:16:35.000000000 +0200
@@ -1,5 +1,4 @@
-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
+sphinx!=1.6.6,!=1.6.7,!=2.1.0,>=1.6.2 # BSD
openstackdocstheme>=1.20.0 # Apache-2.0
reno>=2.5.0 # Apache-2.0
sphinxcontrib-apidoc>=0.2.0 # BSD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.7.0/functest-requirements.txt
new/python-ironic-inspector-client-4.1.0/functest-requirements.txt
--- old/python-ironic-inspector-client-3.7.0/functest-requirements.txt
2019-09-07 20:30:54.000000000 +0200
+++ new/python-ironic-inspector-client-4.1.0/functest-requirements.txt
2020-04-09 18:16:35.000000000 +0200
@@ -1,3 +1,4 @@
# NOTE(jroll) these are pinned to the same SHA, update when needed.
-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
+# Last updated: Apr 2, 2020 (Ussuri cycle).
+git+https://opendev.org/openstack/ironic-inspector@75437072da66686509d4b7fa80589f5b4966a858#egg=ironic-inspector
+-r
https://opendev.org/openstack/ironic-inspector/raw/commit/75437072da66686509d4b7fa80589f5b4966a858/test-requirements.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.7.0/ironic_inspector_client/common/http.py
new/python-ironic-inspector-client-4.1.0/ironic_inspector_client/common/http.py
---
old/python-ironic-inspector-client-3.7.0/ironic_inspector_client/common/http.py
2019-09-07 20:30:54.000000000 +0200
+++
new/python-ironic-inspector-client-4.1.0/ironic_inspector_client/common/http.py
2020-04-09 18:16:35.000000000 +0200
@@ -19,7 +19,6 @@
from keystoneauth1 import exceptions as ks_exc
from keystoneauth1 import session as ks_session
import requests
-import six
from ironic_inspector_client.common.i18n import _
@@ -162,7 +161,7 @@
def _check_api_version(self, api_version):
if isinstance(api_version, int):
api_version = (api_version, 0)
- if isinstance(api_version, six.string_types):
+ if isinstance(api_version, str):
api_version = _parse_version(api_version)
api_version = tuple(api_version)
if not all(isinstance(x, int) for x in api_version):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.7.0/ironic_inspector_client/common/i18n.py
new/python-ironic-inspector-client-4.1.0/ironic_inspector_client/common/i18n.py
---
old/python-ironic-inspector-client-3.7.0/ironic_inspector_client/common/i18n.py
2019-09-07 20:30:54.000000000 +0200
+++
new/python-ironic-inspector-client-4.1.0/ironic_inspector_client/common/i18n.py
2020-04-09 18:16:35.000000000 +0200
@@ -13,10 +13,14 @@
# License for the specific language governing permissions and limitations
# under the License.
-import oslo_i18n
+try:
+ import oslo_i18n
+except ImportError:
+ def _(msg):
+ return msg
+else:
+ _translators = oslo_i18n.TranslatorFactory(
+ domain='python-ironic-inspector-client')
-_translators = oslo_i18n.TranslatorFactory(
- domain='python-ironic-inspector-client')
-
-# The primary translation function using the well-known name "_"
-_ = _translators.primary
+ # The primary translation function using the well-known name "_"
+ _ = _translators.primary
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.7.0/ironic_inspector_client/shell.py
new/python-ironic-inspector-client-4.1.0/ironic_inspector_client/shell.py
--- old/python-ironic-inspector-client-3.7.0/ironic_inspector_client/shell.py
2019-09-07 20:30:54.000000000 +0200
+++ new/python-ironic-inspector-client-4.1.0/ironic_inspector_client/shell.py
2020-04-09 18:16:35.000000000 +0200
@@ -16,15 +16,16 @@
from __future__ import print_function
import json
+import os
import sys
-from osc_lib.command import command
-from osc_lib import exceptions
-from osc_lib.i18n import _
-from osc_lib import utils
+from cliff import command
+from cliff import lister
+from cliff import show
import yaml
import ironic_inspector_client
+from ironic_inspector_client.common.i18n import _
from ironic_inspector_client import resource as res
@@ -57,18 +58,18 @@
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),
+ default=(os.environ.get('INSPECTOR_VERSION')
+ or DEFAULT_API_VERSION),
help='inspector API version, only 1 is supported now '
'(env: INSPECTOR_VERSION).')
parser.add_argument('--inspector-url',
- default=utils.env('INSPECTOR_URL', default=None),
+ default=os.environ.get('INSPECTOR_URL'),
help='inspector URL, defaults to localhost '
'(env: INSPECTOR_URL).')
return parser
-class StartCommand(command.Lister):
+class StartCommand(lister.Lister):
"""Start the introspection."""
COLUMNS = ('UUID', 'Error')
@@ -91,7 +92,7 @@
def take_action(self, parsed_args):
if parsed_args.check_errors and not parsed_args.wait:
- raise exceptions.CommandError(
+ raise RuntimeError(
_("--check-errors can only be used with --wait"))
client = self.app.client_manager.baremetal_introspection
@@ -130,7 +131,7 @@
client.reprocess(parsed_args.node)
-class StatusCommand(command.ShowOne):
+class StatusCommand(show.ShowOne):
"""Get introspection status."""
hidden_status_items = {'links'}
@@ -157,10 +158,12 @@
return zip(*sorted(self.status_attributes(status)))
-class StatusListCommand(command.Lister):
+class StatusListCommand(lister.Lister):
"""List introspection statuses"""
COLUMNS = ('UUID', 'Started at', 'Finished at', 'Error')
+ MAPPING = dict(zip(COLUMNS,
+ ['uuid', 'started_at', 'finished_at', 'error']))
@classmethod
def status_row(cls, client_item):
@@ -173,7 +176,7 @@
:return: a list of client_item attributes as the row
"""
status = dict(StatusCommand.status_attributes(client_item))
- return utils.get_dict_properties(status, cls.COLUMNS)
+ return tuple(status.get(cls.MAPPING[item]) for item in cls.COLUMNS)
def get_parser(self, prog_name):
parser = super(StatusListCommand, self).get_parser(prog_name)
@@ -204,7 +207,7 @@
client.abort(parsed_args.node)
-class RuleImportCommand(command.Lister):
+class RuleImportCommand(lister.Lister):
"""Import one or several introspection rules from a JSON/YAML file."""
COLUMNS = ("UUID", "Description")
@@ -229,7 +232,7 @@
return self.COLUMNS, result
-class RuleListCommand(command.Lister):
+class RuleListCommand(lister.Lister):
"""List all introspection rules."""
COLUMNS = ("UUID", "Description")
@@ -242,7 +245,7 @@
return self.COLUMNS, rules
-class RuleShowCommand(command.ShowOne):
+class RuleShowCommand(show.ShowOne):
"""Show an introspection rule."""
def get_parser(self, prog_name):
@@ -300,7 +303,7 @@
json.dump(data, sys.stdout)
-class InterfaceListCommand(command.Lister):
+class InterfaceListCommand(lister.Lister):
"""List interface data including attached switch port information."""
def get_parser(self, prog_name):
@@ -340,7 +343,7 @@
return interface_res.labels, rows
-class InterfaceShowCommand(command.ShowOne):
+class InterfaceShowCommand(show.ShowOne):
"""Show interface data including attached switch port information."""
COLUMNS = ("Field", "Value")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.7.0/ironic_inspector_client/test/functional.py
new/python-ironic-inspector-client-4.1.0/ironic_inspector_client/test/functional.py
---
old/python-ironic-inspector-client-3.7.0/ironic_inspector_client/test/functional.py
2019-09-07 20:30:54.000000000 +0200
+++
new/python-ironic-inspector-client-4.1.0/ironic_inspector_client/test/functional.py
2020-04-09 18:16:35.000000000 +0200
@@ -11,7 +11,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-import copy
import json
import os
import sys
@@ -20,14 +19,13 @@
import eventlet
eventlet.monkey_patch() # noqa
-from ironic_inspector.common import swift
from ironic_inspector import introspection_state as istate
+from ironic_inspector import process
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
@@ -40,7 +38,6 @@
token='token')
self.session = ks_session.Session(self.auth)
self.client = client.ClientV1(session=self.session)
- functional.cfg.CONF.set_override('store_data', 'none', 'processing')
def my_status_index(self, statuses):
my_status = self._fake_status()
@@ -49,8 +46,8 @@
def test_introspect_get_status(self):
self.client.introspect(self.uuid)
eventlet.greenthread.sleep(functional.DEFAULT_SLEEP)
- self.cli.node.set_power_state.assert_called_once_with(self.uuid,
- 'reboot')
+ self.cli.set_node_power_state.assert_called_once_with(self.uuid,
+ 'rebooting')
status = self.client.get_status(self.uuid)
self.check_status(status, finished=False, state=istate.States.waiting)
@@ -59,10 +56,10 @@
self.assertEqual({'uuid': self.uuid}, res)
eventlet.greenthread.sleep(functional.DEFAULT_SLEEP)
- self.assertCalledWithPatch(self.patch, self.cli.node.update)
- self.cli.port.create.assert_called_once_with(
+ self.assertCalledWithPatch(self.patch, self.cli.patch_node)
+ self.cli.create_port.assert_called_once_with(
node_uuid=self.uuid, address='11:22:33:44:55:66',
- pxe_enabled=True, extra={})
+ is_pxe_enabled=True, extra={})
status = self.client.get_status(self.uuid)
self.check_status(status, finished=True, state=istate.States.finished)
@@ -70,8 +67,8 @@
def test_introspect_list_statuses(self):
self.client.introspect(self.uuid)
eventlet.greenthread.sleep(functional.DEFAULT_SLEEP)
- self.cli.node.set_power_state.assert_called_once_with(self.uuid,
- 'reboot')
+ self.cli.set_node_power_state.assert_called_once_with(self.uuid,
+ 'rebooting')
statuses = self.client.list_statuses()
my_status = statuses[self.my_status_index(statuses)]
@@ -82,10 +79,10 @@
self.assertEqual({'uuid': self.uuid}, res)
eventlet.greenthread.sleep(functional.DEFAULT_SLEEP)
- self.assertCalledWithPatch(self.patch, self.cli.node.update)
- self.cli.port.create.assert_called_once_with(
+ self.assertCalledWithPatch(self.patch, self.cli.patch_node)
+ self.cli.create_port.assert_called_once_with(
node_uuid=self.uuid, address='11:22:33:44:55:66',
- pxe_enabled=True, extra={})
+ is_pxe_enabled=True, extra={})
statuses = self.client.list_statuses()
my_status = statuses[self.my_status_index(statuses)]
@@ -117,15 +114,10 @@
status = self.client.get_status(self.uuid)
self.check_status(status, finished=True, state=istate.States.finished)
- @mock.patch.object(swift, 'store_introspection_data', autospec=True)
- @mock.patch.object(swift, 'get_introspection_data', autospec=True)
- def test_reprocess_stored_introspection_data(self, get_mock,
- store_mock):
- functional.cfg.CONF.set_override('store_data', 'swift', 'processing')
+ def test_reprocess_stored_introspection_data(self):
port_create_call = mock.call(node_uuid=self.uuid,
address='11:22:33:44:55:66',
- pxe_enabled=True, extra={})
- get_mock.return_value = json.dumps(self.data)
+ is_pxe_enabled=True, extra={})
# assert reprocessing doesn't work before introspection
self.assertRaises(client.ClientError, self.client.reprocess,
@@ -133,8 +125,8 @@
self.client.introspect(self.uuid)
eventlet.greenthread.sleep(functional.DEFAULT_SLEEP)
- self.cli.node.set_power_state.assert_called_once_with(self.uuid,
- 'reboot')
+ self.cli.set_node_power_state.assert_called_once_with(self.uuid,
+ 'rebooting')
status = self.client.get_status(self.uuid)
self.check_status(status, finished=False, state=istate.States.waiting)
@@ -144,10 +136,8 @@
status = self.client.get_status(self.uuid)
self.check_status(status, finished=True, state=istate.States.finished)
- self.cli.port.create.assert_has_calls([port_create_call],
+ self.cli.create_port.assert_has_calls([port_create_call],
any_order=True)
- self.assertFalse(get_mock.called)
- self.assertTrue(store_mock.called)
res = self.client.reprocess(self.uuid)
self.assertEqual(202, res.status_code)
@@ -155,12 +145,9 @@
eventlet.greenthread.sleep(functional.DEFAULT_SLEEP)
self.check_status(status, finished=True, state=istate.States.finished)
- self.cli.port.create.assert_has_calls([port_create_call,
+ self.cli.create_port.assert_has_calls([port_create_call,
port_create_call],
any_order=True)
- self.assertTrue(get_mock.called)
- # incoming, processing, reapplying data
- self.assertEqual(3, store_mock.call_count)
def test_abort_introspection(self):
# assert abort doesn't work before introspect request
@@ -169,8 +156,8 @@
self.client.introspect(self.uuid)
eventlet.greenthread.sleep(functional.DEFAULT_SLEEP)
- self.cli.node.set_power_state.assert_called_once_with(self.uuid,
- 'reboot')
+ self.cli.set_node_power_state.assert_called_once_with(self.uuid,
+ 'rebooting')
status = self.client.get_status(self.uuid)
self.check_status(status, finished=False, state=istate.States.waiting)
@@ -264,8 +251,7 @@
BASE_CMD = [os.path.join(sys.prefix, 'bin', 'openstack'),
- '--os-auth-type', 'token_endpoint', '--os-token', 'fake',
- '--os-url', 'http://127.0.0.1:5050']
+ '--os-auth-type', 'none', '--os-endpoint', 'http://127.0.0.1:5050']
class BaseCLITest(functional.Base):
@@ -296,8 +282,6 @@
class TestCLI(BaseCLITest):
def setup_lldp(self):
- functional.cfg.CONF.set_override('store_data', 'swift', 'processing')
-
self.all_interfaces = {
'eth1': {'mac': self.macs[0], 'ip': self.ips[0],
'client_id': None, 'lldp_processed':
@@ -332,10 +316,7 @@
return fake_status
def test_cli_negative(self):
- if six.PY3:
- msg_missing_param = 'the following arguments are required'
- else:
- msg_missing_param = 'too few arguments'
+ msg_missing_param = 'the following arguments are required'
err = self.run_cli('start', expect_error=True)
self.assertIn(msg_missing_param, err)
err = self.run_cli('status', expect_error=True)
@@ -351,8 +332,8 @@
def test_introspect_get_status(self):
self.run_cli('start', self.uuid)
eventlet.greenthread.sleep(functional.DEFAULT_SLEEP)
- self.cli.node.set_power_state.assert_called_once_with(self.uuid,
- 'reboot')
+ self.cli.set_node_power_state.assert_called_once_with(self.uuid,
+ 'rebooting')
status = self.run_cli('status', self.uuid, parse_json=True)
self.check_status(status, finished=False, state=istate.States.waiting)
@@ -361,10 +342,10 @@
self.assertEqual({'uuid': self.uuid}, res)
eventlet.greenthread.sleep(functional.DEFAULT_SLEEP)
- self.assertCalledWithPatch(self.patch, self.cli.node.update)
- self.cli.port.create.assert_called_once_with(
+ self.assertCalledWithPatch(self.patch, self.cli.patch_node)
+ self.cli.create_port.assert_called_once_with(
node_uuid=self.uuid, address='11:22:33:44:55:66',
- pxe_enabled=True, extra={})
+ is_pxe_enabled=True, extra={})
status = self.run_cli('status', self.uuid, parse_json=True)
self.check_status(status, finished=True, state=istate.States.finished)
@@ -407,10 +388,10 @@
res = self.run_cli('rule', 'list', parse_json=True)
self.assertEqual([], res)
- @mock.patch.object(swift, 'get_introspection_data', autospec=True)
+ @mock.patch.object(process, 'get_introspection_data', autospec=True)
def test_interface_list(self, get_mock):
self.setup_lldp()
- get_mock.return_value = json.dumps(copy.deepcopy(self.data))
+ get_mock.return_value = json.dumps(self.data)
expected_eth1 = {u'Interface': u'eth1',
u'MAC Address': u'11:22:33:44:55:66',
@@ -440,10 +421,10 @@
self.assertIn({u'Switch Port MTU': 1514}, res)
self.assertIn({u'Switch Port MTU': 9216}, res)
- @mock.patch.object(swift, 'get_introspection_data', autospec=True)
+ @mock.patch.object(process, 'get_introspection_data', autospec=True)
def test_interface_show(self, get_mock):
self.setup_lldp()
- get_mock.return_value = json.dumps(copy.deepcopy(self.data))
+ get_mock.return_value = json.dumps(self.data)
res = self.run_cli('interface', 'show', self.uuid, "eth1",
parse_json=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.7.0/ironic_inspector_client/test/test_common_http.py
new/python-ironic-inspector-client-4.1.0/ironic_inspector_client/test/test_common_http.py
---
old/python-ironic-inspector-client-3.7.0/ironic_inspector_client/test/test_common_http.py
2019-09-07 20:30:54.000000000 +0200
+++
new/python-ironic-inspector-client-4.1.0/ironic_inspector_client/test/test_common_http.py
2020-04-09 18:16:35.000000000 +0200
@@ -183,12 +183,12 @@
self.req.return_value.content = json.dumps(
{'error': {'message': 'boom'}}).encode('utf-8')
- self.assertRaisesRegexp(http.ClientError, 'boom',
- self.get_client().request, 'get', 'url')
+ self.assertRaisesRegex(http.ClientError, 'boom',
+ self.get_client().request, 'get', 'url')
def test_error_discoverd_style(self):
self.req.return_value.status_code = 400
self.req.return_value.content = b'boom'
- self.assertRaisesRegexp(http.ClientError, 'boom',
- self.get_client().request, 'get', 'url')
+ self.assertRaisesRegex(http.ClientError, 'boom',
+ self.get_client().request, 'get', 'url')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.7.0/ironic_inspector_client/test/test_shell.py
new/python-ironic-inspector-client-4.1.0/ironic_inspector_client/test/test_shell.py
---
old/python-ironic-inspector-client-3.7.0/ironic_inspector_client/test/test_shell.py
2019-09-07 20:30:54.000000000 +0200
+++
new/python-ironic-inspector-client-4.1.0/ironic_inspector_client/test/test_shell.py
2020-04-09 18:16:35.000000000 +0200
@@ -12,13 +12,12 @@
# limitations under the License.
import collections
+import io
import sys
import tempfile
import mock
-from osc_lib import exceptions
from osc_lib.tests import utils
-import six
from ironic_inspector_client import shell
from ironic_inspector_client import v1
@@ -149,7 +148,7 @@
cmd = shell.StartCommand(self.app, None)
parsed_args = self.check_parser(cmd, arglist, verifylist)
msg = "--check-errors can only be used with --wait"
- self.assertRaisesRegex(exceptions.CommandError, msg, cmd.take_action,
+ self.assertRaisesRegex(RuntimeError, msg, cmd.take_action,
parsed_args)
def test_abort(self):
@@ -362,7 +361,7 @@
class TestDataSave(BaseTest):
def test_stdout(self):
self.client.get_data.return_value = {'answer': 42}
- buf = six.StringIO()
+ buf = io.StringIO()
arglist = ['uuid1']
verifylist = [('node', 'uuid1')]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.7.0/ironic_inspector_client/test/test_v1.py
new/python-ironic-inspector-client-4.1.0/ironic_inspector_client/test/test_v1.py
---
old/python-ironic-inspector-client-3.7.0/ironic_inspector_client/test/test_v1.py
2019-09-07 20:30:54.000000000 +0200
+++
new/python-ironic-inspector-client-4.1.0/ironic_inspector_client/test/test_v1.py
2020-04-09 18:16:35.000000000 +0200
@@ -13,12 +13,10 @@
import collections
import unittest
+import uuid
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
@@ -35,7 +33,7 @@
return_value=mock.Mock(headers=FAKE_HEADERS,
status_code=200))
class TestInit(unittest.TestCase):
- my_ip = 'http://' + netutils.get_my_ipv4() + ':5050'
+ my_ip = 'http://127.0.0.1:5050'
def get_client(self, **kwargs):
kwargs.setdefault('inspector_url', self.my_ip)
@@ -69,8 +67,8 @@
class BaseTest(unittest.TestCase):
def setUp(self):
super(BaseTest, self).setUp()
- self.uuid = uuidutils.generate_uuid()
- self.my_ip = 'http://' + netutils.get_my_ipv4() + ':5050'
+ self.uuid = str(uuid.uuid4())
+ self.my_ip = 'http://127.0.0.1:5050'
@mock.patch.object(http.BaseClient, 'server_api_versions',
lambda self: ((1, 0), (1, 99)))
@@ -173,12 +171,12 @@
params=params)
def test_invalid_marker(self, _):
- six.assertRaisesRegex(self, TypeError, 'Expected a string value.*',
- self.get_client().list_statuses, marker=42)
+ self.assertRaisesRegex(TypeError, 'Expected a string value.*',
+ self.get_client().list_statuses, marker=42)
def test_invalid_limit(self, _):
- six.assertRaisesRegex(self, TypeError, 'Expected an integer.*',
- self.get_client().list_statuses, limit='42')
+ self.assertRaisesRegex(TypeError, 'Expected an integer.*',
+ self.get_client().list_statuses, limit='42')
@mock.patch.object(ironic_inspector_client.ClientV1, 'get_status',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.7.0/ironic_inspector_client/v1.py
new/python-ironic-inspector-client-4.1.0/ironic_inspector_client/v1.py
--- old/python-ironic-inspector-client-3.7.0/ironic_inspector_client/v1.py
2019-09-07 20:30:54.000000000 +0200
+++ new/python-ironic-inspector-client-4.1.0/ironic_inspector_client/v1.py
2020-04-09 18:16:35.000000000 +0200
@@ -18,8 +18,6 @@
import time
import warnings
-import six
-
from ironic_inspector_client.common import http
from ironic_inspector_client.common.i18n import _
@@ -97,7 +95,7 @@
"""
node_id = node_id or uuid
- if not isinstance(node_id, six.string_types):
+ if not isinstance(node_id, str):
raise TypeError(
_("Expected string for node_id argument, got %r") % node_id)
if uuid:
@@ -172,7 +170,7 @@
* `started_at` an ISO8601 timestamp,
* `uuid` the node UUID
"""
- if not (marker is None or isinstance(marker, six.string_types)):
+ if not (marker is None or isinstance(marker, str)):
raise TypeError(_('Expected a string value of the marker, got '
'%s instead') % marker)
if not (limit is None or isinstance(limit, int)):
@@ -410,7 +408,7 @@
:raises: :py:class:`ironic_inspector_client.VersionNotSupported` if
requested api_version is not supported
"""
- if uuid is not None and not isinstance(uuid, six.string_types):
+ if uuid is not None and not isinstance(uuid, str):
raise TypeError(
_("Expected string for uuid argument, got %r") % uuid)
for name, arg in [('conditions', conditions), ('actions', actions)]:
@@ -459,7 +457,7 @@
:raises: :py:class:`ironic_inspector_client.VersionNotSupported` if
requested api_version is not supported
"""
- if not isinstance(uuid, six.string_types):
+ if not isinstance(uuid, str):
raise TypeError(
_("Expected string for uuid argument, got %r") % uuid)
return self._request('get', '/rules/%s' % uuid).json()
@@ -473,7 +471,7 @@
:raises: :py:class:`ironic_inspector_client.VersionNotSupported` if
requested api_version is not supported
"""
- if not isinstance(uuid, six.string_types):
+ if not isinstance(uuid, str):
raise TypeError(
_("Expected string for uuid argument, got %r") % uuid)
self._request('delete', '/rules/%s' % uuid)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.7.0/lower-constraints.txt
new/python-ironic-inspector-client-4.1.0/lower-constraints.txt
--- old/python-ironic-inspector-client-3.7.0/lower-constraints.txt
2019-09-07 20:30:57.000000000 +0200
+++ new/python-ironic-inspector-client-4.1.0/lower-constraints.txt
2020-04-09 18:16:35.000000000 +0200
@@ -19,7 +19,7 @@
fasteners==0.7.0
fixtures==3.0.0
flake8==2.5.5
-hacking==1.0.0
+hacking==3.0.0
idna==2.6
imagesize==0.7.1
iso8601==0.1.11
@@ -73,7 +73,6 @@
restructuredtext-lint==1.1.1
rfc3986==0.3.1
simplejson==3.5.1
-six==1.10.0
snowballstemmer==1.2.1
Sphinx==1.6.2
sphinxcontrib-svg2pdfconverter==0.1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.7.0/python_ironic_inspector_client.egg-info/PKG-INFO
new/python-ironic-inspector-client-4.1.0/python_ironic_inspector_client.egg-info/PKG-INFO
---
old/python-ironic-inspector-client-3.7.0/python_ironic_inspector_client.egg-info/PKG-INFO
2019-09-07 20:31:35.000000000 +0200
+++
new/python-ironic-inspector-client-4.1.0/python_ironic_inspector_client.egg-info/PKG-INFO
2020-04-09 18:18:31.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: python-ironic-inspector-client
-Version: 3.7.0
+Version: 4.1.0
Summary: Python client for Ironic Inspector
Home-page: https://docs.openstack.org/python-ironic-inspector-client/latest/
Author: OpenStack
@@ -42,10 +42,11 @@
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
-Provides-Extra: test
+Requires-Python: >=3.6
Provides-Extra: cli
+Provides-Extra: test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.7.0/python_ironic_inspector_client.egg-info/SOURCES.txt
new/python-ironic-inspector-client-4.1.0/python_ironic_inspector_client.egg-info/SOURCES.txt
---
old/python-ironic-inspector-client-3.7.0/python_ironic_inspector_client.egg-info/SOURCES.txt
2019-09-07 20:31:35.000000000 +0200
+++
new/python-ironic-inspector-client-4.1.0/python_ironic_inspector_client.egg-info/SOURCES.txt
2020-04-09 18:18:31.000000000 +0200
@@ -2,6 +2,7 @@
ChangeLog
LICENSE
README.rst
+bindep.txt
functest-requirements.txt
lower-constraints.txt
requirements.txt
@@ -48,6 +49,7 @@
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-py-2-7-c2707af650df18c8.yaml
releasenotes/notes/drop-setting-ipmi-creds-feature-4965aaba75a40326.yaml
releasenotes/notes/interface-list-show-39cedaca3cd9db9b.yaml
releasenotes/notes/introspect-multiple-uuids-0790d57e0a0b9292.yaml
@@ -60,6 +62,7 @@
releasenotes/notes/no-default-uri-861f675ccb75e05d.yaml
releasenotes/notes/old-functions-80ddae9eaa1e7e1d.yaml
releasenotes/notes/osc-lib-162db03fed2bc40c.yaml
+releasenotes/notes/oslo-i18n-optional-194293e37274a901.yaml
releasenotes/notes/print-import-rule-result-b5c19e9b8679849e.yaml
releasenotes/notes/remove-client-64778b2011c26f6b.yaml
releasenotes/notes/rename-func-427aa11c60c2838b.yaml
@@ -77,6 +80,7 @@
releasenotes/source/queens.rst
releasenotes/source/rocky.rst
releasenotes/source/stein.rst
+releasenotes/source/train.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.7.0/python_ironic_inspector_client.egg-info/pbr.json
new/python-ironic-inspector-client-4.1.0/python_ironic_inspector_client.egg-info/pbr.json
---
old/python-ironic-inspector-client-3.7.0/python_ironic_inspector_client.egg-info/pbr.json
2019-09-07 20:31:35.000000000 +0200
+++
new/python-ironic-inspector-client-4.1.0/python_ironic_inspector_client.egg-info/pbr.json
2020-04-09 18:18:31.000000000 +0200
@@ -1 +1 @@
-{"git_version": "d95a4cd", "is_release": true}
\ No newline at end of file
+{"git_version": "c9b1aff", "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.7.0/python_ironic_inspector_client.egg-info/requires.txt
new/python-ironic-inspector-client-4.1.0/python_ironic_inspector_client.egg-info/requires.txt
---
old/python-ironic-inspector-client-3.7.0/python_ironic_inspector_client.egg-info/requires.txt
2019-09-07 20:31:35.000000000 +0200
+++
new/python-ironic-inspector-client-4.1.0/python_ironic_inspector_client.egg-info/requires.txt
2020-04-09 18:18:31.000000000 +0200
@@ -1,11 +1,8 @@
+cliff!=2.9.0,>=2.8.0
keystoneauth1>=3.4.0
-osc-lib>=1.8.0
-oslo.i18n>=3.15.3
-oslo.utils>=3.33.0
pbr!=2.1.0,>=2.0.0
PyYAML>=3.12
requests>=2.14.2
-six>=1.10.0
[cli]
python-openstackclient>=3.12.0
@@ -15,8 +12,9 @@
doc8>=0.6.0
fixtures>=3.0.0
flake8-import-order>=0.13
-hacking<1.1.0,>=1.0.0
+hacking<3.1.0,>=3.0.0
mock>=2.0.0
requests-mock>=1.2.0
oslo.concurrency>=3.25.0
+osc-lib>=1.8.0
python-openstackclient>=3.12.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.7.0/releasenotes/notes/drop-py-2-7-c2707af650df18c8.yaml
new/python-ironic-inspector-client-4.1.0/releasenotes/notes/drop-py-2-7-c2707af650df18c8.yaml
---
old/python-ironic-inspector-client-3.7.0/releasenotes/notes/drop-py-2-7-c2707af650df18c8.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/python-ironic-inspector-client-4.1.0/releasenotes/notes/drop-py-2-7-c2707af650df18c8.yaml
2020-04-09 18:16:35.000000000 +0200
@@ -0,0 +1,7 @@
+---
+upgrade:
+ - |
+ Python 2.7 support has been dropped. Last release of
+ python-ironic-inspector-client to support Python 2.7 is OpenStack Train.
+ The minimum version of Python now supported by
+ python-ironic-inspector-client is Python 3.6.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.7.0/releasenotes/notes/oslo-i18n-optional-194293e37274a901.yaml
new/python-ironic-inspector-client-4.1.0/releasenotes/notes/oslo-i18n-optional-194293e37274a901.yaml
---
old/python-ironic-inspector-client-3.7.0/releasenotes/notes/oslo-i18n-optional-194293e37274a901.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/python-ironic-inspector-client-4.1.0/releasenotes/notes/oslo-i18n-optional-194293e37274a901.yaml
2020-04-09 18:16:35.000000000 +0200
@@ -0,0 +1,6 @@
+---
+upgrade:
+ - |
+ The dependency on ``oslo.i18n`` is now optional. If you would like messages
+ from ironic-inspector-client to be translated, you need to install it
+ explicitly.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.7.0/releasenotes/source/index.rst
new/python-ironic-inspector-client-4.1.0/releasenotes/source/index.rst
--- old/python-ironic-inspector-client-3.7.0/releasenotes/source/index.rst
2019-09-07 20:30:54.000000000 +0200
+++ new/python-ironic-inspector-client-4.1.0/releasenotes/source/index.rst
2020-04-09 18:16:35.000000000 +0200
@@ -6,6 +6,7 @@
:maxdepth: 1
unreleased
+ train
stein
rocky
queens
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.7.0/releasenotes/source/train.rst
new/python-ironic-inspector-client-4.1.0/releasenotes/source/train.rst
--- old/python-ironic-inspector-client-3.7.0/releasenotes/source/train.rst
1970-01-01 01:00:00.000000000 +0100
+++ new/python-ironic-inspector-client-4.1.0/releasenotes/source/train.rst
2020-04-09 18:16:35.000000000 +0200
@@ -0,0 +1,6 @@
+===========================================
+ Train Series (3.6.0 - 3.6.x) Release Notes
+===========================================
+
+.. release-notes::
+ :branch: stable/train
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.7.0/requirements.txt
new/python-ironic-inspector-client-4.1.0/requirements.txt
--- old/python-ironic-inspector-client-3.7.0/requirements.txt 2019-09-07
20:30:54.000000000 +0200
+++ new/python-ironic-inspector-client-4.1.0/requirements.txt 2020-04-09
18:16:35.000000000 +0200
@@ -1,11 +1,8 @@
# The order of packages is significant, because pip processes them in the order
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
+cliff!=2.9.0,>=2.8.0 # Apache-2.0
keystoneauth1>=3.4.0 # Apache-2.0
-osc-lib>=1.8.0 # Apache-2.0
-oslo.i18n>=3.15.3 # Apache-2.0
-oslo.utils>=3.33.0 # Apache-2.0
pbr!=2.1.0,>=2.0.0 # Apache-2.0
PyYAML>=3.12 # MIT
requests>=2.14.2 # Apache-2.0
-six>=1.10.0 # MIT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ironic-inspector-client-3.7.0/setup.cfg
new/python-ironic-inspector-client-4.1.0/setup.cfg
--- old/python-ironic-inspector-client-3.7.0/setup.cfg 2019-09-07
20:31:35.000000000 +0200
+++ new/python-ironic-inspector-client-4.1.0/setup.cfg 2020-04-09
18:18:31.000000000 +0200
@@ -6,6 +6,7 @@
author-email = [email protected]
home-page = https://docs.openstack.org/python-ironic-inspector-client/latest/
license = Apache-2
+python-requires = >=3.6
classifier =
Environment :: Console
Environment :: OpenStack
@@ -14,8 +15,8 @@
License :: OSI Approved :: Apache Software License
Operating System :: OS Independent
Programming Language :: Python
- Programming Language :: Python :: 2
- Programming Language :: Python :: 2.7
+ Programming Language :: Python :: Implementation :: CPython
+ Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ironic-inspector-client-3.7.0/setup.py
new/python-ironic-inspector-client-4.1.0/setup.py
--- old/python-ironic-inspector-client-3.7.0/setup.py 2019-09-07
20:30:54.000000000 +0200
+++ new/python-ironic-inspector-client-4.1.0/setup.py 2020-04-09
18:16:35.000000000 +0200
@@ -13,17 +13,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
import setuptools
-# In python < 2.7.4, a lazy loading of package `pbr` will break
-# setuptools if some other modules registered functions in `atexit`.
-# solution from: http://bugs.python.org/issue15881#msg170215
-try:
- import multiprocessing # noqa
-except ImportError:
- pass
-
setuptools.setup(
setup_requires=['pbr>=2.0.0'],
pbr=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.7.0/test-requirements.txt
new/python-ironic-inspector-client-4.1.0/test-requirements.txt
--- old/python-ironic-inspector-client-3.7.0/test-requirements.txt
2019-09-07 20:30:54.000000000 +0200
+++ new/python-ironic-inspector-client-4.1.0/test-requirements.txt
2020-04-09 18:16:35.000000000 +0200
@@ -5,8 +5,9 @@
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
+hacking>=3.0.0,<3.1.0 # Apache-2.0
mock>=2.0.0 # BSD
requests-mock>=1.2.0 # Apache-2.0
oslo.concurrency>=3.25.0 # Apache-2.0
+osc-lib>=1.8.0 # Apache-2.0
python-openstackclient>=3.12.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ironic-inspector-client-3.7.0/tox.ini
new/python-ironic-inspector-client-4.1.0/tox.ini
--- old/python-ironic-inspector-client-3.7.0/tox.ini 2019-09-07
20:30:57.000000000 +0200
+++ new/python-ironic-inspector-client-4.1.0/tox.ini 2020-04-09
18:16:35.000000000 +0200
@@ -1,12 +1,14 @@
[tox]
-minversion = 2.0
-envlist = py3,py27,pep8,functional
+minversion = 3.1.0
+envlist = py3,pep8,functional-py3
+ignore_basepython_conflict=true
[testenv]
+basepython = python3
install_command = pip install {opts} {packages}
usedevelop = True
deps =
-
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
+
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands =
@@ -16,20 +18,11 @@
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
[testenv:pep8]
-basepython = python3
commands =
flake8 ironic_inspector_client
doc8 README.rst doc/source
-[testenv:functional]
-basepython = python2.7
-deps = {[testenv]deps}
- -r{toxinidir}/functest-requirements.txt
-commands =
- python -m ironic_inspector_client.test.functional {posargs}
-
[testenv:functional-py3]
-basepython = python3
deps = {[testenv]deps}
-r{toxinidir}/functest-requirements.txt
commands =
@@ -43,36 +36,31 @@
[testenv:func]
# Replaced in CI with "functional" environment but kept here as a
# backwards-compatibility shim for transition
-basepython = python3
-deps = {[testenv:functional]deps}
-commands = {[testenv:functional]commands}
+deps = {[testenv:functional-py3]deps}
+commands = {[testenv:functional-py3]commands}
[testenv:venv]
-basepython = python3
deps =
-
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
+
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt
-r{toxinidir}/doc/requirements.txt
commands = {posargs}
[testenv:releasenotes]
-basepython = python3
deps =
-
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
+
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-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
[testenv:docs]
-basepython = python3
deps =
-
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
+
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-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 =
@@ -94,8 +82,17 @@
import_exceptions = ironic_inspector_client.common.i18n
[testenv:lower-constraints]
-basepython = python3
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
+
+# This environment can be used to quickly validate that all needed system
+# packages required to successfully execute test targets are installed
+[testenv:bindep]
+# Do not install any requirements. We want this to be fast and work even if
+# system dependencies are missing, since it's used to tell you what system
+# dependencies are missing! This also means that bindep must be installed
+# separately, outside of the requirements files.
+deps = bindep
+commands = bindep test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ironic-inspector-client-3.7.0/zuul.d/project.yaml
new/python-ironic-inspector-client-4.1.0/zuul.d/project.yaml
--- old/python-ironic-inspector-client-3.7.0/zuul.d/project.yaml
2019-09-07 20:30:54.000000000 +0200
+++ new/python-ironic-inspector-client-4.1.0/zuul.d/project.yaml
2020-04-09 18:16:35.000000000 +0200
@@ -1,22 +1,17 @@
- project:
templates:
- - openstack-python-jobs
- - openstack-python3-train-jobs
+ - openstack-python3-ussuri-jobs
- publish-openstack-docs-pti
- check-requirements
- release-notes-jobs-python3
- openstackclient-plugin-jobs
check:
jobs:
- - openstack-tox-functional
- 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-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.7.0/zuul.d/python-ironic-inspector-client-jobs.yaml
new/python-ironic-inspector-client-4.1.0/zuul.d/python-ironic-inspector-client-jobs.yaml
---
old/python-ironic-inspector-client-3.7.0/zuul.d/python-ironic-inspector-client-jobs.yaml
2019-09-07 20:30:54.000000000 +0200
+++
new/python-ironic-inspector-client-4.1.0/zuul.d/python-ironic-inspector-client-jobs.yaml
2020-04-09 18:16:35.000000000 +0200
@@ -40,7 +40,7 @@
IRONIC_VM_LOG_DIR: '{{ devstack_base_dir }}/ironic-bm-logs'
IRONIC_VM_SPECS_RAM: 384
IRONIC_DEFAULT_DEPLOY_INTERFACE: direct
- IRONIC_DEFAULT_RESCUE_INTERFACE: agent
+ IRONIC_DEFAULT_RESCUE_INTERFACE: ""
Q_AGENT: openvswitch
Q_ML2_TENANT_NETWORK_TYPE: vxlan
@@ -98,17 +98,6 @@
ironic-inspector-dhcp: True
- job:
- name: python-ironic-inspector-client-tempest-python2
- description: python-ironic-inspector-client-tempest-python2
- parent: python-ironic-inspector-client-base
- vars:
- devstack_localrc:
- USE_PYTHON3: False
-
-- job:
name: python-ironic-inspector-client-tempest-python3
description: python-ironic-inspector-client-tempest-python3
parent: python-ironic-inspector-client-base
- vars:
- devstack_localrc:
- USE_PYTHON3: True