Merge pull request #137838 from superherointj/openstack-manila-tempest-init

OpenStack: init several clients
This commit is contained in:
Sandro 2021-09-21 20:53:01 +02:00 committed by GitHub
commit 2b42e30265
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 467 additions and 41 deletions

View File

@ -24,11 +24,11 @@
buildPythonPackage rec {
pname = "keystoneauth1";
version = "4.3.1";
version = "4.4.0";
src = fetchPypi {
inherit pname version;
sha256 = "93605430a6d1424f31659bc5685e9dc1be9a6254e88c99f00cffc0a60c648a64";
sha256 = "34662a6be67ab29424aabe6f99a8d7eb6b88d293109a07e60fea123ebffb314f";
};
postPatch = ''

View File

@ -1,26 +1,20 @@
{ lib
, buildPythonPackage
, callPackage
, fetchPypi
, appdirs
, cryptography
, ddt
, dogpile_cache
, hacking
, jmespath
, jsonpatch
, jsonschema
, keystoneauth1
, munch
, netifaces
, os-service-types
, oslo-config
, oslotest
, pbr
, prometheus-client
, requests-mock
, pyyaml
, requestsexceptions
, stestr
, testscenarios
, stdenv
}:
buildPythonPackage rec {
@ -44,35 +38,15 @@ buildPythonPackage rec {
os-service-types
pbr
requestsexceptions
pyyaml
];
checkInputs = [
ddt
hacking
jsonschema
oslo-config
oslotest
prometheus-client
requests-mock
stestr
testscenarios
];
# Checks moved to 'passthru.tests' to workaround slowness
doCheck = false;
checkPhase = ''
stestr run -e <(echo "
openstack.tests.unit.cloud.test_image.TestImage.test_create_image_task
openstack.tests.unit.image.v2.test_proxy.TestImageProxy.test_wait_for_task_error_396
openstack.tests.unit.image.v2.test_proxy.TestImageProxy.test_wait_for_task_wait
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_with_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_no_detail
")
'';
passthru.tests = {
tests = callPackage ./tests.nix { };
};
pythonImportsCheck = [ "openstack" ];

View File

@ -0,0 +1,65 @@
{ buildPythonPackage
, ddt
, hacking
, jsonschema
, lib
, openstacksdk
, oslo-config
, oslotest
, prometheus-client
, requests-mock
, stdenv
, stestr
, testscenarios
}:
buildPythonPackage rec {
pname = "openstacksdk-tests";
inherit (openstacksdk) version;
src = openstacksdk.src;
dontBuild = true;
dontInstall = true;
checkInputs = [
ddt
hacking
jsonschema
openstacksdk
oslo-config
oslotest
prometheus-client
requests-mock
stestr
testscenarios
];
checkPhase =
let aarch64TestsExcluded = lib.optionalString stdenv.hostPlatform.isAarch64 ''
openstack.tests.unit.cloud.test_baremetal_node.TestBaremetalNode.test_node_set_provision_state_with_retries
openstack.tests.unit.cloud.test_role_assignment.TestRoleAssignment.test_grant_role_user_domain_exists
openstack.tests.unit.cloud.test_volume_backups.TestVolumeBackups.test_delete_volume_backup_force
openstack.tests.unit.object_store.v1.test_proxy.TestTempURLBytesPathAndKey.test_set_account_temp_url_key_second
openstack.tests.unit.cloud.test_security_groups.TestSecurityGroups.test_delete_security_group_neutron_not_found
''; in
''
stestr run -e <(echo "${aarch64TestsExcluded}
openstack.tests.unit.cloud.test_baremetal_node.TestBaremetalNode.test_wait_for_baremetal_node_lock_locked
openstack.tests.unit.cloud.test_baremetal_node.TestBaremetalNode.test_inspect_machine_inspect_failed
openstack.tests.unit.cloud.test_baremetal_node.TestBaremetalNode.test_inspect_machine_available_wait
openstack.tests.unit.cloud.test_baremetal_node.TestBaremetalNode.test_inspect_machine_wait
openstack.tests.unit.cloud.test_image.TestImage.test_create_image_task
openstack.tests.unit.image.v2.test_proxy.TestImageProxy.test_wait_for_task_error_396
openstack.tests.unit.image.v2.test_proxy.TestImageProxy.test_wait_for_task_wait
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_with_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_no_detail
")
'';
}

View File

@ -13,11 +13,11 @@
buildPythonPackage rec {
pname = "osc-lib";
version = "2.4.1";
version = "2.4.2";
src = fetchPypi {
inherit pname version;
sha256 = "1ianpk32vwdllpbk4zhfifqb5b064cbmia2hm02lcrh2m76z0zi5";
sha256 = "d6b530e3e50646840a6a5ef134e00f285cc4a04232c163f28585226ed40cc968";
};
nativeBuildInputs = [

View File

@ -0,0 +1,65 @@
{ lib
, buildPythonApplication
, fetchPypi
, coreutils
, pbr
, prettytable
, keystoneauth1
, requests
, warlock
, oslo-utils
, oslo-i18n
, wrapt
, pyopenssl
, stestr
, testscenarios
, ddt
, requests-mock
}:
buildPythonApplication rec {
pname = "python-glanceclient";
version = "3.5.0";
src = fetchPypi {
inherit pname version;
sha256 = "417b9d814b43e62df4351f26a0d5569b801e9f99f7758bd8c82ef994c3629356";
};
postPatch = ''
substituteInPlace glanceclient/tests/unit/v1/test_shell.py \
--replace "/bin/echo" "${coreutils}/bin/echo"
'';
propagatedBuildInputs = [
pbr
prettytable
keystoneauth1
requests
warlock
oslo-utils
oslo-i18n
wrapt
pyopenssl
];
checkInputs = [
stestr
testscenarios
ddt
requests-mock
];
checkPhase = ''
stestr run
'';
pythonImportsCheck = [ "glanceclient" ];
meta = with lib; {
description = "Python bindings for the OpenStack Images API";
homepage = "https://github.com/openstack/python-glanceclient/";
license = licenses.asl20;
maintainers = teams.openstack.members;
};
}

View File

@ -0,0 +1,69 @@
{ lib
, buildPythonApplication
, fetchPypi
, pbr
, Babel
, cliff
, iso8601
, osc-lib
, prettytable
, oslo-i18n
, oslo-serialization
, oslo-utils
, keystoneauth1
, python-swiftclient
, pyyaml
, requests
, six
, stestr
, testscenarios
, requests-mock
}:
buildPythonApplication rec {
pname = "python-heatclient";
version = "2.4.0";
src = fetchPypi {
inherit pname version;
sha256 = "b53529eb73f08c384181a580efaa42293cc35e0e1ecc4b0bc14a5c7b202019bb";
};
propagatedBuildInputs = [
pbr
Babel
cliff
iso8601
osc-lib
prettytable
oslo-i18n
oslo-serialization
oslo-utils
keystoneauth1
python-swiftclient
pyyaml
requests
six
];
checkInputs = [
stestr
testscenarios
requests-mock
];
checkPhase = ''
stestr run -e <(echo "
heatclient.tests.unit.test_common_http.HttpClientTest.test_get_system_ca_file
")
'';
pythonImportsCheck = [ "heatclient" ];
meta = with lib; {
description = "A client library for Heat built on the Heat orchestration API";
homepage = "https://github.com/openstack/python-heatclient";
license = licenses.asl20;
maintainers = teams.openstack.members;
};
}

View File

@ -0,0 +1,63 @@
{ lib
, buildPythonApplication
, fetchPypi
, pbr
, appdirs
, cliff
, dogpile_cache
, jsonschema
, keystoneauth1
, openstacksdk
, osc-lib
, oslo-utils
, pyyaml
, requests
, stevedore
, stestr
, requests-mock
, oslotest
}:
buildPythonApplication rec {
pname = "python-ironicclient";
version = "4.8.0";
src = fetchPypi {
inherit pname version;
sha256 = "b55516a72b995f92fb434619cbc1e2effa604c7fcaa6ac4afb8f5af1ea8193a4";
};
propagatedBuildInputs = [
pbr
appdirs
cliff
dogpile_cache
jsonschema
keystoneauth1
openstacksdk
osc-lib
oslo-utils
pyyaml
requests
stevedore
];
checkInputs = [
stestr
requests-mock
oslotest
];
checkPhase = ''
stestr run
'';
pythonImportsCheck = [ "ironicclient" ];
meta = with lib; {
description = "A client for OpenStack bare metal provisioning API, includes a Python module (ironicclient) and CLI (baremetal).";
homepage = "https://github.com/openstack/python-ironicclient";
license = licenses.asl20;
maintainers = teams.openstack.members;
};
}

View File

@ -14,11 +14,11 @@
buildPythonPackage rec {
pname = "python-keystoneclient";
version = "4.2.0";
version = "4.3.0";
src = fetchPypi {
inherit pname version;
sha256 = "12jsiw82x2zcn8sf78xisf85kr28gl3jqj46a0wxx59v91p44j02";
sha256 = "fd09b7790ce53c20dc94318ec4d76e1cf71908aed59baeb4c7a61c17afd3aad5";
};
propagatedBuildInputs = [

View File

@ -0,0 +1,58 @@
{ lib
, buildPythonApplication
, fetchPypi
, pbr
, oslo-config
, oslo-log
, oslo-serialization
, oslo-utils
, prettytable
, requests
, simplejson
, Babel
, osc-lib
, python-keystoneclient
, debtcollector
, callPackage
}:
buildPythonApplication rec {
pname = "python-manilaclient";
version = "3.0.0";
src = fetchPypi {
inherit pname version;
sha256 = "2d90af35c5beccc53fa6b0f5a3c4b330a065e86924c33c42b017f18943ab2b05";
};
propagatedBuildInputs = [
pbr
oslo-config
oslo-log
oslo-serialization
oslo-utils
prettytable
requests
simplejson
Babel
osc-lib
python-keystoneclient
debtcollector
];
# Checks moved to 'passthru.tests' to workaround infinite recursion
doCheck = false;
passthru.tests = {
tests = callPackage ./tests.nix { };
};
pythonImportsCheck = [ "manilaclient" ];
meta = with lib; {
description = "Client library for OpenStack Manila API";
homepage = "https://github.com/openstack/python-manilaclient";
license = licenses.asl20;
maintainers = teams.openstack.members;
};
}

View File

@ -0,0 +1,31 @@
{ buildPythonPackage
, python-manilaclient
, stestr
, ddt
, tempest
, mock
, python-openstackclient
}:
buildPythonPackage rec {
pname = "python-manilaclient-tests";
inherit (python-manilaclient) version;
src = python-manilaclient.src;
dontBuild = true;
dontInstall = true;
checkInputs = [
python-manilaclient
stestr
ddt
tempest
mock
python-openstackclient
];
checkPhase = ''
stestr run
'';
}

View File

@ -29,6 +29,8 @@ buildPythonApplication rec {
stestr run
'';
pythonImportsCheck = [ "swiftclient" ];
meta = with lib; {
homepage = "https://github.com/openstack/python-swiftclient";
description = "Python bindings to the OpenStack Object Storage API";

View File

@ -0,0 +1,89 @@
{ lib
, buildPythonApplication
, fetchPypi
, pbr
, cliff
, jsonschema
, testtools
, paramiko
, netaddr
, oslo-concurrency
, oslo-config
, oslo-log
, stestr
, oslo-serialization
, oslo-utils
, fixtures
, pyyaml
, subunit
, stevedore
, prettytable
, urllib3
, debtcollector
, unittest2
, hacking
, oslotest
, bash
, python3
}:
buildPythonApplication rec {
pname = "tempest";
version = "28.0.0";
src = fetchPypi {
inherit pname version;
sha256 = "24fcc0baa2044454b17b6b4aa2b1b19682cf95eb92ca38a2f289d3cbc488b170";
};
propagatedBuildInputs = [
pbr
cliff
jsonschema
testtools
paramiko
netaddr
oslo-concurrency
oslo-config
oslo-log
stestr
oslo-serialization
oslo-utils
fixtures
pyyaml
subunit
stevedore
prettytable
urllib3
debtcollector
unittest2
];
checkInputs = [
stestr
hacking
oslotest
];
checkPhase = ''
# Tests expect these applications available as such.
mkdir -p bin
export PATH="$PWD/bin:$PATH"
printf '#!${bash}/bin/bash\nexec ${python3.interpreter} -m tempest.cmd.main "$@"\n' > bin/tempest
printf '#!${bash}/bin/bash\nexec ${python3.interpreter} -m tempest.cmd.subunit_describe_calls "$@"\n' > bin/subunit-describe-calls
chmod +x bin/*
stestr --test-path tempest/tests run -e <(echo "
tempest.tests.lib.cli.test_execute.TestExecute.test_execute_with_prefix
")
'';
pythonImportsCheck = [ "tempest" ];
meta = with lib; {
description = "An OpenStack integration test suite that runs against live OpenStack cluster and validates an OpenStack deployment";
homepage = "https://github.com/openstack/tempest";
license = licenses.asl20;
maintainers = teams.openstack.members;
};
}

View File

@ -5562,8 +5562,14 @@ in {
python-ecobee-api = callPackage ../development/python-modules/python-ecobee-api { };
python-glanceclient = callPackage ../development/python-modules/python-glanceclient { };
python-heatclient = callPackage ../development/python-modules/python-heatclient { };
python-ipmi = callPackage ../development/python-modules/python-ipmi { };
python-ironicclient = callPackage ../development/python-modules/python-ironicclient { };
python-izone = callPackage ../development/python-modules/python-izone { };
python-juicenet = callPackage ../development/python-modules/python-juicenet { };
@ -7276,6 +7282,8 @@ in {
python_magic = callPackage ../development/python-modules/python-magic { };
python-manilaclient = callPackage ../development/python-modules/python-manilaclient { };
python-mapnik = let
boost = pkgs.boost.override {
enablePython = true;
@ -8766,6 +8774,8 @@ in {
telfhash = callPackage ../development/python-modules/telfhash { };
tempest = callPackage ../development/python-modules/tempest { };
tempita = callPackage ../development/python-modules/tempita { };
tempora = callPackage ../development/python-modules/tempora { };