[Backport release-26.05] python3Packages.openstack*: updates (#525039)

This commit is contained in:
Michael Daniels 2026-06-01 01:43:42 +00:00 committed by GitHub
commit a91684e281
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 114 additions and 86 deletions

View file

@ -1,54 +1,68 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
callPackage,
fetchPypi,
platformdirs,
pbr,
setuptools,
# direct
cryptography,
dogpile-cache,
jmespath,
jsonpatch,
keystoneauth1,
munch,
openstackdocstheme,
os-service-types,
pbr,
platformdirs,
psutil,
pyyaml,
requestsexceptions,
setuptools,
# docs
sphinxHook,
openstackdocstheme,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "openstacksdk";
version = "4.10.0";
version = "4.13.0";
pyproject = true;
outputs = [
"out"
"man"
];
src = fetchPypi {
inherit pname version;
hash = "sha256-Xd6a4/HiQRqH/1ey142lP6yOrp5brI5YcJJ8ti3fwDM=";
src = fetchFromGitHub {
owner = "openstack";
repo = "openstacksdk";
tag = finalAttrs.version;
hash = "sha256-nMpUNLz7OosoGd5rozWcOcOEf3jdEHo5dhxmOv0xONw=";
};
patches = [
./fix-pyproject.patch
];
postPatch = ''
# Disable rsvgconverter not needed to build manpage
substituteInPlace doc/source/conf.py \
--replace-fail "'sphinxcontrib.rsvgconverter'," "#'sphinxcontrib.rsvgconverter',"
'';
nativeBuildInputs = [
openstackdocstheme
sphinxHook
env.PBR_VERSION = finalAttrs.version;
build-system = [
pbr
setuptools
];
outputs = [
"out"
"man"
];
sphinxBuilders = [ "man" ];
build-system = [ setuptools ];
nativeBuildInputs = [
openstackdocstheme
sphinxHook
];
dependencies = [
platformdirs
@ -59,9 +73,7 @@ buildPythonPackage rec {
keystoneauth1
munch
os-service-types
pbr
psutil
requestsexceptions
pyyaml
];
@ -72,13 +84,20 @@ buildPythonPackage rec {
tests = callPackage ./tests.nix { };
};
pythonImportsCheck = [ "openstack" ];
# Non-exhaustive imports
pythonImportsCheck = [
"openstack"
"openstack.config.loader"
"openstack.compute.v2.server"
"openstack.test"
];
meta = {
description = "SDK for building applications to work with OpenStack";
mainProgram = "openstack-inventory";
homepage = "https://github.com/openstack/openstacksdk";
description = "SDK for building applications to work with OpenStack clouds.";
mainProgram = "openstack";
homepage = "https://docs.openstack.org/openstacksdk/latest/";
downloadPage = "https://github.com/openstack/openstacksdk/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
teams = [ lib.teams.openstack ];
};
}
})

View file

@ -0,0 +1,19 @@
diff --git a/pyproject.toml b/pyproject.toml
index 7c1c1ce58..4e9f3a493 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -33,8 +33,12 @@ Repository = "https://opendev.org/openstack/openstacksdk/"
# TODO(mordred) Move this to an OSC command at some point
openstack-inventory = "openstack.cloud.cmd.inventory:main"
+[tool.setuptools.package-data]
+"*" = ["**/*"]
+
[tool.setuptools.packages.find]
-include = ["openstack"]
+where = ["."]
+include = ["openstack", "openstack.*"]
[tool.mypy]
python_version = "3.11"

View file

@ -1,15 +1,14 @@
{
buildPythonPackage,
stestrCheckHook,
ddt,
hacking,
jsonschema,
lib,
openstacksdk,
oslo-config,
oslotest,
prometheus-client,
requests-mock,
stdenv,
stestr,
testscenarios,
}:
@ -23,6 +22,7 @@ buildPythonPackage {
dontInstall = true;
nativeCheckInputs = [
stestrCheckHook
ddt
hacking
jsonschema
@ -35,32 +35,31 @@ buildPythonPackage {
testscenarios
];
checkPhase = ''
stestr run -e <(echo "
openstack.tests.unit.cloud.test_baremetal_node.TestBaremetalNode.test_inspect_machine_available_wait
openstack.tests.unit.cloud.test_baremetal_node.TestBaremetalNode.test_inspect_machine_inspect_failed
openstack.tests.unit.cloud.test_baremetal_node.TestBaremetalNode.test_inspect_machine_wait
openstack.tests.unit.cloud.test_baremetal_node.TestBaremetalNode.test_wait_for_baremetal_node_lock_locked
openstack.tests.unit.cloud.test_volume_backups.TestVolumeBackups.test_delete_volume_backup_force
openstack.tests.unit.cloud.test_volume_backups.TestVolumeBackups.test_delete_volume_backup_wait
openstack.tests.unit.image.v2.test_proxy.TestTask.test_wait_for_task_error_396
openstack.tests.unit.image.v2.test_proxy.TestTask.test_wait_for_task_wait
openstack.tests.unit.test_resource.TestWaitForDelete.test_callback
openstack.tests.unit.test_resource.TestWaitForDelete.test_status
openstack.tests.unit.test_resource.TestWaitForDelete.test_success_not_found
openstack.tests.unit.test_resource.TestWaitForStatus.test_callback
openstack.tests.unit.test_resource.TestWaitForStatus.test_callback_without_progress
openstack.tests.unit.test_resource.TestWaitForStatus.test_status_fails
openstack.tests.unit.test_resource.TestWaitForStatus.test_status_fails_different_attribute
openstack.tests.unit.test_resource.TestWaitForStatus.test_status_match
openstack.tests.unit.test_resource.TestWaitForStatus.test_status_match_different_attribute
openstack.tests.unit.test_resource.TestWaitForStatus.test_status_match_none
openstack.tests.unit.test_stats.TestStats.test_list_projects
openstack.tests.unit.test_stats.TestStats.test_projects
openstack.tests.unit.test_stats.TestStats.test_servers
openstack.tests.unit.test_stats.TestStats.test_servers_error
openstack.tests.unit.test_stats.TestStats.test_servers_no_detail
openstack.tests.unit.test_stats.TestStats.test_timeout
")
'';
disabledTests = [
"openstack.tests.unit.config.test_config.TestConfig.test_force_ipv4_false"
"openstack.tests.unit.cloud.test_volume_backups.TestVolumeBackups.test_delete_volume_backup_force"
"openstack.tests.unit.cloud.test_volume_backups.TestVolumeBackups.test_delete_volume_backup_wait"
"openstack.tests.unit.cloud.test_volume_backups.TestVolumeBackups.test_delete_volume_backup_force"
"openstack.tests.unit.cloud.test_volume_backups.TestVolumeBackups.test_delete_volume_backup_wait"
"openstack.tests.unit.image.v2.test_proxy.TestTask.test_wait_for_task_wait"
"openstack.tests.unit.image.v2.test_proxy.TestTask.test_wait_for_task_error_396"
"openstack.tests.unit.test_resource.TestWaitForDelete.test_success_not_found"
"openstack.tests.unit.test_resource.TestWaitForDelete.test_status"
"openstack.tests.unit.test_resource.TestWaitForDelete.test_callback"
"openstack.tests.unit.test_resource.TestWaitForStatus.test_callback"
"openstack.tests.unit.test_resource.TestWaitForStatus.test_callback_without_progress"
"openstack.tests.unit.test_resource.TestWaitForStatus.test_status_match"
"openstack.tests.unit.test_resource.TestWaitForStatus.test_status_match_none"
"openstack.tests.unit.test_resource.TestWaitForStatus.test_status_match_with_none"
"openstack.tests.unit.test_resource.TestWaitForStatus.test_status_match_different_attribute"
"openstack.tests.unit.test_resource.TestWaitForStatus.test_status_fails"
"openstack.tests.unit.test_resource.TestWaitForStatus.test_status_fails_different_attribute"
"openstack.tests.unit.test_stats.TestStats.test_servers"
"openstack.tests.unit.test_stats.TestStats.test_servers_error"
"openstack.tests.unit.test_stats.TestStats.test_servers_no_detail"
"openstack.tests.unit.test_stats.TestStats.test_projects"
"openstack.tests.unit.test_stats.TestStats.test_list_projects"
"openstack.tests.unit.test_stats.TestStats.test_timeout"
];
}

View file

@ -8,7 +8,6 @@
oslo-i18n,
oslo-utils,
pbr,
pythonAtLeast,
requests,
requests-mock,
setuptools,
@ -19,7 +18,7 @@
buildPythonPackage rec {
pname = "osc-lib";
version = "4.5.0";
version = "4.6.0";
pyproject = true;
src = fetchFromGitHub {
@ -57,18 +56,12 @@ buildPythonPackage rec {
checkPhase =
let
disabledTests =
lib.optionals stdenv.hostPlatform.isDarwin [
"osc_lib.tests.test_shell.TestShellCli.test_shell_args_cloud_public"
"osc_lib.tests.test_shell.TestShellCli.test_shell_args_precedence"
"osc_lib.tests.test_shell.TestShellCliPrecedence.test_shell_args_precedence_1"
"osc_lib.tests.test_shell.TestShellCliPrecedence.test_shell_args_precedence_2"
]
++ lib.optionals (pythonAtLeast "3.14") [
# Disable test incompatible with Python 3.14+
# See upstream issue: https://bugs.launchpad.net/python-openstackclient/+bug/2138684
"osc_lib.tests.utils.test_tags.TestTagHelps"
];
disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
"osc_lib.tests.test_shell.TestShellCli.test_shell_args_cloud_public"
"osc_lib.tests.test_shell.TestShellCli.test_shell_args_precedence"
"osc_lib.tests.test_shell.TestShellCliPrecedence.test_shell_args_precedence_1"
"osc_lib.tests.test_shell.TestShellCliPrecedence.test_shell_args_precedence_2"
];
in
''
runHook preCheck

View file

@ -3,6 +3,7 @@
buildPythonPackage,
fetchFromGitHub,
ddt,
hacking,
installShellFiles,
openstackdocstheme,
osc-lib,
@ -35,14 +36,14 @@
buildPythonPackage (finalAttrs: {
pname = "python-openstackclient";
version = "9.0.0";
version = "10.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "openstack";
repo = "python-openstackclient";
tag = finalAttrs.version;
hash = "sha256-iqHm3vOENStdGI53Ggln/gWVnF3Lyomel9OFmwz2CJc=";
hash = "sha256-UczEgOtZz4roIFg1R6RDGg0tiiiT6lAgJCdgpmK0960=";
};
patches = [
@ -76,12 +77,14 @@ buildPythonPackage (finalAttrs: {
nativeCheckInputs = [
ddt
hacking
requests-mock
stestrCheckHook
];
disabledTestsRegex = [
"openstackclient.tests.unit.common.test_module.TestModuleList*"
"openstackclient.tests.unit.common.test_clientmanager.TestClientManager*"
];
pythonImportsCheck = [

View file

@ -1,18 +1,13 @@
diff --git a/pyproject.toml b/pyproject.toml
index 37fb8d0c..21571714 100644
index 50d90b4c..b256bb2a 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -730,10 +730,9 @@ volume_transfer_request_show = "openstackclient.volume.v3.volume_transfer_reques
volume_summary = "openstackclient.volume.v3.volume:VolumeSummary"
@@ -776,7 +776,7 @@ volume_summary = "openstackclient.volume.v3.volume:VolumeSummary"
volume_revert = "openstackclient.volume.v3.volume:VolumeRevertToSnapshot"
-[tool.setuptools]
-packages = [
- "openstackclient"
-]
+[tool.setuptools.packages.find]
+where = ["."]
+include = ["openstackclient*"]
[tool.setuptools.packages.find]
-include = ["openstackclient"]
+include = ["openstackclient", "openstackclient.*"]
[tool.mypy]
python_version = "3.10"
python_version = "3.11"

View file

@ -19,14 +19,14 @@
buildPythonPackage rec {
pname = "python-otcextensions";
version = "0.32.29";
version = "0.34.1";
pyproject = true;
src = fetchFromGitHub {
owner = "opentelekomcloud";
repo = "python-otcextensions";
tag = version;
hash = "sha256-hqxCnIfVJPnlwree0+kY9iXXjPMoGd06tVT+yT6rex8=";
hash = "sha256-zD7kvm1/GrhwokXK1I35g2HMD6kUU87MnmQ37GtSO2Q=";
};
env.PBR_VERSION = version;