diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix index d304498ec5937e3..f88125e56ccc53d 100644 --- a/maintainers/team-list.nix +++ b/maintainers/team-list.nix @@ -753,6 +753,7 @@ with lib.maintainers; members = [ SuperSandro2000 anthonyroussel + vinetos ]; scope = "Maintain the ecosystem around OpenStack"; shortName = "OpenStack"; diff --git a/pkgs/development/python-modules/doc8/default.nix b/pkgs/development/python-modules/doc8/default.nix index bd47412044f6b44..68c9377d3bffe8e 100644 --- a/pkgs/development/python-modules/doc8/default.nix +++ b/pkgs/development/python-modules/doc8/default.nix @@ -53,6 +53,8 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook ]; + pythonRelaxDeps = [ "docutils" ]; + pythonImportsCheck = [ "doc8" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/os-client-config/default.nix b/pkgs/development/python-modules/os-client-config/default.nix new file mode 100644 index 000000000000000..e06fa9be9f4be97 --- /dev/null +++ b/pkgs/development/python-modules/os-client-config/default.nix @@ -0,0 +1,62 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + fixtures, + hacking, + jsonschema, + openstacksdk, + oslotest, + python-glanceclient, + setuptools, + stestr, + subunit, + testscenarios, + testtools, +}: + +buildPythonPackage rec { + pname = "os-client-config"; + version = "2.1.0"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-q8OKNR+MAG009+5fP2SN5ePs9kVcxdds/YidKRzfP04="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + openstacksdk + python-glanceclient + ]; + + nativeCheckInputs = [ + hacking + fixtures + jsonschema + subunit + oslotest + stestr + testscenarios + testtools + ]; + + checkPhase = '' + runHook preCheck + + stestr run + + runHook postCheck + ''; + + pythonImportsCheck = [ "os_client_config" ]; + + meta = with lib; { + homepage = "https://opendev.org/openstack/os-client-config"; + description = "Collect client configuration for using OpenStack in consistent and comprehensive manner"; + license = licenses.asl20; + maintainers = teams.openstack.members; + }; +} diff --git a/pkgs/development/python-modules/osprofiler/default.nix b/pkgs/development/python-modules/osprofiler/default.nix new file mode 100644 index 000000000000000..546d7e5fedf6509 --- /dev/null +++ b/pkgs/development/python-modules/osprofiler/default.nix @@ -0,0 +1,51 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + netaddr, + oslo-concurrency, + oslo-serialization, + oslo-utils, + prettytable, + requests, + setuptools, + webob, +}: + +buildPythonPackage rec { + pname = "osprofiler"; + version = "4.1.0"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-V4N7YgWBsTREouIFZHddT8c+/2fHiIr5mUftWC/lFLA="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + netaddr + oslo-concurrency + oslo-serialization + oslo-utils + prettytable + requests + webob + ]; + + # NOTE(vinetos): OSProfiler depends on jeager-client which use opentracing + # Opentracing and jeager-client are archived since 2022. + # As this package is made only to support old OpenStack clients and bindings, + # We do not really care + doCheck = false; + + pythonImportsCheck = [ "osprofiler" ]; + + meta = with lib; { + description = "OpenStack Library to profile request between all involved services"; + homepage = "https://opendev.org/openstack/osprofiler/"; + license = licenses.asl20; + maintainers = teams.openstack.members; + }; +} diff --git a/pkgs/development/python-modules/python-neutronclient/default.nix b/pkgs/development/python-modules/python-neutronclient/default.nix new file mode 100644 index 000000000000000..0c68f8c086db3e5 --- /dev/null +++ b/pkgs/development/python-modules/python-neutronclient/default.nix @@ -0,0 +1,98 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools, + # Build and Runtime + pbr, + cliff, + debtcollector, + iso8601, + netaddr, + openstacksdk, + osc-lib, + oslo-i18n, + oslo-log, + oslo-serialization, + oslo-utils, + os-client-config, + keystoneauth1, + python-keystoneclient, + requests, + hacking, + # Tests + fixtures, + oslotest, + osprofiler, + python-openstackclient, + subunit, + requests-mock, + stestr, + testtools, + testscenarios, + tempest, +}: + +buildPythonPackage rec { + pname = "python-neutronclient"; + version = "11.3.1"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-U82ZI/Q6OwdypA41YfdGVa3IA4+QJhqz3gW2IR0S7cs="; + }; + + build-system = [ + setuptools + pbr + ]; + + dependencies = [ + cliff + debtcollector + iso8601 + netaddr + openstacksdk + osc-lib + oslo-i18n + oslo-log + oslo-serialization + oslo-utils + os-client-config + keystoneauth1 + python-keystoneclient + requests + ]; + + nativeCheckInputs = [ + hacking + fixtures + oslotest + osprofiler + python-openstackclient + subunit + requests-mock + stestr + testtools + testscenarios + tempest + ]; + + checkPhase = '' + runHook preCheck + + stestr run + + runHook postCheck + ''; + + pythonImportsCheck = [ "neutronclient" ]; + + meta = with lib; { + description = "Python bindings for the OpenStack Networking API"; + homepage = "https://opendev.org/openstack/python-neutronclient/"; + license = licenses.asl20; + maintainers = teams.openstack.members; + }; +} diff --git a/pkgs/development/python-modules/python-octaviaclient/default.nix b/pkgs/development/python-modules/python-octaviaclient/default.nix new file mode 100644 index 000000000000000..7b9017618e8ffe2 --- /dev/null +++ b/pkgs/development/python-modules/python-octaviaclient/default.nix @@ -0,0 +1,89 @@ +{ + lib, + buildPythonPackage, + cliff, + doc8, + docutils, + fetchPypi, + hacking, + keystoneauth1, + openstackclient, + openstackdocstheme, + osc-lib, + oslotest, + oslo-serialization, + oslo-utils, + pbr, + pygments, + python-neutronclient, + requests, + requests-mock, + setuptools, + sphinx, + sphinxcontrib-apidoc, + stestr, + subunit, + testscenarios, +}: + +buildPythonPackage rec { + pname = "python-octaviaclient"; + version = "3.7.0"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-wAGxByeRBOwdWZg2DwVpt1yGi5er3KQ/qhyRVAwaKe4="; + }; + + build-system = [ + setuptools + pbr + ]; + + nativeBuildInputs = [ + openstackdocstheme + sphinx + sphinxcontrib-apidoc + ]; + + dependencies = [ + cliff + keystoneauth1 + python-neutronclient + openstackclient + osc-lib + oslo-serialization + oslo-utils + requests + ]; + + nativeCheckInputs = [ + hacking + requests-mock + doc8 + docutils + pygments + subunit + oslotest + stestr + testscenarios + ]; + + checkPhase = '' + runHook preCheck + + stestr run + + runHook postCheck + ''; + + pythonImportsCheck = [ "octaviaclient" ]; + + meta = with lib; { + description = "OpenStack Octavia Command-line Client"; + homepage = "https://opendev.org/openstack/python-octaviaclient/"; + license = licenses.asl20; + maintainers = teams.openstack.members; + }; +} diff --git a/pkgs/development/python-modules/python-openstackclient/default.nix b/pkgs/development/python-modules/python-openstackclient/default.nix index 114b2aae444b7b7..f78874f9124b023 100644 --- a/pkgs/development/python-modules/python-openstackclient/default.nix +++ b/pkgs/development/python-modules/python-openstackclient/default.nix @@ -13,6 +13,7 @@ python-ironicclient, python-keystoneclient, python-manilaclient, + python-neutronclient, python-openstackclient, requests-mock, requests, @@ -73,6 +74,7 @@ buildPythonPackage rec { python-heatclient python-ironicclient python-manilaclient + python-neutronclient ]; }; tests.version = testers.testVersion { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4332f6d5adccde9..35111599e506bd5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9715,6 +9715,8 @@ self: super: with self; { orvibo = callPackage ../development/python-modules/orvibo { }; + os-client-config = callPackage ../development/python-modules/os-client-config { }; + os-service-types = callPackage ../development/python-modules/os-service-types { }; osc = callPackage ../development/python-modules/osc { }; @@ -9761,6 +9763,8 @@ self: super: with self; { ospd = callPackage ../development/python-modules/ospd { }; + osprofiler = callPackage ../development/python-modules/osprofiler { }; + osqp = callPackage ../development/python-modules/osqp { }; oss2 = callPackage ../development/python-modules/oss2 { }; @@ -10587,6 +10591,8 @@ self: super: with self; { python-motionmount = callPackage ../development/python-modules/python-motionmount { }; + python-octaviaclient = callPackage ../development/python-modules/python-octaviaclient { }; + python-otbr-api = callPackage ../development/python-modules/python-otbr-api { }; python-openems = callPackage ../development/python-modules/python-openems { }; @@ -13015,6 +13021,8 @@ self: super: with self; { python-mystrom = callPackage ../development/python-modules/python-mystrom { }; + python-neutronclient = callPackage ../development/python-modules/python-neutronclient { }; + python-nest = callPackage ../development/python-modules/python-nest { }; pythonnet = callPackage ../development/python-modules/pythonnet { };