From 08f3206e4c6976e1c552e11c0a8ad2016f006687 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Partheym=C3=BCller?= Date: Thu, 4 Sep 2025 09:33:48 +0200 Subject: [PATCH 1/7] jsonpath-rw-ext: Remove discover dependency This alias has been removed and was probably never needed anyway. On-behalf-of: SAP markus.partheymueller@sap.com --- packages/jsonpath-rw-ext.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/jsonpath-rw-ext.nix b/packages/jsonpath-rw-ext.nix index 6e44e71..76f6ad4 100644 --- a/packages/jsonpath-rw-ext.nix +++ b/packages/jsonpath-rw-ext.nix @@ -1,5 +1,4 @@ { - discover, fetchPypi, python3Packages, }: @@ -32,7 +31,6 @@ python3Packages.buildPythonPackage rec { checkInputs = [ coverage - discover hacking oslotest python-subunit From 21215799b1e9f3fa080dd8b1b02d9388bd00b8fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Partheym=C3=BCller?= Date: Thu, 4 Sep 2025 10:15:12 +0200 Subject: [PATCH 2/7] oslo-db: Pin sqlalchemy to previous version On-behalf-of: SAP markus.partheymueller@sap.com --- packages/default.nix | 2 ++ packages/oslo-db.nix | 4 ++-- packages/sqlalchemy.nix | 28 ++++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 packages/sqlalchemy.nix diff --git a/packages/default.nix b/packages/default.nix index 45aaddc..bb2561d 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -440,6 +440,7 @@ let oslotest pre-commit python3Packages + sqlalchemy ; }; oslo-i18n = callPackage ./oslo-i18n.nix { inherit python3Packages; }; @@ -705,6 +706,7 @@ let sphinxcontrib-svg2pdfconverter = callPackage ./sphinxcontrib-svg2pdfconverter.nix { inherit python3Packages; }; + sqlalchemy = callPackage ./sqlalchemy.nix { inherit python3Packages; }; suds-community = callPackage ./suds-community.nix { inherit python3Packages; }; taskflow = callPackage ./taskflow.nix { inherit diff --git a/packages/oslo-db.nix b/packages/oslo-db.nix index 2b56d70..b691f41 100644 --- a/packages/oslo-db.nix +++ b/packages/oslo-db.nix @@ -8,6 +8,7 @@ pifpaf, pre-commit, python3Packages, + sqlalchemy, }: let inherit (python3Packages) @@ -21,7 +22,6 @@ let psycopg2 pymysql python-subunit - sqlalchemy stestr stevedore testresources @@ -34,7 +34,7 @@ python3Packages.buildPythonPackage rec { version = "17.0.0"; propagatedBuildInputs = [ - alembic + (alembic.override { inherit sqlalchemy; }) debtcollector oslo-config oslo-i18n diff --git a/packages/sqlalchemy.nix b/packages/sqlalchemy.nix new file mode 100644 index 0000000..0242797 --- /dev/null +++ b/packages/sqlalchemy.nix @@ -0,0 +1,28 @@ +{ + fetchPypi, + python3Packages, +}: +let + inherit (python3Packages) + typing-extensions + ; +in +python3Packages.buildPythonPackage rec { + pname = "sqlalchemy"; + version = "2.0.34"; + + propagatedBuildInputs = [ + typing-extensions + ]; + + nativeCheckInputs = [ + ]; + + checkInputs = [ + ]; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-ENjzaZDdkpaQZmZ5sPQiNcFZpwUVNK2xNXKO5Sgo3SI="; + }; +} From 2f2776d8d02b4efdd9047b54d5dc3b0aa71f603d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Partheym=C3=BCller?= Date: Thu, 4 Sep 2025 10:36:06 +0200 Subject: [PATCH 3/7] python-cinderclient: Use previous version On-behalf-of: SAP markus.partheymueller@sap.com --- packages/default.nix | 2 +- packages/python-cinderclient.nix | 72 ++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 packages/python-cinderclient.nix diff --git a/packages/default.nix b/packages/default.nix index bb2561d..c6bef14 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -645,7 +645,7 @@ let reno ; }; - python-cinderclient = python3Packages.python-cinderclient.override { + python-cinderclient = callPackage ./python-cinderclient.nix { inherit keystoneauth1 oslo-i18n diff --git a/packages/python-cinderclient.nix b/packages/python-cinderclient.nix new file mode 100644 index 0000000..890e18a --- /dev/null +++ b/packages/python-cinderclient.nix @@ -0,0 +1,72 @@ +{ + python3Packages, + keystoneauth1, + oslo-i18n, + oslo-serialization, + oslo-utils, + reno, +}: +let + inherit (python3Packages) + ddt + pbr + requests + openstackdocstheme + prettytable + pythonOlder + requests-mock + setuptools + simplejson + sphinxHook + stestr + stevedore + ; +in +python3Packages.buildPythonPackage rec { + pname = "python-cinderclient"; + version = "9.6.0"; + pyproject = true; + + disabled = pythonOlder "3.9"; + + src = python3Packages.fetchPypi { + inherit pname version; + hash = "sha256-P+/eJoJS5S4w/idz9lgienjG3uN4/LEy0xyG5uybojg="; + }; + + nativeBuildInputs = [ + openstackdocstheme + reno + sphinxHook + ]; + + sphinxBuilders = [ "man" ]; + + build-system = [ setuptools ]; + + dependencies = [ + simplejson + keystoneauth1 + oslo-i18n + oslo-utils + pbr + prettytable + requests + stevedore + ]; + + nativeCheckInputs = [ + ddt + oslo-serialization + requests-mock + stestr + ]; + + checkPhase = '' + runHook preCheck + stestr run + runHook postCheck + ''; + + pythonImportsCheck = [ "cinderclient" ]; +} From fe9d7076d0640ee2575855a3463f7690169123bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Partheym=C3=BCller?= Date: Thu, 4 Sep 2025 14:32:15 +0200 Subject: [PATCH 4/7] sqlalchemy: Propagate older version On-behalf-of: SAP markus.partheymueller@sap.com --- packages/default.nix | 5 +++ packages/keystone.nix | 2 +- packages/neutron-lib.nix | 2 +- packages/neutron.nix | 2 +- packages/nova.nix | 4 +- packages/openstack-placement.nix | 2 +- packages/osc-lib.nix | 65 ++++++++++++++++++++++++++++++++ 7 files changed, 76 insertions(+), 6 deletions(-) create mode 100644 packages/osc-lib.nix diff --git a/packages/default.nix b/packages/default.nix index c6bef14..370af83 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -156,6 +156,7 @@ let osprofiler python-keystoneclient python3Packages + sqlalchemy ; }; keystoneauth1 = callPackage ./keystoneauth1.nix { @@ -213,6 +214,7 @@ let oslotest osprofiler python3Packages + sqlalchemy ; }; neutron = callPackage ./neutron.nix { @@ -252,6 +254,7 @@ let python-neutronclient python-novaclient python3Packages + sqlalchemy tooz ; }; @@ -295,6 +298,7 @@ let python-glanceclient python-neutronclient python3Packages + sqlalchemy tooz ; }; @@ -315,6 +319,7 @@ let oslo-utils oslotest python3Packages + sqlalchemy ; }; os-brick = callPackage ./os-brick.nix { diff --git a/packages/keystone.nix b/packages/keystone.nix index 5f7dab2..92c69e7 100644 --- a/packages/keystone.nix +++ b/packages/keystone.nix @@ -13,6 +13,7 @@ osprofiler, python-keystoneclient, python3Packages, + sqlalchemy, which, }: let @@ -36,7 +37,6 @@ let pymysql pysaml2 requests - sqlalchemy stestr tempest testresources diff --git a/packages/neutron-lib.nix b/packages/neutron-lib.nix index e7a32b8..a2f8be4 100644 --- a/packages/neutron-lib.nix +++ b/packages/neutron-lib.nix @@ -18,6 +18,7 @@ oslotest, osprofiler, python3Packages, + sqlalchemy, }: let inherit (python3Packages) @@ -33,7 +34,6 @@ let pylint python-subunit setproctitle - sqlalchemy stestr stevedore testresources diff --git a/packages/neutron.nix b/packages/neutron.nix index 8865734..f9e0945 100644 --- a/packages/neutron.nix +++ b/packages/neutron.nix @@ -37,6 +37,7 @@ python-neutronclient, python-novaclient, python3Packages, + sqlalchemy, tooz, writeScript, }: @@ -64,7 +65,6 @@ let python-subunit requests routes - sqlalchemy stestr tenacity testresources diff --git a/packages/nova.nix b/packages/nova.nix index d92f9b7..692f616 100644 --- a/packages/nova.nix +++ b/packages/nova.nix @@ -40,6 +40,7 @@ python-glanceclient, python-neutronclient, python3Packages, + sqlalchemy, tooz, writeScript, }: @@ -79,7 +80,6 @@ let retrying rfc3986 routes - sqlalchemy stestr stevedore testresources @@ -108,7 +108,7 @@ python3Packages.buildPythonPackage (rec { ]; propagatedBuildInputs = [ - alembic + (alembic.override { inherit sqlalchemy; }) castellan cryptography cursive diff --git a/packages/openstack-placement.nix b/packages/openstack-placement.nix index 818e287..7cb8d42 100644 --- a/packages/openstack-placement.nix +++ b/packages/openstack-placement.nix @@ -15,6 +15,7 @@ oslo-utils, oslotest, python3Packages, + sqlalchemy, }: let inherit (python3Packages) @@ -22,7 +23,6 @@ let pbr pymysql routes - sqlalchemy stestr ; in diff --git a/packages/osc-lib.nix b/packages/osc-lib.nix new file mode 100644 index 0000000..0fc6444 --- /dev/null +++ b/packages/osc-lib.nix @@ -0,0 +1,65 @@ +{ + python3Packages, + fetchFromGitHub, + oslo-i18n, + oslo-utils, + openstacksdk, +}: +let + inherit (python3Packages) + cliff + pbr + pythonOlder + requests-mock + setuptools + requests + stestr + ; +in +python3Packages.buildPythonPackage rec { + pname = "osc-lib"; + version = "3.1.0"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "openstack"; + repo = "osc-lib"; + rev = version; + hash = "sha256-DDjWM4hjHPXYDeAJ6FDZZPzi65DG1rJ3efs8MouX1WY="; + }; + + # fake version to make pbr.packaging happy and not reject it... + PBR_VERSION = version; + + build-system = [ + pbr + setuptools + ]; + + dependencies = [ + cliff + openstacksdk + oslo-i18n + oslo-utils + requests + ]; + + nativeCheckInputs = [ + requests-mock + stestr + ]; + + checkPhase = '' + # tests parse cli output which slightly changed + stestr run -e <(echo " + osc_lib.tests.utils.test_tags.TestTagHelps.test_add_tag_filtering_option_to_parser + osc_lib.tests.utils.test_tags.TestTagHelps.test_add_tag_option_to_parser_for_create + osc_lib.tests.utils.test_tags.TestTagHelps.test_add_tag_option_to_parser_for_set + osc_lib.tests.utils.test_tags.TestTagHelps.test_add_tag_option_to_parser_for_unset + ") + ''; + + pythonImportsCheck = [ "osc_lib" ]; +} From b0fdaf52fd69cec02e388d066ef486701069228e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Partheym=C3=BCller?= Date: Thu, 4 Sep 2025 14:32:36 +0200 Subject: [PATCH 5/7] openstacksdk: Use older version On-behalf-of: SAP markus.partheymueller@sap.com --- packages/default.nix | 4 +- packages/openstacksdk.nix | 79 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 packages/openstacksdk.nix diff --git a/packages/default.nix b/packages/default.nix index 370af83..03b3c17 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -191,7 +191,7 @@ let python3Packages ; }; - openstacksdk = python3Packages.openstacksdk.override { + openstacksdk = callPackage ./openstacksdk.nix { inherit keystoneauth1; }; neutron-lib = callPackage ./neutron-lib.nix { @@ -397,7 +397,7 @@ let python3Packages ; }; - osc-lib = python3Packages.osc-lib.override { + osc-lib = callPackage ./osc-lib.nix { inherit openstacksdk oslo-i18n diff --git a/packages/openstacksdk.nix b/packages/openstacksdk.nix new file mode 100644 index 0000000..3ddb65a --- /dev/null +++ b/packages/openstacksdk.nix @@ -0,0 +1,79 @@ +{ + keystoneauth1, + python3Packages, +}: +let + inherit (python3Packages) + platformdirs + cryptography + dogpile-cache + jmespath + jsonpatch + munch + netifaces + openstackdocstheme + os-service-types + pbr + pythonOlder + pyyaml + requestsexceptions + setuptools + sphinxHook + ; +in +python3Packages.buildPythonPackage rec { + pname = "openstacksdk"; + version = "4.0.0"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + outputs = [ + "out" + "man" + ]; + + src = python3Packages.fetchPypi { + inherit pname version; + hash = "sha256-54YN2WtwUxMJI8EdVx0lgCuWjx4xOIRct8rHxrMzv0s="; + }; + + postPatch = '' + # Disable rsvgconverter not needed to build manpage + substituteInPlace doc/source/conf.py \ + --replace-fail "'sphinxcontrib.rsvgconverter'," "#'sphinxcontrib.rsvgconverter'," + ''; + + nativeBuildInputs = [ + openstackdocstheme + sphinxHook + ]; + + sphinxBuilders = [ "man" ]; + + build-system = [ setuptools ]; + + dependencies = [ + platformdirs + cryptography + dogpile-cache + jmespath + jsonpatch + keystoneauth1 + munch + netifaces + os-service-types + pbr + requestsexceptions + pyyaml + ]; + + # Checks moved to 'passthru.tests' to workaround slowness + doCheck = false; + + #passthru.tests = { + # tests = callPackage ./tests.nix { }; + #}; + + pythonImportsCheck = [ "openstack" ]; +} From 6eb08fa8ecf409abded950183c02a06c186d494c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Partheym=C3=BCller?= Date: Thu, 4 Sep 2025 14:33:14 +0200 Subject: [PATCH 6/7] nix: Update to NixOS 25.05 On-behalf-of: SAP markus.partheymueller@sap.com --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 228d2a0..aaed65a 100644 --- a/flake.lock +++ b/flake.lock @@ -56,16 +56,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1751274312, - "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=", + "lastModified": 1756754095, + "narHash": "sha256-9Rsn9XEWINExosFkKEqdp8EI6Mujr1gmQiyrEcts2ls=", "owner": "nixos", "repo": "nixpkgs", - "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674", + "rev": "7c815e513adbf03c9098b2bd230c1e0525c8a7f9", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index dc00fba..414e33c 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,7 @@ description = "OpenStack Packages and Modules for NixOS"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.11"; + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-25.05"; pre-commit-hooks-nix = { url = "github:cachix/pre-commit-hooks.nix"; inputs.nixpkgs.follows = "nixpkgs"; From b71cc2d9909855d85b520b24b6212a5ef631b04f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Partheym=C3=BCller?= Date: Fri, 5 Sep 2025 09:29:17 +0200 Subject: [PATCH 7/7] reno: Fix hash mismatch On-behalf-of: SAP markus.partheymueller@sap.com --- packages/reno.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/reno.nix b/packages/reno.nix index 13b077c..45a46c4 100644 --- a/packages/reno.nix +++ b/packages/reno.nix @@ -55,7 +55,7 @@ python3Packages.buildPythonPackage rec { owner = "openstack"; repo = "reno"; rev = "${version}"; - sha256 = "sha256-SPepaOvq4LKV6EBmgXrlAku1Ug5Y1Zq7pjxkNPdrqVg="; + sha256 = "sha256-zB/iAR0YV3QaQVshCva24OgvRokT+lDeTXGeHi6XkUA="; leaveDotGit = true; }; }