1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 ddt,
6 iso8601,
7 keystoneauth1,
8 openssl,
9 oslo-i18n,
10 oslo-serialization,
11 pbr,
12 prettytable,
13 pythonOlder,
14 requests-mock,
15 stestr,
16 testscenarios,
17}:
18
19buildPythonPackage rec {
20 pname = "python-novaclient";
21 version = "18.6.0";
22 format = "setuptools";
23
24 disabled = pythonOlder "3.8";
25
26 src = fetchPypi {
27 inherit pname version;
28 hash = "sha256-VzwQqkILCJjTX7FG7di7AFgGv/8BMa4rWjDKIqyJR3s=";
29 };
30
31 propagatedBuildInputs = [
32 iso8601
33 keystoneauth1
34 oslo-i18n
35 oslo-serialization
36 pbr
37 prettytable
38 ];
39
40 nativeCheckInputs = [
41 ddt
42 openssl
43 requests-mock
44 stestr
45 testscenarios
46 ];
47
48 checkPhase = ''
49 stestr run -e <(echo "
50 novaclient.tests.unit.test_shell.ParserTest.test_ambiguous_option
51 novaclient.tests.unit.test_shell.ParserTest.test_not_really_ambiguous_option
52 novaclient.tests.unit.test_shell.ShellTest.test_osprofiler
53 novaclient.tests.unit.test_shell.ShellTestKeystoneV3.test_osprofiler
54 ")
55 '';
56
57 pythonImportsCheck = [ "novaclient" ];
58
59 meta = with lib; {
60 description = "Client library for OpenStack Compute API";
61 mainProgram = "nova";
62 homepage = "https://github.com/openstack/python-novaclient";
63 license = licenses.asl20;
64 maintainers = teams.openstack.members;
65 };
66}