Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-apache-libcloud for
openSUSE:Factory checked in at 2026-02-18 17:04:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-apache-libcloud (Old)
and /work/SRC/openSUSE:Factory/.python-apache-libcloud.new.1977 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-apache-libcloud"
Wed Feb 18 17:04:26 2026 rev:48 rq:1333659 version:3.9.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-apache-libcloud/python-apache-libcloud.changes
2024-09-04 13:22:15.991847696 +0200
+++
/work/SRC/openSUSE:Factory/.python-apache-libcloud.new.1977/python-apache-libcloud.changes
2026-02-18 17:04:37.243703208 +0100
@@ -1,0 +2,61 @@
+Tue Feb 17 13:52:08 UTC 2026 - Daniel Garcia <[email protected]>
+
+- Update to 3.9.0
+ * Common
+ - Support for Python 3.9 which is EOL has been removed.
+ - Indicate we also support Python 3.12 (non beta) and Python 3.13.
+ - Support for Python 3.8 which is EOL has been removed.
+ - Support for Python 3.7 which is EOL has been removed.
+ - Types inheriting from ``libcloud.common.types.Type`` have been made
hashable.
+ - [NTT CIS] Fix invalid comparison in the ``XmlListConfig.__init__()``
method.
+ - Update versions of build and packaging tools required to build the
package.
+ * Compute
+ - [OpenStack] Add optional node port ID to attach the floating IP
+ in OpenStack ex_attach_floating_ip_to_node function.
+ - [OpenStack] Add metadata fields ``os_distro`` and ``os_version``
+ provided by OpenStack Image API (if set) to the ``extra`` field
+ of the OpenStack NodeImage.
+ - [LINODE] Add support for cloud-init metadata support to
+ create_node() Add new functions ``create_key_pair``,
+ ``list_key_pairs``, and ``get_image``
+ - [Azure ARM] Add a new argument to destroy_node() to also delete
+ node's managed OS disk as part of the node's deletion.
+ - [ECS] Add VPC IP and Elastic IP to ECS node as private and public IP.
+ - [Azure ARM] When deleting a node, delete VM OS disk if it's a managed
disk.
+ - [Azure ARM] Add ``ex_resize_node()`` method.
+ - [Equinix Metal] Fix ``list_nodes()`` method so it correctly
+ handles NodeSize.ram attribute in case TB is returned.
+ - [Equinix Metal] Deprecate facility API and replace it with metros
location.
+ - [Equinix Metal] Remove all the methods for managing volumes and
+ volume snapshots. This functionality hasn't been supported on
+ the server side for many years already.
+ - [Amazon EC2] Update pricing and sizing data.
+ - [OpenStack] Add `is_default` and `tags` extra fields to the
+ OpenStack Network Object (`OpenStackNetwork`).
+ - [KubeVirt] Various improvements and fixes in the driver:
+ * Improve compatibility with the base NodeDriver class
+ * Support for deployment (`deploy_node()`)
+ * Support for general volume (disks) types that KubeVirt supports
+ * Add support for the `ex_template` parameter in `create_node()` method
+ * Various improvements in `_to_node()` related to node information
parsing
+ * Improved test suite
+ * Code refactoring and improvements
+ - [Amazon S3] Add support for ``me-central-1`` region.
+ * Storage
+ - [Amazon S3] Add support for ``eu-south-1`` region.
+ - [Amazon S3] Add support for ``eu-west-3`` region.
+ * Other / Development
+ - Adopt uv for dependency management.
+ - pytest library used for running tests and microbenchmarks has
+ been upgraded to v8.1.
+ - Add a workaround so tests work with pytest >= 8.2. Also use
+ latest version of pytest for running tests.
+
+- Drop upstreamed patches:
+ * support-pytest-8.2.patch
+ * support-pytest-8.patch
+
+- New patch fix-tests-python313.patch to fix compatibility with latest
+ python3.13, bsc#1258223
+
+-------------------------------------------------------------------
@@ -18 +79 @@
-Tue Sep 26 00:00:00 PM CEST 2023 - ecsosa <[email protected]>
+Tue Sep 26 00:00:00 CEST 2023 - ecsosa <[email protected]>
Old:
----
apache-libcloud-3.8.0.tar.gz
apache-libcloud-3.8.0.tar.gz.asc
support-pytest-8.2.patch
support-pytest-8.patch
New:
----
apache-libcloud-3.9.0.tar.gz
apache-libcloud-3.9.0.tar.gz.asc
fix-tests-python313.patch
----------(Old B)----------
Old:- Drop upstreamed patches:
* support-pytest-8.2.patch
* support-pytest-8.patch
Old: * support-pytest-8.2.patch
* support-pytest-8.patch
----------(Old E)----------
----------(New B)----------
New:
- New patch fix-tests-python313.patch to fix compatibility with latest
python3.13, bsc#1258223
----------(New E)----------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-apache-libcloud.spec ++++++
--- /var/tmp/diff_new_pack.m4JMjn/_old 2026-02-18 17:04:39.163783123 +0100
+++ /var/tmp/diff_new_pack.m4JMjn/_new 2026-02-18 17:04:39.167783290 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-apache-libcloud
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-apache-libcloud
-Version: 3.8.0
+Version: 3.9.0
Release: 0
Summary: Abstraction over multiple cloud provider APIs
License: Apache-2.0
@@ -29,16 +29,15 @@
Source2: https://www.apache.org/dist/libcloud/KEYS#/%{name}.keyring
Patch1: gce_image_projects.patch
Patch2: ec2_create_node.patch
-# PATCH-FIX-UPSTREAM gh#apache/libcloud#1994
-Patch3: support-pytest-8.patch
-# PATCH-FIX-UPSTREAM gh#apache/libcloud#2033
-Patch4: support-pytest-8.2.patch
+# PATCH-FIX-UPSTREAM gh#apache/libcloud#2121
+Patch3: fix-tests-python313.patch
BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module fasteners}
BuildRequires: %{python_module libvirt-python}
BuildRequires: %{python_module paramiko}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pyOpenSSL}
+BuildRequires: %{python_module pytest-benchmark}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module requests-mock}
BuildRequires: %{python_module setuptools}
@@ -59,10 +58,8 @@
differences among multiple cloud provider APIs.
%prep
-%autosetup -p1 -n apache-libcloud-%{version}
-sed -i '/^#!/d' demos/gce_demo.py
-chmod a-x demos/gce_demo.py
-# Setup tests
+%autosetup -p1 -n apache_libcloud-%{version}
+# # Setup tests
cp libcloud/test/secrets.py-dist libcloud/test/secrets.py
%build
@@ -100,7 +97,7 @@
%files %{python_files}
%license LICENSE
-%doc CHANGES.rst README.rst demos/ example_*.py
+%doc CHANGES.rst README.rst example_*.py
%{python_sitelib}/libcloud
%{python_sitelib}/apache_libcloud-%{version}.dist-info
++++++ apache-libcloud-3.8.0.tar.gz -> apache-libcloud-3.9.0.tar.gz ++++++
++++ 162856 lines of diff (skipped)
++++++ ec2_create_node.patch ++++++
--- /var/tmp/diff_new_pack.m4JMjn/_old 2026-02-18 17:04:41.611885016 +0100
+++ /var/tmp/diff_new_pack.m4JMjn/_new 2026-02-18 17:04:41.623885515 +0100
@@ -1,8 +1,8 @@
-Index: apache-libcloud-3.5.1/libcloud/compute/drivers/ec2.py
+Index: apache_libcloud-3.9.0/libcloud/compute/drivers/ec2.py
===================================================================
---- apache-libcloud-3.5.1.orig/libcloud/compute/drivers/ec2.py
-+++ apache-libcloud-3.5.1/libcloud/compute/drivers/ec2.py
-@@ -1622,12 +1622,18 @@ class BaseEC2NodeDriver(NodeDriver):
+--- apache_libcloud-3.9.0.orig/libcloud/compute/drivers/ec2.py
++++ apache_libcloud-3.9.0/libcloud/compute/drivers/ec2.py
+@@ -1620,12 +1620,18 @@ class BaseEC2NodeDriver(NodeDriver):
on-demand price will be used.
:type ex_spot_max_price: ``float``
"""
++++++ fix-tests-python313.patch ++++++
>From c2bd6f4c096982d89a2e99114697b0ff1fa80176 Mon Sep 17 00:00:00 2001
From: Miguel Caballer <[email protected]>
Date: Tue, 17 Feb 2026 08:55:42 +0100
Subject: [PATCH] Fix error in py313
---
libcloud/test/common/test_openstack_identity.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Index: apache_libcloud-3.9.0/libcloud/test/common/test_openstack_identity.py
===================================================================
--- apache_libcloud-3.9.0.orig/libcloud/test/common/test_openstack_identity.py
+++ apache_libcloud-3.9.0/libcloud/test/common/test_openstack_identity.py
@@ -235,7 +235,7 @@ class OpenStackIdentityConnectionTestCas
osa.auth_token = None
osa.auth_token_expires = YESTERDAY
- mocked_auth_method.call_count = 0
+ mocked_auth_method.reset_mock()
self.assertEqual(mocked_auth_method.call_count, 0)
for i in range(0, count):
@@ -246,7 +246,7 @@ class OpenStackIdentityConnectionTestCas
# No force reauth, valid / non-expired token
osa.auth_token = None
- mocked_auth_method.call_count = 0
+ mocked_auth_method.reset_mock()
self.assertEqual(mocked_auth_method.call_count, 0)
for i in range(0, count):
@@ -264,7 +264,7 @@ class OpenStackIdentityConnectionTestCas
)
osa.auth_token = None
- mocked_auth_method.call_count = 0
+ mocked_auth_method.reset_mock()
self.assertEqual(mocked_auth_method.call_count, 0)
for i in range(0, count):
++++++ gce_image_projects.patch ++++++
--- /var/tmp/diff_new_pack.m4JMjn/_old 2026-02-18 17:04:41.667887346 +0100
+++ /var/tmp/diff_new_pack.m4JMjn/_new 2026-02-18 17:04:41.675887679 +0100
@@ -1,8 +1,8 @@
-Index: apache-libcloud-3.5.1/libcloud/compute/drivers/gce.py
+Index: apache_libcloud-3.9.0/libcloud/compute/drivers/gce.py
===================================================================
---- apache-libcloud-3.5.1.orig/libcloud/compute/drivers/gce.py
-+++ apache-libcloud-3.5.1/libcloud/compute/drivers/gce.py
-@@ -1981,12 +1981,19 @@ class GCENodeDriver(NodeDriver):
+--- apache_libcloud-3.9.0.orig/libcloud/compute/drivers/gce.py
++++ apache_libcloud-3.9.0/libcloud/compute/drivers/gce.py
+@@ -2040,12 +2040,19 @@ class GCENodeDriver(NodeDriver):
"debian-cloud": ["debian-8", "debian-9", "debian-10"],
"opensuse-cloud": ["opensuse-leap"],
"rhel-cloud": ["rhel-6", "rhel-7", "rhel-8"],
@@ -23,7 +23,7 @@
"suse-manager-proxy-byos",
"suse-manager-server-byos",
],
-@@ -1994,7 +2001,13 @@ class GCENodeDriver(NodeDriver):
+@@ -2053,7 +2060,13 @@ class GCENodeDriver(NodeDriver):
"sles-12-sp2-sap",
"sles-12-sp3-sap",
"sles-12-sp4-sap",
++++++ python-apache-libcloud.keyring ++++++
--- /var/tmp/diff_new_pack.m4JMjn/_old 2026-02-18 17:04:41.727889844 +0100
+++ /var/tmp/diff_new_pack.m4JMjn/_new 2026-02-18 17:04:41.731890010 +0100
@@ -1910,4 +1910,63 @@
xoCEep5WBCdnai/8Cwy6UfVroiULmbAPwzOKiA==
=1bMz
-----END PGP PUBLIC KEY BLOCK-----
+pub rsa4096 2026-01-29 [SC]
+ 850E0FCB27978A253F91A1B4A0EAB893EA695D58
+uid [ absoluta ] Miguel Caballer (Apache account) <[email protected]>
+sig 3 A0EAB893EA695D58 2026-01-29 [autofirma]
+sub rsa4096 2026-01-29 [E]
+sig A0EAB893EA695D58 2026-01-29 [autofirma]
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+vjsK0wu+5WeIMraJXVyMsAbrIc0=
+=3l6w
+-----END PGP PUBLIC KEY BLOCK-----