Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-mistralclient for
openSUSE:Factory checked in at 2026-09-08 16:55:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-mistralclient (Old)
and /work/SRC/openSUSE:Factory/.python-mistralclient.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-mistralclient"
Tue Sep 8 16:55:38 2026 rev:24 rq:1376151 version:6.3.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-mistralclient/python-mistralclient.changes
2026-08-09 21:37:44.035134210 +0200
+++
/work/SRC/openSUSE:Factory/.python-mistralclient.new.1265/python-mistralclient.changes
2026-09-08 16:57:55.295500020 +0200
@@ -1,0 +2,16 @@
+Mon Sep 7 09:51:33 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 6.3.0:
+ * tox: Drop redundant override of install_command
+ * tox: Drop redundant injection of VIRTUAL_ENV variable
+ * Drop remaining code for Identity v2 API
+ * Drop remaining reference to Heat CloudWatch API
+ * Make CI jobs voting again
+ * Delete ad-hoc actions leaked by workbook functional tests
+ * Fix unit test failure caused by osprofiler 4.4.0
+ * Temporarily disable failing CI jobs
+ * Update master for stable/2026.1
+- drop 0001-Fix-unit-test-failure-caused-by-osprofiler-4.4.0.patch
+ (upstream)
+
+-------------------------------------------------------------------
Old:
----
0001-Fix-unit-test-failure-caused-by-osprofiler-4.4.0.patch
python_mistralclient-6.2.0.tar.gz
New:
----
python_mistralclient-6.3.0.tar.gz
----------(Old B)----------
Old: * Update master for stable/2026.1
- drop 0001-Fix-unit-test-failure-caused-by-osprofiler-4.4.0.patch
(upstream)
----------(Old E)----------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-mistralclient.spec ++++++
--- /var/tmp/diff_new_pack.sshjxO/_old 2026-09-08 16:57:56.755560869 +0200
+++ /var/tmp/diff_new_pack.sshjxO/_new 2026-09-08 16:57:56.759561035 +0200
@@ -18,14 +18,13 @@
%global pythons %{primary_python}
Name: python-mistralclient
-Version: 6.2.0
+Version: 6.3.0
Release: 0
Summary: Python API and CLI for OpenStack Mistral
License: Apache-2.0
Group: Development/Languages/Python
URL: https://docs.openstack.org/python-mistralclient
Source0:
https://files.pythonhosted.org/packages/source/p/python_mistralclient/python_mistralclient-%{version}.tar.gz
-Patch1: 0001-Fix-unit-test-failure-caused-by-osprofiler-4.4.0.patch
BuildRequires: %{python_module PyYAML >= 3.13}
BuildRequires: %{python_module fixtures}
BuildRequires: %{python_module openstackclient}
++++++ python_mistralclient-6.2.0.tar.gz -> python_mistralclient-6.3.0.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python_mistralclient-6.2.0/.zuul.yaml
new/python_mistralclient-6.3.0/.zuul.yaml
--- old/python_mistralclient-6.2.0/.zuul.yaml 2026-02-24 15:36:02.000000000
+0100
+++ new/python_mistralclient-6.3.0/.zuul.yaml 2026-08-27 10:29:15.729955400
+0200
@@ -7,10 +7,8 @@
mistral: https://opendev.org/openstack/mistral
heat: https://opendev.org/openstack/heat
devstack_services:
- heat: true
h-api: true
h-api-cfn: true
- h-api-cw: true
h-eng: true
tox_envlist: functional
tox_environment:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python_mistralclient-6.2.0/AUTHORS
new/python_mistralclient-6.3.0/AUTHORS
--- old/python_mistralclient-6.2.0/AUTHORS 2026-02-24 15:36:28.000000000
+0100
+++ new/python_mistralclient-6.3.0/AUTHORS 2026-08-27 10:30:02.502459800
+0200
@@ -6,6 +6,7 @@
Andreas Jaeger <[email protected]>
Angus Salkeld <[email protected]>
Arnaud M <[email protected]>
+Arnaud Morin <[email protected]>
Axel Vanzaghi <[email protected]>
Bob Haddleton <[email protected]>
Boris Bobrov <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python_mistralclient-6.2.0/ChangeLog
new/python_mistralclient-6.3.0/ChangeLog
--- old/python_mistralclient-6.2.0/ChangeLog 2026-02-24 15:36:28.000000000
+0100
+++ new/python_mistralclient-6.3.0/ChangeLog 2026-08-27 10:30:02.451457700
+0200
@@ -1,6 +1,19 @@
CHANGES
=======
+6.3.0
+-----
+
+* tox: Drop redundant override of install\_command
+* tox: Drop redundant injection of VIRTUAL\_ENV variable
+* Drop remaining code for Identity v2 API
+* Drop remaining reference to Heat CloudWatch API
+* Make CI jobs voting again
+* Delete ad-hoc actions leaked by workbook functional tests
+* Fix unit test failure caused by osprofiler 4.4.0
+* Temporarily disable failing CI jobs
+* Update master for stable/2026.1
+
6.2.0
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python_mistralclient-6.2.0/PKG-INFO
new/python_mistralclient-6.3.0/PKG-INFO
--- old/python_mistralclient-6.2.0/PKG-INFO 2026-02-24 15:36:28.879395000
+0100
+++ new/python_mistralclient-6.3.0/PKG-INFO 2026-08-27 10:30:02.640465500
+0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: python-mistralclient
-Version: 6.2.0
+Version: 6.3.0
Summary: Mistral Client Library
Home-page: https://docs.openstack.org/python-mistralclient/latest/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python_mistralclient-6.2.0/mistralclient/auth/keystone.py
new/python_mistralclient-6.3.0/mistralclient/auth/keystone.py
--- old/python_mistralclient-6.2.0/mistralclient/auth/keystone.py
2026-02-24 15:36:02.000000000 +0100
+++ new/python_mistralclient-6.3.0/mistralclient/auth/keystone.py
2026-08-27 10:29:15.735958600 +0200
@@ -19,7 +19,6 @@
from keystoneauth1 import session as ks_session
import mistralclient.api.httpclient as api
from mistralclient import auth as mistral_auth
-from oslo_serialization import jsonutils
LOG = logging.getLogger(__name__)
@@ -34,21 +33,7 @@
for Keystone authentication.
"""
reqs = self._separate_target_reqs(req)
- try:
- result = self._authenticate(reqs, session)
- except Exception as e:
- if "Cannot use v2 authentication with domain scope" in str(e):
- LOG.warning("Client tried to use v2 authentication with "
- "domain scope. Domain parameters are assumed "
- "to be erroneously set. Retrying "
- "authentication without them. "
- "Request parameters: %s" % str(reqs))
- domainless_reqs = [reqs[0],
- self._remove_domain(reqs[1])]
- result = self._authenticate(domainless_reqs, session)
- else:
- raise
- return result
+ return self._authenticate(reqs, session)
@staticmethod
def _separate_target_reqs(req):
@@ -72,24 +57,6 @@
return [r, target_r]
@staticmethod
- def _remove_domain(req):
- """Remove all domain parameters from req.
-
- Keystoneauth with V2 does not accept domain parameters. This
- is an incompatible change from Keystoneclient but it would
- unnecessarily break clients of Mistral. It is safe to remove
- domain parameters if V2 auth is targeted.
-
- :param req: Request dict containing list of parameters required
- :return: Request dict without domains
- """
- r = {}
- for key in req:
- if "domain" not in key:
- r[key] = req[key]
- return r
-
- @staticmethod
def _get_auth(api_key=None, auth_token=None, auth_url=None,
project_domain_id=None, project_domain_name=None,
project_id=None, project_name=None, user_domain_id=None,
@@ -209,19 +176,6 @@
api.TARGET_AUTH_URI: target_auth._plugin.auth_url,
})
- access = target_auth.get_access(target_session)
- service_catalog = access.service_catalog
-
- if self._is_service_catalog_v2(service_catalog):
- access_data = access._data["access"]
- if not len(access_data['serviceCatalog']):
- LOG.warning(
- "Service Catalog empty, some authentication"
- "credentials may be missing. This can cause"
- "malfunction in the Mistral action executions.")
- sc_json = jsonutils.dumps(access_data)
- auth_response[api.TARGET_SERVICE_CATALOG] = sc_json
-
if not auth_response:
LOG.debug("No valid token or password + user provided. "
"Continuing without authentication")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python_mistralclient-6.2.0/mistralclient/tests/functional/cli/v2/base_v2.py
new/python_mistralclient-6.3.0/mistralclient/tests/functional/cli/v2/base_v2.py
---
old/python_mistralclient-6.2.0/mistralclient/tests/functional/cli/v2/base_v2.py
2026-02-24 15:36:02.000000000 +0100
+++
new/python_mistralclient-6.3.0/mistralclient/tests/functional/cli/v2/base_v2.py
2026-08-27 10:29:15.740961000 +0200
@@ -156,6 +156,22 @@
params='wb.wf1'
)
+ # Deleting a workbook doesn't delete the ad-hoc actions created
+ # from it. If they are left behind, the same action may end up
+ # existing in several projects at the same time (admin sees all
+ # of them) and subsequent workbook creations fail with a
+ # duplicate entry error.
+ with open(wb_def) as f:
+ wb_def_content = f.read()
+
+ if 'actions:' in wb_def_content:
+ self.addCleanup(
+ self.mistral_cli,
+ admin,
+ 'action-delete',
+ params='wb.ac1'
+ )
+
return wb
def workflow_create(self, wf_def, namespace='', admin=True,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python_mistralclient-6.2.0/mistralclient/tests/functional/cli/v2/test_cli_v2.py
new/python_mistralclient-6.3.0/mistralclient/tests/functional/cli/v2/test_cli_v2.py
---
old/python_mistralclient-6.2.0/mistralclient/tests/functional/cli/v2/test_cli_v2.py
2026-02-24 15:36:02.000000000 +0100
+++
new/python_mistralclient-6.3.0/mistralclient/tests/functional/cli/v2/test_cli_v2.py
2026-08-27 10:29:15.741961700 +0200
@@ -133,6 +133,12 @@
def test_workbook_create_delete(self):
wb = self.mistral_admin('workbook-create', params=self.wb_def)
+ # Deleting the workbook (at the end of this test) doesn't delete
+ # the workflows and ad-hoc actions created from it, so they must
+ # be cleaned up explicitly.
+ self.addCleanup(self.mistral_admin, 'workflow-delete', params='wb.wf1')
+ self.addCleanup(self.mistral_admin, 'action-delete', params='wb.ac1')
+
wb_name = self.get_field_value(wb, "Name")
self.assertTableStruct(wb, ['Field', 'Value'])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python_mistralclient-6.2.0/mistralclient/tests/unit/test_client.py
new/python_mistralclient-6.3.0/mistralclient/tests/unit/test_client.py
--- old/python_mistralclient-6.2.0/mistralclient/tests/unit/test_client.py
2026-02-24 15:36:02.000000000 +0100
+++ new/python_mistralclient-6.3.0/mistralclient/tests/unit/test_client.py
2026-08-27 10:29:15.742962100 +0200
@@ -109,8 +109,6 @@
mistral_url_for_http = http_client_mock.call_args[0][0]
self.assertEqual(MISTRAL_HTTP_URL, mistral_url_for_http)
- @mock.patch('mistralclient.auth.keystone.KeystoneAuthHandler'
- '._is_service_catalog_v2', return_value=True)
@mock.patch('keystoneauth1.identity.generic.Password')
@mock.patch('keystoneauth1.session.Session')
@mock.patch('mistralclient.api.httpclient.HTTPClient')
@@ -118,8 +116,7 @@
self,
http_client_mock,
session_mock,
- password_mock,
- catalog_type_mock
+ password_mock
):
session = mock.MagicMock()
@@ -140,12 +137,6 @@
'X-Auth-Token': 'authtoken'
})
- mock_access = mock.MagicMock()
- mock_catalog = mock.MagicMock()
- mock_catalog.catalog = {}
- mock_access.service_catalog = mock_catalog
- auth.get_access = mock.Mock(return_value=mock_access)
-
client.client(
auth_url=AUTH_HTTP_URL_v3,
username='user',
@@ -174,7 +165,6 @@
'target_project_name': 'tmistralp',
'target_username': 'tmistral',
'target_region_name': 'tregion',
- 'target_service_catalog': "{}"
}
for key in expected_values:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python_mistralclient-6.2.0/mistralclient/tests/unit/test_httpclient.py
new/python_mistralclient-6.3.0/mistralclient/tests/unit/test_httpclient.py
--- old/python_mistralclient-6.2.0/mistralclient/tests/unit/test_httpclient.py
2026-02-24 15:36:02.000000000 +0100
+++ new/python_mistralclient-6.3.0/mistralclient/tests/unit/test_httpclient.py
2026-08-27 10:29:15.742962100 +0200
@@ -112,16 +112,11 @@
data = {'base_id': PROFILER_TRACE_ID, 'parent_id': PROFILER_TRACE_ID}
signed_data = osprofiler_utils.signed_pack(data, PROFILER_HMAC_KEY)
- headers = {
- 'X-Trace-Info': signed_data[0],
- 'X-Trace-HMAC': signed_data[1]
- }
-
self.client.get(API_URL)
self.assertTrue(m.called_once)
headers = self.assertExpectedAuthHeaders()
- self.assertEqual(signed_data[0], headers['X-Trace-Info'])
+ self.assertEqual(signed_data[0].decode(), headers['X-Trace-Info'])
self.assertEqual(signed_data[1], headers['X-Trace-HMAC'])
def test_get_request_options_with_headers_for_get(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python_mistralclient-6.2.0/mistralclient/tests/unit/v2/test_keystone.py
new/python_mistralclient-6.3.0/mistralclient/tests/unit/v2/test_keystone.py
--- old/python_mistralclient-6.2.0/mistralclient/tests/unit/v2/test_keystone.py
2026-02-24 15:36:02.000000000 +0100
+++ new/python_mistralclient-6.3.0/mistralclient/tests/unit/v2/test_keystone.py
2026-08-27 10:29:15.747964600 +0200
@@ -30,19 +30,6 @@
self.assertIsNotNone(elements["token"])
self.assertIsNotNone(elements["project_id"])
- def test_remove_domain(self):
- params = {
- "param1": "p",
- "target_param2": "p2",
- "user_domain_param3": "p3",
- "target_project_domain_param4": "p4"
- }
- dedomained = self.keystone._remove_domain(params)
- self.assertIn("param1", dedomained)
- self.assertIn("target_param2", dedomained)
- self.assertNotIn("user_domain_param3", dedomained)
- self.assertNotIn("target_project_domain_param4", dedomained)
-
def test_separate_target_reqs(self):
params = {
"a": 1,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python_mistralclient-6.2.0/python_mistralclient.egg-info/PKG-INFO
new/python_mistralclient-6.3.0/python_mistralclient.egg-info/PKG-INFO
--- old/python_mistralclient-6.2.0/python_mistralclient.egg-info/PKG-INFO
2026-02-24 15:36:28.000000000 +0100
+++ new/python_mistralclient-6.3.0/python_mistralclient.egg-info/PKG-INFO
2026-08-27 10:30:02.517460300 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: python-mistralclient
-Version: 6.2.0
+Version: 6.3.0
Summary: Mistral Client Library
Home-page: https://docs.openstack.org/python-mistralclient/latest/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python_mistralclient-6.2.0/python_mistralclient.egg-info/SOURCES.txt
new/python_mistralclient-6.3.0/python_mistralclient.egg-info/SOURCES.txt
--- old/python_mistralclient-6.2.0/python_mistralclient.egg-info/SOURCES.txt
2026-02-24 15:36:28.000000000 +0100
+++ new/python_mistralclient-6.3.0/python_mistralclient.egg-info/SOURCES.txt
2026-08-27 10:30:02.578462800 +0200
@@ -153,6 +153,7 @@
releasenotes/source/2024.2.rst
releasenotes/source/2025.1.rst
releasenotes/source/2025.2.rst
+releasenotes/source/2026.1.rst
releasenotes/source/conf.py
releasenotes/source/index.rst
releasenotes/source/liberty.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python_mistralclient-6.2.0/python_mistralclient.egg-info/pbr.json
new/python_mistralclient-6.3.0/python_mistralclient.egg-info/pbr.json
--- old/python_mistralclient-6.2.0/python_mistralclient.egg-info/pbr.json
2026-02-24 15:36:28.000000000 +0100
+++ new/python_mistralclient-6.3.0/python_mistralclient.egg-info/pbr.json
2026-08-27 10:30:02.517460300 +0200
@@ -1 +1 @@
-{"git_version": "1cb8e3a", "is_release": true}
\ No newline at end of file
+{"git_version": "9717a39", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python_mistralclient-6.2.0/releasenotes/source/2026.1.rst
new/python_mistralclient-6.3.0/releasenotes/source/2026.1.rst
--- old/python_mistralclient-6.2.0/releasenotes/source/2026.1.rst
1970-01-01 01:00:00.000000000 +0100
+++ new/python_mistralclient-6.3.0/releasenotes/source/2026.1.rst
2026-08-27 10:29:15.750966300 +0200
@@ -0,0 +1,6 @@
+===========================
+2026.1 Series Release Notes
+===========================
+
+.. release-notes::
+ :branch: stable/2026.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python_mistralclient-6.2.0/releasenotes/source/index.rst
new/python_mistralclient-6.3.0/releasenotes/source/index.rst
--- old/python_mistralclient-6.2.0/releasenotes/source/index.rst
2026-02-24 15:36:02.000000000 +0100
+++ new/python_mistralclient-6.3.0/releasenotes/source/index.rst
2026-08-27 10:29:15.751966700 +0200
@@ -8,6 +8,7 @@
:maxdepth: 2
unreleased
+ 2026.1
2025.2
2025.1
2024.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python_mistralclient-6.2.0/tox.ini
new/python_mistralclient-6.3.0/tox.ini
--- old/python_mistralclient-6.2.0/tox.ini 2026-02-24 15:36:02.000000000
+0100
+++ new/python_mistralclient-6.3.0/tox.ini 2026-08-27 10:29:15.753967800
+0200
@@ -6,11 +6,9 @@
[testenv]
basepython = python3
usedevelop = True
-install_command = pip install {opts} {packages}
setenv =
- VIRTUAL_ENV={envdir}
- PYTHONDONTWRITEBYTECODE = 1
- PYTHONWARNINGS=default::DeprecationWarning
+ PYTHONDONTWRITEBYTECODE = 1
+ PYTHONWARNINGS=default::DeprecationWarning
passenv =
http_proxy
HTTP_PROXY
@@ -29,6 +27,7 @@
allowlist_externals =
find
rm
+
[testenv:cover]
setenv =
{[testenv]setenv}
@@ -39,6 +38,7 @@
coverage html -d cover
coverage xml -o cover/coverage.xml
coverage report
+
[testenv:functional]
setenv =
TEST_PATH = ./mistralclient/tests/functional